Expose tracked insertion and field safety facts - #64
Conversation
mantissaman
left a comment
There was a problem hiding this comment.
Requesting changes for a confirmed revision regression.\n\n- : insertion parsing now stores an empty list and clones only direct paragraph runs into . Existing consumers of therefore lose nested deletion and insertion wrappers. CI confirms this in , where "D" disappears, and , where "nested" becomes empty. Preserve the nested revision projection used by existing layout consumers while adding the paragraph view.\n\nTest and MSRV both fail on this regression. This PR is also a draft, is based on the S60 main SHA, and has not gone through the F-ID sprint integration workflow.
Superseded immediately because shell quoting stripped technical identifiers from the body.
mantissaman
left a comment
There was a problem hiding this comment.
Requesting changes for a confirmed revision regression.
- crates/rdocx-oxml/src/revision.rs:119: insertion parsing now stores an empty "nested_revisions" list and clones only direct paragraph runs into "RevisionContent". Existing consumers of "RevisionContent" therefore lose nested deletion and insertion wrappers. CI confirms this in "revision_views_project_wrapped_runs_in_document_order", where "D" disappears, and "nested_only_revision_wrappers_project_their_visible_runs", where "nested" becomes empty. Preserve the nested revision projection used by existing layout consumers while adding the paragraph view.
Test and MSRV both fail on this regression. This PR is also a draft, is based on the S60 main SHA, and has not gone through the F-ID sprint integration workflow.
6d4845a to
e244cb9
Compare
|
Addressed the review feedback in commit e244cb9: nested insertion revisions are preserved instead of being flattened or dropped, with regression coverage for nested tracked insertions. The branch is ready for maintainer F-ID integration. Test, MSRV, Clippy, formatting, bindings, WASM, Word fidelity, and release-regression checks pass. Package oxml-layout remains red only because of the current-main font-inventory workflow mismatch. |
mantissaman
left a comment
There was a problem hiding this comment.
Re-review complete. The original parse-content projection and nested-revision facts are restored, the regression covers direct and nested revision content, and the substantive CI gate passes. The remaining oxml-layout package-inventory failure is inherited unchanged from main and unrelated to this diff. Ready for maintainer integration.
|
Thank you, @pedroassumpcao. We reviewed the updated 5cb5cba head and adopted the tracked insertion, nested revision, and field safety facts through F-X071. The contribution was integrated with the sprint's bounded revision-depth and namespace-preservation hardening, then passed the complete workspace gate. The result landed on main in merge commit 56bcdc1 and tag s62, with contributor credit recorded in the delivery ledger. We are closing this PR as integrated through the maintainer sprint workflow rather than merging its branch directly. |
|
Thank you @pedroassumpcao. v0.12.0 includes bounded nested-revision projection, preserved insertion facts, and ordered field-display safety from this proposal through a reviewed hardened equivalent. |
Summary
RevisionRefwithout restoring a compatibility facadeReview follow-up
mainValidation
cargo test -p rdocx-oxml --librdocxinsertion and field reader testscargo clippy -p rdocx-oxml -p rdocx-layout -p rdocx --all-targets -- -D warningscargo fmt --all -- --checkpython3 scripts/hash_harness.py --checkThe local unfiltered
rdocxrun only reaches the existing environment-dependentword_and_powerpoint_chart_pixels_are_identicalrasterizer oracle assertion. The failure does not exercise these reader changes.