Add Resize a Copy to File Shelf - #109
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Deployment failed for project semper with the following error: Learn More: https://vercel.com/niharnsm-8472s-projects?upgradeToPro=build-rate-limit |
|
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: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Deployment failed for project semper-vmf1 with the following error: Learn More: https://vercel.com/niharnsm-8472s-projects?upgradeToPro=build-rate-limit |
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.
File Shelf can save a smaller copy of one local JPEG or PNG from its per-item Resize a Copy action. The size sheet offers 1,024 and 2,048 pixels on the longest edge, displays exact dimensions, and never enlarges smaller images. The native Save dialog requires a new destination. The original and existing destinations are preserved.
Copies retain format, displayed orientation, color profile and PNG transparency. Source camera, location and descriptive metadata are removed; encoded output is verified before publication. Input and output are bounded, and unsupported, animated, unavailable, dataless and oversized inputs are refused. JPEG output is re-encoded at quality 0.9.
Cancel, Clear, Pause, source removal or expiry, and Quit drain owned work. Failed cleanup retains the Shelf service, items and required file access for explicit recovery. A source with failed image cleanup waits for a matching retry before expiring; other items can still expire. Failed pause and shutdown expose a Shelf recovery view while ordinary controls remain blocked.
A recovered copy's verified saved location stays visible until Done. The sheet captures each rendered button action and request ID, so a previously displayed Cancel or Retry Cleanup action cannot acknowledge a newly recovered receipt. If the public copy was edited or deleted and verification cannot succeed, Finish Without Verification deliberately ends tracking without a saved-file confirmation. That action still requires verified private cleanup and never deletes, restores or republishes public output. Failed private cleanup retains recovery. Automatic sheet dismissal and stale request IDs cannot acknowledge or retry a newer operation.
Publication clones from the held temporary-file descriptor into an exclusive destination. This requires filesystem cloning support; unsupported destinations are refused. Cleanup uses a pinned private directory and retains uncertain entries. The private namespace assumes exclusive entry management and does not contain hostile processes running as the same user. The clone API returns no output descriptor, so subsequent exact-byte and current-path checks do not prove atomic output-inode provenance. Empty system-managed replacement directories can remain after image data is removed.
Validation at
2260ce4894bdc4eb2b4a58e18fc9083047f1d0e8: isolated two-job arm64 Debug build-for-testing passed, then 2,195 tests in 253 suites passed through direct non-hosted xctest. The 37 focused image engine/session tests also passed. The recovered-request regression failed on the earlier head and passes with explicit acknowledgement. No new formatting diagnostics were added; UtilityRuntime and DirectUtilityRuntimeTests retain their existing 35 and 6 diagnostics. Diff checks passed.Validation for the final two-file action-routing correction at
2db9a4a57efa6577683f2b78428fdd89a67aea67: four focused session tests passed after compiling regular source copies with two jobs. The captured-action regression failed with live-state routing and passed after capture; ordinary Done and Finish Without Verification checks passed. All 17 copied source files match this commit. Strict formatting and diff checks passed, and source review found no actionable issues. The broad suite was not rerun for this correction.Native Save-dialog focus, keyboard, dismissal, signed-build, external-volume and live provider acceptance remain with the quality task. No native app, UI runner, AX or consent action ran in this task. ImageIO may finish a native operation before cancellation can drain it.
This draft remains stacked on Choose Files, #104, pending quality's retarget and final head review. Scope is Shelf code, tests and its guide, plus the approved Shelf runtime stop binding and recovery-only shell route. GitHub CI targets pull requests into main and will run after retargeting. No merge, release or CI configuration change is included.