Repository navigation
fix(pptx): preserve schema order in snapshot merges - #245
Merged
ChristopherVR merged 1 commit intoNov 4, 2026
Merged
ChristopherVR merged 1 commit into
ChristopherVR merged 1 commit into
Conversation
Use the existing DrawingML child sequences when combining independent property edits. Return unresolved for mutually exclusive choices and unkeyed insertions whose order cannot be established safely. Cover fill and outline edits, line dash, namespace prefixes and reverse merges with XSD checks, preserving convergent keyed collection inserts.
commit: |
Contributor
Bundle size9 of 67 entry points changed size against main (5b031d7):
All entry points
Each entry point with the files it imports statically, gzipped, before minification. Measured by |
ChristopherVR
added a commit
that referenced
this pull request
Nov 4, 2026
Core properties are an xsd:all set of singletons, so key each child by its name. After the shared merger started declining ambiguous unkeyed insertions (#245), two peers adding different properties such as a title and a subject came back unresolved; they now merge again, while two different values for the same property stay unresolved. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this change?
Fixes #243.
Use the existing DrawingML child sequences when merging concurrent shape-property edits. A fill and outline added by different peers now survive in valid schema order in either merge direction. Mutually exclusive choices remain unresolved; the shared XML merger also declines ambiguous unkeyed insertions while retaining deterministic keyed collection merges.
Type of change
Area
pptx / xml. The ordering hook stays in the shared XML merger; PowerPoint supplies its format-specific sequences by reusing the existing property-order constants.
Testing
bun run verify --base 5b031d7c377b3d0679558b59b799304c467c8425 --jobs 2: all 38 planned local steps passed, including lint, changed-file formatting, typechecks, affected core/UI tests and viewer checks/buildsThe default local verifier skips browser suites and package smoke checks. Scoped fork CI is running those additional planned checks on
1fb4c590bb0e284f3a1b1a080524260ff5bfeec1.Reproduction case
Input decks, before/after outputs, XML, verification report and runnable script. No screenshots or generated output files are committed; the tests reuse the existing PPTX fixture.
Conventional Commits