perf(web): voeg een totaalbudget en content-deduplicatie toe aan WebAssetStore #1053

Closed
opened 2026-08-01 08:26:10 +00:00 by brenno · 2 comments
Owner

Context
WebAssetStore begrenst via de aanroepers elke losse afbeelding tot 64 MiB, maar de statische maps hebben geen totaalbudget en bewaren gelijke bytes onder telkens een nieuwe UUID. Undo/redo en klembord houden verwijderde assets terecht levend.

Impact
Tientallen geldige beelden kunnen gigabytes encoded heap vasthouden, nog vóór Flutter ze decodeert. Op web kan dat de tab laten crashen zonder bruikbare melding.

Relevante code

  • lib/services/web_asset_store.dart:20
  • lib/services/image_service.dart:228 en 379

Acceptatie

  • Dwing vóór put een expliciet tab-/appbreed totaalbudget af en geef de UI een bruikbare fout.
  • Dedupliceer identieke content met een hash en correcte referentie/liveness-administratie.
  • Behoud de huidige undo/redo/klembord-retain-semantiek.
  • Tests bewaken exact budget, duplicaten, retain en vrijgave.
Context WebAssetStore begrenst via de aanroepers elke losse afbeelding tot 64 MiB, maar de statische maps hebben geen totaalbudget en bewaren gelijke bytes onder telkens een nieuwe UUID. Undo/redo en klembord houden verwijderde assets terecht levend. Impact Tientallen geldige beelden kunnen gigabytes encoded heap vasthouden, nog vóór Flutter ze decodeert. Op web kan dat de tab laten crashen zonder bruikbare melding. Relevante code - lib/services/web_asset_store.dart:20 - lib/services/image_service.dart:228 en 379 Acceptatie - Dwing vóór put een expliciet tab-/appbreed totaalbudget af en geef de UI een bruikbare fout. - Dedupliceer identieke content met een hash en correcte referentie/liveness-administratie. - Behoud de huidige undo/redo/klembord-retain-semantiek. - Tests bewaken exact budget, duplicaten, retain en vrijgave.
Author
Owner

Opgepakt. Tak: codex/budget-web-assets-1053. Verwachte reikwijdte: WebAssetStore, image-servicefoutafhandeling, lifecycle-/budgettests en PERFORMANCE_GUIDE.

Opgepakt. Tak: codex/budget-web-assets-1053. Verwachte reikwijdte: WebAssetStore, image-servicefoutafhandeling, lifecycle-/budgettests en PERFORMANCE_GUIDE.
Author
Owner

Afgerond en op de gecombineerde main geverifieerd in mergecommit 075d8d797f (PR #1081). De browserstore heeft één budget van 256 MiB gecodeerde presentatiemedia, contentdeduplicatie, atomische materialisatie en automatische liveness-sweeps. Alle open- en importpaden tonen een getypeerde herstelmelding voor afbeeldingen, video en audio. Buiten reikwijdte: tijdelijk gedecodeerd Flutter-geheugen heeft geen aparte nieuwe cap.

Afgerond en op de gecombineerde main geverifieerd in mergecommit 075d8d797f27daf1bafdd4a201fc873c927616cd (PR #1081). De browserstore heeft één budget van 256 MiB gecodeerde presentatiemedia, contentdeduplicatie, atomische materialisatie en automatische liveness-sweeps. Alle open- en importpaden tonen een getypeerde herstelmelding voor afbeeldingen, video en audio. Buiten reikwijdte: tijdelijk gedecodeerd Flutter-geheugen heeft geen aparte nieuwe cap.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#1053
No description provided.