Repository navigation
fix: keep an edition's own values in every row of a shared section - #173
Merged
Merged
Conversation
lero62
requested review from
ChiefCreator,
SearheiParkhamchuk and
dogfrogfog
as code owners
October 7, 2026 07:50
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
🎉 This PR is included in version 1.3.2 🎉 The release is available on npm package (@latest dist-tag) Your semantic-release bot 📦🚀 |
This branch was successfully deployed
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.
A section an edition follows from the library lost content on every read, so an edit made in the
admin came back as the library's own value the moment the document was saved and re-read. The value
written to the database was right; the read put the library's back over it, and the next save made
that permanent.
Two losses, both the same confusion between a template and a row of data:
shapeOfreads an array's shape off its first row,and
withShapehands that row back as the shape — correct in the builder, where row one is theedit the shape came from.
reconcilereused it to fit the library's shape over an edition'svalues, and there row one is an ordinary row: it was replaced by the template wholesale, together
with everything nested under it.
hiddenfield the shape does not have.dressedwalkedthe shape, so the marker was dropped and the row came back visible.
withShapekeeps its meaning and its caller, the builder's edit path. The fitting half is nowvalued+ adressedthat treats every row alike: the shape decides which fields exist and howthey are drawn, the value decides what they hold, and the hidden marker is read off the row being
dressed rather than off the one the shape came from.
reconcilegoes through it, which is also whyreshapeis three lines instead of twenty-five.Two things come along with it: a container swapped for another container in the library
(
group↔collapsible) no longer empties the editions, since the two hold the same thing; and inthe builder a shape edit now reaches the sibling rows' own settings, which
return hadused to keepstale.
Covered by hand against the shape that found this — a
collapsibleholding an array, and an arraynested inside a row of another array:
hiddenon the section itself is kept;addAt/editAtstill propagate a shape edit to rows two and up, values intact.check-typesis clean and the package is two lint warnings belowmain.Editions already overwritten do not come back — the edits were erased by the saves that followed,
and have to be entered again.