fix(collab): zeven Slide-velden reizen mee in de samenwerklaag (#1807) #1814
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!1814
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/collab-missing-fields-1807"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Samenvatting
Zeven velden van
Slidezaten helemáál niet in de samenwerklaag — niet inslideToJson, niet inslideFromJson, niet inSlideField:anchor·nextAnchor·ganttScale·ganttSections·menuLayout·tableColumnAlignments·tableNumberColumnsEen nieuwe dia arriveerde bij de ander met die velden op hun standaardwaarde, en een hersynchronisatie zette ze bij iedereen terug. De doc-comment van
slideToJsonbeloofde "Every field is carried so the receiver reproduces the slide exactly (P3)" — dat klopte niet.Wat er is gedaan
slideToJsonenslideFromJsonmet backward-compatibele defaults (oude records zonder deze keys decoderen naar de Slide-standaardwaarden).SlideFieldzodat ook bewerkingen syncen, niet alleen invoegen. Drie nieuwe_ValueKindentries (menuLayout,tableAlignList,boolList) ondersteunen de nieuwe veldtypes in de per-field codec.slideFieldValueincollab_deck_diff.dartuitgebreid met de zeven nieuwe cases (exhaustive switch → compile-fout zonder).unsyncedBaselinegekrompen van 18 naar 11 — de zeven velden zijn niet langer schuld maar volledig gedekt in zowelslideToJsonalsSlideField._slideWithField(162 regels) — exhaustive switch met één case per veld, onherleidbaar.Beslissing: alle zeven in
SlideFieldHet issue stelde voor om
anchor/nextAnchorin ieder geval inSlideFieldop te nemen. Alle zeven zijn echter geautoriseerde inhoud die de gebruiker bewerkt via de UI (slide settings panel, table editor, menu editor). Niet syncen van bewerkingen is dezelfde klasse bug als het oorspronkelijke probleem. Daarom zijn alle zeven inSlideFieldopgenomen, niet alleen de twee voor de hand liggende.Bewaker
Deze wijziging raakt het bestandsformaat niet (de velden zitten al in het
.mdvia de Markdown parser), de opslag niet, geen afhankelijkheden, geen uitgaand verkeer, en geen publieke belofte die niet al in de doc-comment vanslideToJsonstond. De bewaker-stap is expliciet overgeslagen.Test plan
make checkgroen: 10614 tests, 87.1% dekkingmake check-secretsschoon (gitleaks + trufflehog, 0 leaks)make sastschoon (semgrep, 0 findings)deck_op_test.dartdekt alle 60SlideFieldentries (completeness)check_collab_field_paritygroen: 76 velden, 60 gesynchroniseerd, 11 bekende schuldGenerated with Devin