Tree-based sectioning, structured content editor, and section thumbnails #619
Annotations
16 errors and 5 warnings
|
i18n
Process completed with exit code 1.
|
|
i18n:
apps/studio/src/components/pipeline/stages/storyboard/components/SectioningOverview.tsx#L1328
String not marked for translation. Wrap it with t``, <Trans>, or msg``
|
|
i18n:
apps/studio/src/components/pipeline/stages/storyboard/components/SectioningOverview.tsx#L1276
String not marked for translation. Wrap it with t``, <Trans>, or msg``
|
|
i18n:
apps/studio/src/components/pipeline/stages/storyboard/components/SectioningOverview.tsx#L1245
String not marked for translation. Wrap it with t``, <Trans>, or msg``
|
|
i18n:
apps/studio/src/components/pipeline/stages/storyboard/components/SectioningOverview.tsx#L125
String not marked for translation. Wrap it with t``, <Trans>, or msg``
|
|
i18n:
apps/studio/src/components/pipeline/stages/storyboard/components/SectioningOverview.tsx#L125
String not marked for translation. Wrap it with t``, <Trans>, or msg``
|
|
apps/api/src/services/export-service.test.ts > exportWebpub > falls back to label when metadata has no title:
packages/pipeline/src/config.ts#L44
YAMLException: bad indentation of a mapping entry (20:211)
17 | ...
18 | ...
19 | ...
20 | ... le. Wraps the option's content: a `text` leaf for text-only o ...
-----------------------------------------^
21 | ...
22 | ...
❯ generateError node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:1289:10
❯ throwError node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:1293:9
❯ readBlockMapping node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2278:7
❯ composeNode node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2537:12
❯ readBlockMapping node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2260:11
❯ composeNode node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2537:12
❯ readDocument node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2721:3
❯ loadDocuments node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2784:5
❯ Object.load$1 [as load] node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2810:19
❯ loadConfig packages/pipeline/src/config.ts:44:20
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { reason: 'bad indentation of a mapping entry', mark: { name: null, buffer: 'text_types:\n heading: A chapter, section, or subsection heading that introduces content; not metadata, labels, or merely bold text\n text: General narrative, descriptive, or explanatory text\n math: Mathematical expressions (use LaTeX notation)\n activity_number: A letter or number labeling a single activity or question (e.g., A, B, 1, 2) \n activity_instruction: Directions or prompts for activities and exercises\n activity_question: A specific question to be answered within an activity or exercise\n activity_fill_in_the_blank: Text with blanks to be filled in — use ___ for each blank\n caption: Descriptive text accompanying an image, such as a caption or credit line\n label: A short identifier for an image or figure, such as "Figure 3.1" or "Image A"\n book_metadata: Book or publication metadata such as publisher, copyright, ISBN, edition, or author credits\n page_number: Page numbers\n header: Running page headers\n footer: Running page footers\n quote: Quoted or cited text\n\ncontainer_types:\n image_group: An image group — contains an image leaf child and optional captions, labels, or text associated with the image.\n activity: A single question, exercise, or activity\n activity_option: A single selectable choice in a multiple-choice or matching activity. ALWAYS use this container for each option — even text-only ones — so options are identifiable. Wraps the option\'s content: a `text` leaf for text-only options, an `image_group` for image-only options, or a `text` leaf and an `image_group` together for mixed options. Never use `activity_option` as a `role` on a leaf.\n group: A generic content grouping when no more specific container fits\n list: An ordered or unordered list\n list_item: A single item within a list\n panel: A visually boxed, bordered, or shaded section of content\n sidebar: A sidebar, callout, or aside set apart from the main content flow\n table: A data table or grid with rows and columns — not just any boxed text\n table_row: A single row within a table\n table_cell: A single cell within a table row\n preformatted: Content where line breaks are significant, such as poetry, verse, addresses, or lyrics\n\nsection_types:\n front_cover: >\n The very first page of the book showing the title, author, and cover artwork.\n Only the first page qualifies — interior title pages do not.\n inside_cover: >\n A page immediately after the front cover or before the back cover,\n typically containing publisher info, ISBN, copyright, or edition details.\n back_cover: >\n The very last page of the book, often with a summary, barcode, or publisher logo.\n Only the final page qualifies.\n separator: >\n A divider p
|
|
apps/api/src/services/export-service.test.ts > exportWebpub > returns safeFilename for non-ASCII titles:
packages/pipeline/src/config.ts#L44
YAMLException: bad indentation of a mapping entry (20:211)
17 | ...
18 | ...
19 | ...
20 | ... le. Wraps the option's content: a `text` leaf for text-only o ...
-----------------------------------------^
21 | ...
22 | ...
❯ generateError node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:1289:10
❯ throwError node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:1293:9
❯ readBlockMapping node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2278:7
❯ composeNode node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2537:12
❯ readBlockMapping node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2260:11
❯ composeNode node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2537:12
❯ readDocument node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2721:3
❯ loadDocuments node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2784:5
❯ Object.load$1 [as load] node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2810:19
❯ loadConfig packages/pipeline/src/config.ts:44:20
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { reason: 'bad indentation of a mapping entry', mark: { name: null, buffer: 'text_types:\n heading: A chapter, section, or subsection heading that introduces content; not metadata, labels, or merely bold text\n text: General narrative, descriptive, or explanatory text\n math: Mathematical expressions (use LaTeX notation)\n activity_number: A letter or number labeling a single activity or question (e.g., A, B, 1, 2) \n activity_instruction: Directions or prompts for activities and exercises\n activity_question: A specific question to be answered within an activity or exercise\n activity_fill_in_the_blank: Text with blanks to be filled in — use ___ for each blank\n caption: Descriptive text accompanying an image, such as a caption or credit line\n label: A short identifier for an image or figure, such as "Figure 3.1" or "Image A"\n book_metadata: Book or publication metadata such as publisher, copyright, ISBN, edition, or author credits\n page_number: Page numbers\n header: Running page headers\n footer: Running page footers\n quote: Quoted or cited text\n\ncontainer_types:\n image_group: An image group — contains an image leaf child and optional captions, labels, or text associated with the image.\n activity: A single question, exercise, or activity\n activity_option: A single selectable choice in a multiple-choice or matching activity. ALWAYS use this container for each option — even text-only ones — so options are identifiable. Wraps the option\'s content: a `text` leaf for text-only options, an `image_group` for image-only options, or a `text` leaf and an `image_group` together for mixed options. Never use `activity_option` as a `role` on a leaf.\n group: A generic content grouping when no more specific container fits\n list: An ordered or unordered list\n list_item: A single item within a list\n panel: A visually boxed, bordered, or shaded section of content\n sidebar: A sidebar, callout, or aside set apart from the main content flow\n table: A data table or grid with rows and columns — not just any boxed text\n table_row: A single row within a table\n table_cell: A single cell within a table row\n preformatted: Content where line breaks are significant, such as poetry, verse, addresses, or lyrics\n\nsection_types:\n front_cover: >\n The very first page of the book showing the title, author, and cover artwork.\n Only the first page qualifies — interior title pages do not.\n inside_cover: >\n A page immediately after the front cover or before the back cover,\n typically containing publisher info, ISBN, copyright, or edition details.\n back_cover: >\n The very last page of the book, often with a summary, barcode, or publisher logo.\n Only the final page qualifies.\n separator: >\n A divider p
|
|
apps/api/src/services/export-service.test.ts > exportWebpub > produces a valid ZIP of the webpub directory:
packages/pipeline/src/config.ts#L44
YAMLException: bad indentation of a mapping entry (20:211)
17 | ...
18 | ...
19 | ...
20 | ... le. Wraps the option's content: a `text` leaf for text-only o ...
-----------------------------------------^
21 | ...
22 | ...
❯ generateError node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:1289:10
❯ throwError node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:1293:9
❯ readBlockMapping node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2278:7
❯ composeNode node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2537:12
❯ readBlockMapping node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2260:11
❯ composeNode node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2537:12
❯ readDocument node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2721:3
❯ loadDocuments node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2784:5
❯ Object.load$1 [as load] node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs:2810:19
❯ loadConfig packages/pipeline/src/config.ts:44:20
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { reason: 'bad indentation of a mapping entry', mark: { name: null, buffer: 'text_types:\n heading: A chapter, section, or subsection heading that introduces content; not metadata, labels, or merely bold text\n text: General narrative, descriptive, or explanatory text\n math: Mathematical expressions (use LaTeX notation)\n activity_number: A letter or number labeling a single activity or question (e.g., A, B, 1, 2) \n activity_instruction: Directions or prompts for activities and exercises\n activity_question: A specific question to be answered within an activity or exercise\n activity_fill_in_the_blank: Text with blanks to be filled in — use ___ for each blank\n caption: Descriptive text accompanying an image, such as a caption or credit line\n label: A short identifier for an image or figure, such as "Figure 3.1" or "Image A"\n book_metadata: Book or publication metadata such as publisher, copyright, ISBN, edition, or author credits\n page_number: Page numbers\n header: Running page headers\n footer: Running page footers\n quote: Quoted or cited text\n\ncontainer_types:\n image_group: An image group — contains an image leaf child and optional captions, labels, or text associated with the image.\n activity: A single question, exercise, or activity\n activity_option: A single selectable choice in a multiple-choice or matching activity. ALWAYS use this container for each option — even text-only ones — so options are identifiable. Wraps the option\'s content: a `text` leaf for text-only options, an `image_group` for image-only options, or a `text` leaf and an `image_group` together for mixed options. Never use `activity_option` as a `role` on a leaf.\n group: A generic content grouping when no more specific container fits\n list: An ordered or unordered list\n list_item: A single item within a list\n panel: A visually boxed, bordered, or shaded section of content\n sidebar: A sidebar, callout, or aside set apart from the main content flow\n table: A data table or grid with rows and columns — not just any boxed text\n table_row: A single row within a table\n table_cell: A single cell within a table row\n preformatted: Content where line breaks are significant, such as poetry, verse, addresses, or lyrics\n\nsection_types:\n front_cover: >\n The very first page of the book showing the title, author, and cover artwork.\n Only the first page qualifies — interior title pages do not.\n inside_cover: >\n A page immediately after the front cover or before the back cover,\n typically containing publisher info, ISBN, copyright, or edition details.\n back_cover: >\n The very last page of the book, often with a summary, barcode, or publisher logo.\n Only the final page qualifies.\n separator: >\n A divider p
|
|
apps/api/src/routes/package.test.ts > Package routes > POST /api/books/:label/package-adt > stores accessibility assessment output after packaging:
apps/api/src/routes/package.test.ts#L119
AssertionError: expected 500 to be 200 // Object.is equality
- Expected
+ Received
- 200
+ 500
❯ apps/api/src/routes/package.test.ts:119:26
|
|
apps/api/src/routes/books.test.ts > GET /books/:label/export-webpub > uses safe label filename for non-ASCII titles:
apps/api/src/routes/books.test.ts#L934
AssertionError: expected 400 to be 200 // Object.is equality
- Expected
+ Received
- 200
+ 400
❯ apps/api/src/routes/books.test.ts:934:24
|
|
apps/api/src/routes/books.test.ts > GET /books/:label/export-webpub > returns ZIP with RFC 5987 Content-Disposition for ASCII titles:
apps/api/src/routes/books.test.ts#L918
AssertionError: expected 400 to be 200 // Object.is equality
- Expected
+ Received
- 200
+ 400
❯ apps/api/src/routes/books.test.ts:918:28
|
|
apps/api/src/routes/adt-preview.test.ts > ADT preview routes > preserves preview image-alt cleanup while converting latex to mathml:
apps/api/src/routes/adt-preview.test.ts#L181
AssertionError: expected 500 to be 200 // Object.is equality
- Expected
+ Received
- 200
+ 500
❯ apps/api/src/routes/adt-preview.test.ts:181:24
|
|
apps/api/src/routes/adt-preview.test.ts > ADT preview routes > applies shared section-role cleanup and image alt fallbacks in preview output:
apps/api/src/routes/adt-preview.test.ts#L148
AssertionError: expected 500 to be 200 // Object.is equality
- Expected
+ Received
- 200
+ 500
❯ apps/api/src/routes/adt-preview.test.ts:148:24
|
|
apps/api/src/routes/adt-preview.test.ts > ADT preview routes > returns 404 for unknown section ids on an existing page:
apps/api/src/routes/adt-preview.test.ts#L140
AssertionError: expected 500 to be 404 // Object.is equality
- Expected
+ Received
- 404
+ 500
❯ apps/api/src/routes/adt-preview.test.ts:140:24
|
|
apps/api/src/routes/adt-preview.test.ts > ADT preview routes > renders the requested section id instead of falling back to the first section:
apps/api/src/routes/adt-preview.test.ts#L130
AssertionError: expected 500 to be 200 // Object.is equality
- Expected
+ Received
- 200
+ 500
❯ apps/api/src/routes/adt-preview.test.ts:130:24
|
|
i18n
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
i18n:
apps/studio/src/locales/pt-BR.po#L0
pt-BR has 60 stale key(s) no longer in source (en) — run 'pnpm --filter @adt/studio extract' to clean up
|
|
i18n:
apps/studio/src/locales/es.po#L0
es has 60 stale key(s) no longer in source (en) — run 'pnpm --filter @adt/studio extract' to clean up
|
|
test
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
docker
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|