[Presentatie][P2] Presentator: de secondeklok herbouwt de hele weergave en trekt de focus terug naar het notitieveld #2683
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
release-blocker
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#2683
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Symptoom
Oorzaak
In
lib/widgets/presentation/fullscreen_presenter.dart:952-960roeptTimer.periodic(1 s)setState(() {})aan op de heleFullscreenPresenter-state. Daarnaast doet dezelfde timerif (_userNotesMode) … _userNotesFocusNode.requestFocus().In notitiemodus geeft
_handleLogicalKeyTab door (KeyEventResult.ignored,parts/presenter_keys.dart:110-129), dus de normale focus-traversal verplaatst de focus. Een seconde later zet de timer hem terug.Voorgestelde oplossing
ValueNotifier<DateTime>. Dat is dezelfde aanpak als de doorspeelvoortgang uit #2633 (ValueListenableBuilder,parts/presenter_views.dart:282). DesetStateover de hele state vervalt daarmee.requestFocusmeer. De focus wordt bij het openen al gezet (parts/presenter_notes.dart:68-70). Herstel hem alleen als hij de notitie-overlay echt verlaat, bijvoorbeeld met eenFocusScopeom de overlay en eenonFocusChangedie bij verlies naar buiten de scope terugzet. Tab binnen de overlay blijft dan werken.Wat overeind moet blijven
Toets
pump(3 s)zijn er geen extra builds van de dia.pump(2 s)heeft Sluiten die nog steeds.Gevonden bij codelezing tijdens de vervolginspectie van 31-10-2026.
Opgepakt. Tak: fix/vervolginspectie-3110. Verwachte reikwijdte: de bestanden die in de oorzaak van dit issue staan, plus een regressietest.
Opgepakt. Tak: fix/vervolginspectie-3110. Verwachte reikwijdte: lib/widgets/presentation/fullscreen_presenter.dart en de presenter-partbestanden.
Staat op main in
a6b4dc066(43a5b532c). De klok tikt in een eigen widget en herbouwt de dia niet. Tab naar Sluiten blijft daar staan.1a0b45e1ehaalde de opbouw van het notitiepaneel onder de methodelengte.Opgelost op main in
a6b4dc066. De zin „elke seconde wordt de hele presentator opnieuw gebouwd“ is gedekt door _PresenterClockTick in lib/widgets/presentation/parts/presenter_overlays.dart. De focus gaat niet meer elke seconde terug naar het notitieveld (lib/widgets/presentation/parts/presenter_notes.dart).