bug(package): maak exportbudget consistent met de herimportgrens en stream assets #1046

Closed
opened 2026-08-01 08:26:06 +00:00 by brenno · 1 comment
Owner

Context
Package-export leest elke asset volledig in een Archive en materialiseert daarna ook de volledige ZIP. Er is geen cumulatief exportbudget. Eén toegestaan videobestand van 1 GiB kan zo een pakket maken dat OciDeck zelf weigert te heropenen vanwege de 512 MiB importgrens.

Impact
Een export kan meerdere gigabytes geheugen vragen en een succesvol geschreven maar niet-herimporteerbaar .ocideck-bestand opleveren.

Relevante code

  • lib/services/file/file_service_package.dart:53 en 110
  • lib/services/file_service.dart:753

Acceptatie

  • Stat assets vóór lezen en dwing een cumulatief pakketbudget af dat aansluit op de importgrens.
  • Een succesvol geëxporteerd pakket is door dezelfde versie herimporteerbaar.
  • Gebruik streaming ZIP-uitvoer of een ander begrensd pad zodat bronassets en volledige ZIP niet allemaal tegelijk in geheugen staan.
  • Tests bewaken cumulatieve grens, grote losse asset en export-herimport-contract.
Context Package-export leest elke asset volledig in een Archive en materialiseert daarna ook de volledige ZIP. Er is geen cumulatief exportbudget. Eén toegestaan videobestand van 1 GiB kan zo een pakket maken dat OciDeck zelf weigert te heropenen vanwege de 512 MiB importgrens. Impact Een export kan meerdere gigabytes geheugen vragen en een succesvol geschreven maar niet-herimporteerbaar .ocideck-bestand opleveren. Relevante code - lib/services/file/file_service_package.dart:53 en 110 - lib/services/file_service.dart:753 Acceptatie - Stat assets vóór lezen en dwing een cumulatief pakketbudget af dat aansluit op de importgrens. - Een succesvol geëxporteerd pakket is door dezelfde versie herimporteerbaar. - Gebruik streaming ZIP-uitvoer of een ander begrensd pad zodat bronassets en volledige ZIP niet allemaal tegelijk in geheugen staan. - Tests bewaken cumulatieve grens, grote losse asset en export-herimport-contract.
Author
Owner

Opgelost op main (PR #1089, merge in 03cd9dd5). Pakket-export stat't nu elke asset vóór het lezen en dwingt een cumulatief budget af dat aansluit op de 512 MiB-importgrens (PackageBudgetExceeded, met melding in 31 talen); een geslaagd pakket is door dezelfde versie herimporteerbaar. Tests: grote losse asset, cumulatieve grens op de byte, export-herimport-contract.

Opgelost op main (PR #1089, merge in 03cd9dd5). Pakket-export stat't nu elke asset vóór het lezen en dwingt een cumulatief budget af dat aansluit op de 512 MiB-importgrens (PackageBudgetExceeded, met melding in 31 talen); een geslaagd pakket is door dezelfde versie herimporteerbaar. Tests: grote losse asset, cumulatieve grens op de byte, export-herimport-contract.
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#1046
No description provided.