fix: houd typen, memo's, fotodecode en het AI-lampje vlot (#2635 #2622 #2621 #2625) #2658

Merged
brenno merged 10 commits from fix/prestatie-2635-2621-2622-2625 into main 2026-10-29 08:29:38 +00:00
Owner

Vier bevindingen uit de prestatieronde van 28 oktober, in één tak.

  • Het AI-statuslampje blijft hertikken nadat een instelling of de toestemming wijzigt (#2635).
  • De privacy- en layoutmemo's hangen aan de dia zelf, zodat een deck voorbij 512 dia's niet bij elke toetsaanslag het hele deck opnieuw scant (#2622).
  • De visuele documentstand schrijft Markdown pas na een korte pauze weg, en de omzetting loopt lineair over het document dat er al is (#2621).
  • Foto's worden gedecodeerd op de grootte van het vak, afgerond naar 1024, 2048 of 4096, zodat een 24-megapixelfoto niet op elk oppervlak op bronresolutie binnenkomt (#2625).

Closes #2635
Closes #2622
Closes #2621
Closes #2625

Bewaker

Overgeslagen, en dat hoort hier genoemd. De bytes in het .md-bestand, de plek waar ze landen, de afhankelijkheden, het uitgaande verkeer en de publieke beloftes blijven gelijk. De pauze bestaat alleen in het geheugen en wordt weggeschreven vóór opslaan, autosave, bronweergave, export, presenteren, zoeken en het sluiten van het tabblad. De gebundelde markdown_quill-vork is wel aangepast (lineaire nummering, omzetting van het bestaande document); de rondgangstests houden de opgeslagen bytes gelijk. Geen nieuwe afhankelijkheid.

Blijft erbuiten

  • De gezichtsscan-memo (#2619).
  • Virtualisatie van de Quill-editor: het hele document ligt nog in één RenderEditor.
  • imageCache.maximumSizeBytes.

Poort

make check is hier groen, na een rebase op main (563ef8dcb). make check-secrets (gitleaks en trufflehog, 0 geheimen) en make sast (semgrep, 0 bevindingen) zijn gedraaid. DAST met OWASP ZAP is niet gedraaid: ZAP staat niet geïnstalleerd.

Vier bevindingen uit de prestatieronde van 28 oktober, in één tak. - Het AI-statuslampje blijft hertikken nadat een instelling of de toestemming wijzigt (#2635). - De privacy- en layoutmemo's hangen aan de dia zelf, zodat een deck voorbij 512 dia's niet bij elke toetsaanslag het hele deck opnieuw scant (#2622). - De visuele documentstand schrijft Markdown pas na een korte pauze weg, en de omzetting loopt lineair over het document dat er al is (#2621). - Foto's worden gedecodeerd op de grootte van het vak, afgerond naar 1024, 2048 of 4096, zodat een 24-megapixelfoto niet op elk oppervlak op bronresolutie binnenkomt (#2625). Closes #2635 Closes #2622 Closes #2621 Closes #2625 ## Bewaker Overgeslagen, en dat hoort hier genoemd. De bytes in het `.md`-bestand, de plek waar ze landen, de afhankelijkheden, het uitgaande verkeer en de publieke beloftes blijven gelijk. De pauze bestaat alleen in het geheugen en wordt weggeschreven vóór opslaan, autosave, bronweergave, export, presenteren, zoeken en het sluiten van het tabblad. De gebundelde `markdown_quill`-vork is wel aangepast (lineaire nummering, omzetting van het bestaande document); de rondgangstests houden de opgeslagen bytes gelijk. Geen nieuwe afhankelijkheid. ## Blijft erbuiten - De gezichtsscan-memo (#2619). - Virtualisatie van de Quill-editor: het hele document ligt nog in één `RenderEditor`. - `imageCache.maximumSizeBytes`. ## Poort `make check` is hier groen, na een rebase op main (`563ef8dcb`). `make check-secrets` (gitleaks en trufflehog, 0 geheimen) en `make sast` (semgrep, 0 bevindingen) zijn gedraaid. DAST met OWASP ZAP is niet gedraaid: ZAP staat niet geïnstalleerd.
Een herbouw cancelde de timer zonder hem te vergeten, zodat de volgende
controle nooit meer startte.

Co-authored-by: Cursor <cursoragent@cursor.com>
Een globale LRU van 512 viel om zodra een deck of een handvol breedtes
daaroverheen kwam, en een invoeging bovenaan maakte elke volgende dia koud.

Co-authored-by: Cursor <cursoragent@cursor.com>
De omzetting wacht een korte pauze af, of een flush vóór iemand de bron
leest. De nummering loopt in één gang, zonder een tweede documentboom.

Co-authored-by: Cursor <cursoragent@cursor.com>
Preview, presentator, beamer en export vragen 1024, 2048 of 4096 px.
Een GIF die in die trede past blijft bewegen.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Of er iets te schrijven valt staat al op de open omzetting; de tweede
vlag werd nergens meer gelezen.

Co-authored-by: Cursor <cursoragent@cursor.com>
Een flush in het kind komt nadat de ouder al inactief is, en ref.read
mag de boom dan niet meer op. Tests die de bron meteen lazen wachten
nu de pauze af.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sluiten schrijft de open aanslagen weg vóór het tabblad verdwijnt.
Notities, die kort zijn, schrijven nog in dezelfde beurt.

Co-authored-by: Cursor <cursoragent@cursor.com>
De lineaire nummering zit in de gebundelde vork, dus de inhoudshash
in de stuklijst hoort mee te schuiven.

Co-authored-by: Cursor <cursoragent@cursor.com>
brenno merged commit 8489fc3b1a into main 2026-10-29 08:29:38 +00:00
Sign in to join this conversation.
No description provided.