fix(export): begrens het cumulatieve bytebudget van self-contained HTML (#1045) #1090

Merged
brenno merged 3 commits from fix/export-html-budget-1045 into main 2026-08-01 19:59:52 +00:00
Owner

Sluit #1045.

De HTML-export had alleen een grens per afbeelding, niet over het geheel: alle unieke beelden werden als base64 verzameld en tot één document samengevoegd, zodat twintig 64 MiB-GIF's ~1,67 GiB base64 opleverden (op web op de hoofd-isolate). _embedImages dwingt nu een expliciet cumulatief budget af (kMaxHtmlEmbedTotalBytes = 512 MiB, injecteerbaar via build) dat vóór geheugenuitputting faalt met HtmlEmbedBudgetExceeded en een melding in 31 talen; hergebruikte beelden tellen via de bestaande dedup één keer.

Tests: op-de-grens en één byte erover, plus dedup tegen het budget. make check groen (methode-/file-size ratchet hersteld door de renderlus naar een part te tillen).

Bewaker overgeslagen: hardt bestaand exportgedrag, geen formaat/opslag/afhankelijkheid/belofte.

🤖 Generated with Claude Code

Sluit #1045. De HTML-export had alleen een grens per afbeelding, niet over het geheel: alle unieke beelden werden als base64 verzameld en tot één document samengevoegd, zodat twintig 64 MiB-GIF's ~1,67 GiB base64 opleverden (op web op de hoofd-isolate). _embedImages dwingt nu een expliciet cumulatief budget af (kMaxHtmlEmbedTotalBytes = 512 MiB, injecteerbaar via build) dat vóór geheugenuitputting faalt met HtmlEmbedBudgetExceeded en een melding in 31 talen; hergebruikte beelden tellen via de bestaande dedup één keer. Tests: op-de-grens en één byte erover, plus dedup tegen het budget. make check groen (methode-/file-size ratchet hersteld door de renderlus naar een part te tillen). Bewaker overgeslagen: hardt bestaand exportgedrag, geen formaat/opslag/afhankelijkheid/belofte. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
De HTML-export had alleen een grens per afbeelding, niet over het geheel:
alle unieke beelden werden als base64 verzameld en tot één document
samengevoegd, zodat twintig 64 MiB-GIF's ~1,67 GiB base64 opleverden (op web
op de hoofd-isolate). _embedImages dwingt nu een expliciet cumulatief budget
af (kMaxHtmlEmbedTotalBytes = 512 MiB, injecteerbaar via build) dat vóór
geheugenuitputting faalt met HtmlEmbedBudgetExceeded en een gebruikersmelding;
hergebruikte beelden tellen via de bestaande dedup één keer. Tests: op-de-grens
en één byte erover, plus dedup tegen het budget.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
refactor(export): splits sectie-renderlus uit build (methode-/file-ratchet)
All checks were successful
scans / scans (pull_request) Successful in 3m37s
00855b6936
De budget-fix duwde MarpHtmlService.build over de 155-regel-methodegrens.
De per-dia sectie-renderlus verhuist naar een top-level _renderSections in
de markup-part, wat build inkort en het hoofdbestand onder de 1000-regel-
ratchet houdt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
brenno merged commit 88b4978b10 into main 2026-08-01 19:59:52 +00:00
Sign in to join this conversation.
No description provided.