Skip to content

Merge main into stable - #3867

Merged
chittolinag merged 6 commits into
stablefrom
merge/main-into-stable-2026-08-04
Aug 4, 2026
Merged

Merge main into stable#3867
chittolinag merged 6 commits into
stablefrom
merge/main-into-stable-2026-08-04

Conversation

@superdoc-orbit

@superdoc-orbit superdoc-orbit Bot commented Aug 4, 2026

Copy link
Copy Markdown

Summary

  • creates merge/main-into-stable-2026-08-04 from stable
  • merges main into the candidate branch
  • opens the promotion PR to stable

Auto-created by promote-stable workflow.

Review in cubic

tupizz and others added 6 commits August 3, 2026 12:39
Ported-From-Source-Repo: superdoc/orbit
Ported-From-Source-Commit: 44594f13e0adcda5eb108b0c3e68dd885be8d9ee
Ported-Public-Prefix: superdoc/public
* fix: release stable/legacy on react/sdk/cli

* fix: sdk guard test

---------

Co-authored-by: Gabriel Chittolina <gabrielchittolina1@gmail.com>

Ported-From-Source-Repo: superdoc/orbit
Ported-From-Source-Commit: 818165d35f26423f82fd0e62adf5ab39699605a7
Ported-Public-Prefix: superdoc/public
…t/export (#1253)

Co-authored-by: Artem Nistuley <artem@superdoc.dev>

Ported-From-Source-Repo: superdoc/orbit
Ported-From-Source-Commit: c9c5a957cdd903aabe7d3bb166e192f975a7913e
Ported-Public-Prefix: superdoc/public
…#1285)

Co-authored-by: Artem Nistuley <artem@superdoc.dev>

Ported-From-Source-Repo: superdoc/orbit
Ported-From-Source-Commit: a606b8376beefb3868acf3bfb96a5b86c6edc682
Ported-Public-Prefix: superdoc/public
… (#1305)

Ported-From-Source-Repo: superdoc/orbit
Ported-From-Source-Commit: 332361aac27d99ce2510f39156a3e3badfc7df96
Ported-Public-Prefix: superdoc/public
@superdoc-orbit
superdoc-orbit Bot requested a review from a team as a code owner August 4, 2026 23:04
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

The ecma-spec MCP tools are being denied by the permission layer in this environment (every call — ooxml_element, ooxml_attributes, ooxml_children, ooxml_search — returns "haven't granted it yet"), so I wasn't able to run live schema lookups. I'll be transparent about that and base the compliance review on ECMA-376 knowledge, focused on the OOXML-handler changes in the changed files.


Status: PASS

The OOXML that this PR actually reads and writes is spec-compliant, and in one place it fixes a latent violation. Walking the substantive handler changes:

  • w:delInstrText for deleted field instructions (preProcessNodesForFldChar.js, track-change-helpers.js, del-translator.js, crossReference-translator.js). Recognizing/emitting w:delInstrText for a field-instruction run inside <w:del> is correct — that's exactly the ECMA-376 element for a deleted field code, the deletion-equivalent of w:instrText (cited §17.16.13). Renaming w:instrText → w:delInstrText recursively while leaving w:fldChar untouched is right; field-char delimiters are valid inside a deleted run and must not be renamed. See https://ooxml.dev/spec?q=delInstrText

  • w:delText inside <w:del> (track-change-helpers.js renameTextElementsForDeletion). Renaming every w:t → w:delText (not just the first) is correct — deleted run content must use w:delText, and a stray w:t inside <w:del> would not be treated as deleted. https://ooxml.dev/spec?q=delText

  • Paragraph-mark deletion via w:pPr/w:rPr/w:del (legacy-handle-paragraph-node.js, generate-paragraph-properties.js, paragraph.js). A tracked deletion of the paragraph glyph belongs in the paragraph-mark run properties (CT_ParaRPr permits w:del), so reading/writing it there is the correct representation, and pairing it with the run-level <w:del> under one id matches Word. https://ooxml.dev/spec?q=del

  • w:id allocated as a decimal (resolve-export-word-id.js, generate-paragraph-properties.js). This is a genuine fix: w:id on CT_TrackChange/CT_Markup is ST_DecimalNumber, so routing the internal UUID through the allocator keeps it in schema. Writing the UUID straight in would have been the violation, and the comments call that out correctly. https://ooxml.dev/spec?q=CT_Markup

  • w:tc must keep a block-level child (translate-table-cell.js). Correct — CT_Tc requires at least one block-level element, so backfilling an empty <w:p> when every child drops out avoids emitting a w:tc with only w:tcPr, which Word would flag for repair. https://ooxml.dev/spec?q=tc

One thing worth flagging as an FYI (not a blocker): appendParagraphMarkDeletion writes w:authorEmail on the <w:del> element (conditionally), matching what the existing w:ins/w:del translators already do. w:authorEmail is not part of CT_TrackChange in ECMA-376 (only w:author, w:date, and the inherited w:id). It's a pre-existing SuperDoc convention this PR simply propagates for consistency rather than something this change introduces, and Word tolerates the unknown attribute — but if strict-schema validity ever matters, that attribute is non-standard across the whole track-changes export path, not just here.

Net: no spec violations introduced by this PR; the field/deletion handling is correct and the decimal-id and w:tc guards remove real hazards. I'd suggest re-running the ecma-spec tools once permissions are available to confirm the authorEmail point, since I couldn't verify it live.

@chittolinag
chittolinag merged commit 440cede into stable Aug 4, 2026
60 checks passed
@chittolinag
chittolinag deleted the merge/main-into-stable-2026-08-04 branch August 4, 2026 23:35
@superdoc-orbit

superdoc-orbit Bot commented Aug 4, 2026

Copy link
Copy Markdown
Author

🎉 This PR is included in superdoc-cli v0.23.0

The release is available on GitHub release

@superdoc-orbit

superdoc-orbit Bot commented Aug 4, 2026

Copy link
Copy Markdown
Author

🎉 This PR is included in superdoc-sdk v1.22.0

@superdoc-orbit

superdoc-orbit Bot commented Aug 5, 2026

Copy link
Copy Markdown
Author

🎉 This PR is included in @superdoc-dev/mcp v0.18.0

The release is available on GitHub release

@superdoc-orbit

superdoc-orbit Bot commented Aug 5, 2026

Copy link
Copy Markdown
Author

🎉 This PR is included in superdoc v1.46.0

The release is available on GitHub release

@superdoc-orbit

superdoc-orbit Bot commented Aug 5, 2026

Copy link
Copy Markdown
Author

🎉 This PR is included in @superdoc-dev/react v1.17.0

The release is available on GitHub release

@superdoc-orbit

superdoc-orbit Bot commented Aug 5, 2026

Copy link
Copy Markdown
Author

🎉 This PR is included in vscode-ext v2.18.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants