chore: sync upstream (797 Commits) #21
No reviewers
Labels
No labels
herkunft/alpha-feedback
status
blockiert
status
zu-testen
typ
bug
typ
docs
typ
enhancement
typ
feature
typ
idea
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
iris/pdfcraft!21
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "chore/sync-upstream-20261109"
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?
Upstream-Sync von
upstream/main(797 Commits). Fast-Forward.9ee213effFix main's build and tests after the latest merges (#6706)dafb3be3dfix(xfa): one decoding allowance for all XFA packets (#6000)b4679deaffix(cli): cap input reads, budget check's edit pass and escape its stderr records (#5997)ba47f7bbcfix(cli): render needs the copying permission, as text does (#5990)f800c12a7fix(xtask): render-oracle writes page pixels into a private temporary folder (#5988)4cdc3d15dfix(redact): read the page tree once per sanitize pass, not per page (#5983)8f29ed66ffix(engine): open linked documents without blocking and check the handle is a regular file (#5982)3fe86a118fix(print,a11y): read summary scans one operator at a time and borrow form resources (#5968)0d4074755fix(automation): sign_trust deduplicates certificates with a set (#5965)ca56433f5fix(redact): read text-state operands from the end, as the renderer does (#5951)44a26f4b9fix(model,oracle): read a page box only when it has four entries; skip empty images (#5941)743a772eefix(content): an inline image only the renderer reads counts as ambiguous (#5874)e78102c90M11: PDF Optimizer can discard form submission, import and reset actions (optimize.discard-form-actions) (#4416)ba2846cbaM4: a recovered document's first Save asks where instead of writing the sidecar's path (#3923) (#4327)5588db4b6M10: (n) names the page at position n, whatever its label, in page ranges and the page box (print.page-range) (#4282)The TIFF, EXIF and Additional EXIF namespaces come from the September 2005 XMP Specification that PDF/A-2 cites ("EXIF Schemas", pages 58-70), with its EXIF value types (pages 83-87): Rational as numerator/ denominator, GPSCoordinate as DDD,MM,SSk or DDD,MM.mmk, and the Flash, OECF/SFR, CFAPattern and DeviceSettings structures. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Pq7HyDBXygTf7jcqdsjcfnvello_cpu keeps every path's coverage (alpha) values in one buffer until the scene is rasterized, and a strip packs its index into that buffer in 31 bits; Strip::new asserts it fits. A page that painted one form 2^22 times over (22 nested forms, each drawing the next twice) grew the buffer past 2^31 values at about 7 GB and panicked, and the page failed. - vello_common (2): StripStorage::room_for_path{,_within} says whether one more path's coverage, at most the whole surface counted twice, still fits below that limit or a smaller one. - vello_cpu (1): the single-threaded dispatcher leaves out fills, strokes, fast rectangles and layer clips once there is no room, records it (RenderContext::coverage_full) and can be kept to fewer values (set_max_coverage). - hayro (31): RenderSettings::max_coverage passes that limit down, and a page whose paths were left out reports InterpreterWarning::ContentTruncated, which PdfCraft already shows as content skipped past the page's safety budget. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Pq7HyDBXygTf7jcqdsjcfnA 6.6.2.3.1 issue now says which metadata stream holds the property ("in metadata stream 5 0 R") and carries its ObjRef in Issue::object, so a property mistyped in more than one stream is reported once per stream. Wordings that name more than one thing use named holes, such as {object}, filled in one pass with the {} value, so a translation can reorder them. Tests: the stream is named and located per issue; a non-preferred prefix bound to the TIFF, EXIF or aux namespace URI is checked, and the preferred prefixes bound to other URIs are not, proving the lookup is by URI. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>1beginbfchardoesn't start mappings (hayro-postscript patch 2) fe5fa9e908Text drawn one glyph per show operation, with zero-advance Thai tone marks starting a hair past their base's advance, came out with the mark after the next letter ("ห้อง" read "หอ้ง") because a line's glyphs were sorted by x alone. A combining mark (Mn/Me) of a left-to-right script drawn right after the glyph it sits over now rides on that glyph: placement sorts clusters, so the mark keeps its content-stream place. Word gaps are measured between clusters, and the tight-cluster rule now guards only loose combining signs, so a Thai or Indic word gap with no space glyph reads as a space. Fixes #6517 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Pq7HyCHD1R3rywQBPCHXZAuglyph-name form reads with four, five and six digits (hayro-interpret patch 92) ea2e0a0e10In the web build, Verify's Run OCR and its page/region re-reads never started the model download. On a fresh page they failed at once with the desktop's "set PDFCRAFT_MODELS" message, and worked only after Recognize Text had downloaded the models. Both now start the download (web_models_missing), say "Downloading the text recognition models…" and remember what was asked; poll_models runs it once the models land, or shows "Couldn't download the text recognition models: {e}" when the download fails. Nothing runs if the screen was closed meanwhile, and an engine the browser can never run says why instead of waiting. Tests: models_landed starts a waiting run and a waiting re-read, reports a failed download without touching the review, and runs nothing for a closed screen. The first three fail without the fix. Checked by hand in Chrome: a fresh page, Verify > Run OCR downloads the models and reads the page (47 words on a real scan); with the models missing it shows the HTTP 404 and a second click after restoring them works.runs(ocr.ocr-web) 44d7fb996ainfolists the repairs made while opening, as Document Properties does (misc.cli-inspect) (#6518) 3ae9093d61ycurves is drawn, not dropped (vello_common patch 4) (#6526) c02341f6c0