feat(document): afbeeldingen renderen op het scherm, niet alleen in export (#1605) #1617
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!1617
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/document-images-1605"
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?
Samenvatting
Een afbeelding in een document (
) verscheen alleen in de HTML- en PDF-uitvoer — op het scherm stond een merkteken met de alt-tekst. Nu tekent OciDeck de afbeelding zelf in Visueel, Bron en Pagina's, met dezelfde pad-resolutie als slides.Wat er verandert
DocumentImageScope(nieuweInheritedWidgetnaastDocumentStyleScope) draagt de map van het document, zodat de lezer en het schrijfvlak een afbeeldingspad op dezelfde manier oplossen.DocumentImage(nieuwe widget inparts/document_markdown_image.dart) tekent de afbeelding met begrensde decode (image_limits: 4096 px / 64 MiB), of valt terug op het merkteken als het pad niet oplost (fail-closed).documentImageProviderresolveertasset:,mem:en lokaal-bestand viaresolveSlideAssetPath(project-contained, met symlink-grens). Op web alleenmem:enasset:— een lokaal pad kan daar niet renderen.ImageEmbedBuildertekent de echte afbeelding i.p.v. het merkteken in de visuele editor, met fallback op het merkteken.PagedDocumentViewhoudt de meet-boom gemonteerd voor documenten met afbeeldingen, zodat de asynchrone decode de paginering corrigeert zodra de hoogte binnenkomt. Zonder afbeeldingen blijft de eenmalige meting — geen overhead._parseImageLineherkent een regel die precies één afbeelding is () en maakt er een_Kind.image-blok van.Beveiliging
resolveSlideAssetPath— een onvertrouwd document kan niet willekeurige bestanden buiten zijn map lezen.Bewaker
Deze wijziging leest bestanden van schijf in een nieuwe context (documentweergave), maar hergebruikt de bestaande
resolveSlideAssetPath-grens die slides al bewaken. Geen nieuwe trust boundary, geen nieuwe afhankelijkheid, geen wijziging aan het bestandsformaat. De belofte in de gids (web resolveert alleenmem:) is expliciet gedocumenteerd.Testplan
document_reader_test.dart: nieuw test voor afbeeldingsblok-rendering inDocumentMarkdownViewdocument_visual_image_test.dart: bestaande tests groenpaged_document_view_test.dart: bestaande tests groenshell_present_and_close_test.dart: bestaande tests groenmake check-staticgroenflutter test --exclude-tags golden— 10240 tests groenmake check-secrets— geen leaksmake sast— 0 findingsGenerated with Devin