fix(web): saneer grote SVG's zonder Isolate.run, en weiger ongepoorte Isolate.run (#2789) #2790
No reviewers
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!2790
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/web-svg-sanitize"
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?
Closes #2789
Wat er mis was
sanitizeImportedSvgForDisplaystuurde een SVG boven 256 KB ook in de browser naarIsolate.run. Het web gooit daar bij aanroep;SafeSvgImage(dia, previews, zoomdialoog, presentatie) toonde de foutweergave. Ingevoerd met7729c6915(31-10). Dit is dezelfde foutklasse als #2764 (PR #2788).Wat er verandert
lib/utils/sanitize_svg.dart:if (kIsWeb || bytes.length <= drempel)→ inline saneren. Native gaat een grote SVG zoals voorheen naar een worker.tool/check_conventions.dart: nieuwe regel. ElkeIsolate.runinlib/noemt een platformpoort in dezelfde methode; de regel hergebruikt_gatedBeforevan de FilePicker-regel. Commentaarregels en_io.dart-helften vallen erbuiten. Er is geen basislijn, want de regel landt met nul overtredingen.docs/CHECKS.md: de regel staat in de conventielijst en de SVG-toets in het Chrome-commando.Toetsen
test/sanitize_svg_test.dart: een SVG net boven de drempel komt gesaneerd terug. De toets draait native én in Chrome.Unsupported operation: dart:isolate is not supported on dart4web. De nieuwe regel wees precieslib/utils/sanitize_svg.dart:85aan, en geen enkele andere (al gepoorte) aanroep.Poorten
make check(incl. golden),make check-secretsenmake sastzijn groen op deze commit.Niet bewezen
Dat native een grote SVG nog op de worker saneert, heeft geen eigen toets. Die tak is ongewijzigd, maar er is geen waarneembaar verschil met inline saneren om op te toetsen.
🤖 Generated with Claude Code