Repository navigation
Conversation
Bound image decoding, preserve shared soft masks, and avoid mutations for absent hidden-data categories. Add the shared lossless optimization profile with conflicting-option refusal. Retain existing UI repair provenance from a728aa4/ce0c0899 and the narrow Bulk harness hunk; preserve all original assertions. Validated: 2438 workspace tests passed, 7 existing ignored; strict quality gates, 104 UI tests, 31 WASM packages and CLI preservation/refusal checks passed. AI assistance: OpenAI Codex for @lukashold. Co-authored-by: Chiranjeevi U <244287281+chiranjeevi-max@users.noreply.github.com>
12 of 13 tasks
6 tasks done
Retain bounded image decoding, private resampled masks and lossless settings. Preserve upstream UI and sanitizer changes, and make batch fixture timestamps deterministic for byte-exact comparisons. Co-authored-by: OpenAI Codex <noreply@openai.com>
Merge main 3f044b6 after strict checks, print/UI regressions, optimizer and sanitizer tests, WASM, assets, dependency policy and parity validation. Co-authored-by: OpenAI Codex <noreply@openai.com>
13 tasks done
17 tasks done
Resolve against main's mono/JBIG2 optimization, ImageBudget decoding, optimizer presets and the automation module split. The lossless profile now also retains mono images and skips LZW re-encoding; image dimension validation runs inside the shared ImageBudget allowance; masked images get a private soft mask, counting the original mask's other users. Main's own fixes for the batch fixture clock, OCR scan fixture and reload language replace this branch's earlier test stabilizations; the preferences-scroll test tweaks are dropped as out of scope. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PDF optimization could overflow on malformed image or mask dimensions, change other images when resampling a shared soft mask, and fail when a selected hidden-information category was already absent. Validate bounded dimensions and decoded sample lengths, give resampled masks a private reference, and handle only
NothingToApplyas a successful no-op. Count catalog/AFattachments and preserve absent hidden categories without silent mutations.Add
pdfcraft_optimize::Settings::lossless()and headlessdoc_optimize profile="lossless". Image streams, thumbnails, alternate images, tags, print settings, links, destinations and resource lists are retained. Non-image streams and document structure can still be compressed, and identical resources merged. Contradictory custom/discard options are rejected. Existing Reduce File Size defaults remain unchanged.Validation of integration commit
e9dd0e369bbc1028bd8ed12073f8f48425d81089:b5467d93: all eightcargo xtask cigates passed, including 3,041 workspace tests (14 explicitly ignored), strict workspace/all-target Clippy, formatting, layers, 31 WebAssembly crates, assets, dependency/license policy and parity. Four test worker threads; optional external font/model inputs were not configured locally.3f044b62printing update was merged without conflicts and checked separately: 462 print/UI/optimizer/sanitizer tests passed (one explicit ignore), together with strict workspace/all-target Clippy and all other gates above.6e3950f1cadc55b1d8b1c2955019640e3ce9d91527ab56412d5a0065cd0eed46and were visually inspected. The 885-byte synthetic fixture verifies preservation, not compression ratio.Full saves can remove old revisions and update modification dates; output is not guaranteed smaller. Additional codec coverage, a GUI preset manager and broad scan/perceptual-quality benchmarks remain outside this change.
Merge/release prerequisite: merge the independent generation-aware rewrite fix #1143 first, then repeat integration checks on combined main. It is open and unmerged; its implementation is not duplicated here. Hot Folder integration is separate in #1063.
AI assistance: implemented with OpenAI Codex for @lukashold.