fix(collab): laatste tien SlideField-velden syncen + tabelgrens gedocumenteerd (#1808, #1809) #1821

Merged
brenno merged 1 commit from fix/collab-remaining-fields-1808-1809 into main 2026-08-27 20:28:27 +00:00
Owner

Samenvatting

Twee gerelateerde issues uit #1803 in één PR, omdat ze dezelfde oppervlakte raken.

#1808: Tien velden die wel invoegen maar niet bewerken syncen

Tien velden zaten wel in slideToJson maar niet in SlideField — een nieuwe dia kwam compleet aan, maar het wijzigen van zo'n veld op een bestaande dia bereikte de ander nooit. Alle tien toegevoegd aan SlideField, _slideWithField, slideFieldValue, en de per-field codec:

timelineLayout · timelineReveal · timelineAnimationMs · bulletMarkerOverride · improvementLayout · privacy · quality · findingRole · aiAssistedFields · viewLimit

timelineCurrentIndex is bewust niet gesynchroniseerd: presentatiestand, geen inhoud — net als renderPage. Verplaatst naar deliberatelyNotSynced mét reden.

De unsyncedBaseline is nu leeg: 76 velden, 70 gesynchroniseerd, 6 bewust niet, 0 bekende schuld.

#1809: Tabelgrens zichtbaar gemaakt

tableRows staat niet in SlideField — een bewuste v1-grens die alleen in de broncode stond. Nu drie dingen zichtbaar gemaakt:

  1. KNOWN_LIMITATIONS.md (EN+NL): nieuwe sectie over de tabelgrens.
  2. USER_GUIDE.md (EN+NL): paragraaf in de samenwerk-sectie.
  3. TableEditor: een amber waarschuwingsbanner zodra een tabelia open is in een actieve samenwerkingssessie. Fail-loud in plaats van fail-silent.

De waarschuwing is vertaald in alle 31 talen.

Test plan

  • make check groen: 10640 tests, 87.1% dekking
  • make check-secrets schoon (gitleaks + trufflehog, 0 leaks)
  • make sast schoon (semgrep, 0 findings)
  • check_collab_field_parity groen: 76 velden, 70 gesynchroniseerd, 6 bewust niet, 0 bekende schuld
  • deck_op_test.dart dekt alle 70 SlideField entries
  • collab_codec_test.dart round-trip voor alle nieuwe wire-kinds
  • table_editor_test.dart gewrapt met ProviderScope voor de nieuwe Consumer
  • l10n-tests groen: alle 31 talen hebben een vertaling, geen onvertaalde Engelse zinnen

Generated with Devin

## Samenvatting Twee gerelateerde issues uit #1803 in één PR, omdat ze dezelfde oppervlakte raken. ### #1808: Tien velden die wel invoegen maar niet bewerken syncen Tien velden zaten wel in `slideToJson` maar niet in `SlideField` — een nieuwe dia kwam compleet aan, maar het wijzigen van zo'n veld op een bestaande dia bereikte de ander nooit. Alle tien toegevoegd aan `SlideField`, `_slideWithField`, `slideFieldValue`, en de per-field codec: `timelineLayout` · `timelineReveal` · `timelineAnimationMs` · `bulletMarkerOverride` · `improvementLayout` · `privacy` · `quality` · `findingRole` · `aiAssistedFields` · `viewLimit` `timelineCurrentIndex` is bewust **niet** gesynchroniseerd: presentatiestand, geen inhoud — net als `renderPage`. Verplaatst naar `deliberatelyNotSynced` mét reden. **De `unsyncedBaseline` is nu leeg**: 76 velden, 70 gesynchroniseerd, 6 bewust niet, 0 bekende schuld. ### #1809: Tabelgrens zichtbaar gemaakt `tableRows` staat niet in `SlideField` — een bewuste v1-grens die alleen in de broncode stond. Nu drie dingen zichtbaar gemaakt: 1. **`KNOWN_LIMITATIONS.md`** (EN+NL): nieuwe sectie over de tabelgrens. 2. **`USER_GUIDE.md`** (EN+NL): paragraaf in de samenwerk-sectie. 3. **`TableEditor`**: een amber waarschuwingsbanner zodra een tabelia open is in een actieve samenwerkingssessie. Fail-loud in plaats van fail-silent. De waarschuwing is vertaald in alle 31 talen. #### Test plan - [x] `make check` groen: 10640 tests, 87.1% dekking - [x] `make check-secrets` schoon (gitleaks + trufflehog, 0 leaks) - [x] `make sast` schoon (semgrep, 0 findings) - [x] `check_collab_field_parity` groen: 76 velden, 70 gesynchroniseerd, 6 bewust niet, **0 bekende schuld** - [x] `deck_op_test.dart` dekt alle 70 `SlideField` entries - [x] `collab_codec_test.dart` round-trip voor alle nieuwe wire-kinds - [x] `table_editor_test.dart` gewrapt met `ProviderScope` voor de nieuwe `Consumer` - [x] l10n-tests groen: alle 31 talen hebben een vertaling, geen onvertaalde Engelse zinnen Generated with [Devin](https://devin.ai)
fix(collab): laatste tien SlideField-velden syncen + tabelgrens gedocumenteerd (#1808, #1809)
All checks were successful
scans / scans (pull_request) Successful in 2m2s
static-gate / static-gate (pull_request) Successful in 4m53s
45e3c453ee
#1808: Tien velden die wel in slideToJson zaten maar niet in SlideField —
een nieuwe dia kwam compleet aan, maar een bewerking op een bestaande dia
bereikte de ander nooit. Alle tien toegevoegd aan SlideField, _slideWithField,
slideFieldValue, en de per-field codec:

  timelineLayout, timelineReveal, timelineAnimationMs,
  bulletMarkerOverride, improvementLayout, privacy, quality,
  findingRole, aiAssistedFields, viewLimit

timelineCurrentIndex is bewust niet gesynchroniseerd: presentatiestand, geen
inhoud — net als renderPage. Verplaatst naar deliberatelyNotSynced mét reden.

De unsyncedBaseline is nu leeg: 76 velden, 70 gesynchroniseerd, 6 bewust
niet, 0 bekende schuld.

#1809: tableRows staat niet in SlideField — een bewuste v1-grens die alleen in
de broncode stond. Nu drie dingen zichtbaar gemaakt:

1. KNOWN_LIMITATIONS.md (EN+NL): nieuwe sectie over de tabelgrens.
2. USER_GUIDE.md (EN+NL): paragraaf in de samenwerk-sectie.
3. TableEditor: een amber waarschuwingsbanner zodra een tabelia open is in
   een actieve samenwerkingssessie. Fail-loud in plaats van fail-silent.

De waarschuwing is vertaald in alle 31 talen.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
brenno merged commit 26145c4f0d into main 2026-08-27 20:28:27 +00:00
Sign in to join this conversation.
No description provided.