fix(presentatie): houd tweeschermnavigatie synchroon #2026

Merged
brenno merged 1 commit from codex/fix-presenter-slide-sync into main 2026-09-08 15:14:09 +00:00
Owner

Closes #2024

Probleem

Bij een tweeschermpresentatie kon de tweede Flutter-engine al starten voordat zijn native communicatiekanaal was geregistreerd. De eerste slide-update ging dan verloren, maar werd aan de presenterkant wel als verzonden onthouden. Daardoor bleef het beamerscherm op de oude dia staan; invoer op dat scherm kon in dezelfde opstartrace ook verdwijnen.

Oplossing

  • het publieksvenster registreert opnieuw zolang de native brug nog opstart;
  • een gereedmelding laat de presenter de volledige actuele toestand opnieuw sturen, ook na een eerder mislukte poging;
  • muis- en toetsenbordinvoer vóór die gereedmelding wacht kort en wordt daarna in plaats van verloren alsnog verstuurd;
  • permanente kanaalconflicten stoppen na één poging en worden gelogd.

Borging

  • beide regressietests stonden aantoonbaar rood op de ongewijzigde code;
  • 67 gerichte presenter-/publieksvenstertests groen;
  • make check-full groen: 11.349 tests, 86,8% dekking, 55 goldens, 0 secrets, 0 SAST-bevindingen;
  • advisory DAST werkelijk gedraaid: 0 failures, 6 bestaande lokale-hostwaarschuwingen;
  • native macOS-app bouwt en start via flutter run -d macos.

Een fysieke tweeschermherhaling was op de controlemachine niet mogelijk omdat daar één display online was. De kanaalrace en beide navigatierichtingen zijn daarom deterministisch met mislukte eerste registratie/update afgedwongen.

Deze wijziging raakt geen Markdown-formaat, opslag, afhankelijkheid, uitgaand verkeer of publieke belofte; een aparte kernwaardenweging was daarom niet van toepassing.

Closes #2024 ## Probleem Bij een tweeschermpresentatie kon de tweede Flutter-engine al starten voordat zijn native communicatiekanaal was geregistreerd. De eerste slide-update ging dan verloren, maar werd aan de presenterkant wel als verzonden onthouden. Daardoor bleef het beamerscherm op de oude dia staan; invoer op dat scherm kon in dezelfde opstartrace ook verdwijnen. ## Oplossing - het publieksvenster registreert opnieuw zolang de native brug nog opstart; - een gereedmelding laat de presenter de volledige actuele toestand opnieuw sturen, ook na een eerder mislukte poging; - muis- en toetsenbordinvoer vóór die gereedmelding wacht kort en wordt daarna in plaats van verloren alsnog verstuurd; - permanente kanaalconflicten stoppen na één poging en worden gelogd. ## Borging - beide regressietests stonden aantoonbaar rood op de ongewijzigde code; - 67 gerichte presenter-/publieksvenstertests groen; - `make check-full` groen: 11.349 tests, 86,8% dekking, 55 goldens, 0 secrets, 0 SAST-bevindingen; - advisory DAST werkelijk gedraaid: 0 failures, 6 bestaande lokale-hostwaarschuwingen; - native macOS-app bouwt en start via `flutter run -d macos`. Een fysieke tweeschermherhaling was op de controlemachine niet mogelijk omdat daar één display online was. De kanaalrace en beide navigatierichtingen zijn daarom deterministisch met mislukte eerste registratie/update afgedwongen. Deze wijziging raakt geen Markdown-formaat, opslag, afhankelijkheid, uitgaand verkeer of publieke belofte; een aparte kernwaardenweging was daarom niet van toepassing.
fix(presentatie): herstel tweescherm-synchronisatie (#2024)
All checks were successful
scans / scans (pull_request) Successful in 3m17s
static-gate / static-gate (pull_request) Successful in 12m12s
e62bb3688b
brenno merged commit 93137929f6 into main 2026-09-08 15:14:09 +00:00
Sign in to join this conversation.
No description provided.