fix!: have insertion markers use json deserialization #7730
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.
The basics
The details
Resolves
Fixes #7316
Proposed Changes
Reverts #7430 #7429
Makes it so that insertion markers are created using JSON deserialization.
Reason for Changes
From #7364
Test Coverage
All tests pass.
Documentation
Additional Information
N/A
Breaking changes / To fix
Insertion-marker-ness is now set after any mutation is deserialized.
If you have a block whose behavior depeonds on whether it is an insertion marker or not, they should check
doFullSerialization
instead. Insertion markers passdoFullSerialization
as false. Ensure that if your block has a backing data model, insertion markers either properly create and destroy those models, or properly reference and do not destroy those models.You can see the shareable procedure blocks for an example of round-tripping whether
doFullSerialization
was enabled fromsaveExtraState
toloadExtraState
.