Repository navigation
fix: package file picker privacy manifest - #385
Merged
Merged
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
DonovanMontoya
force-pushed
the
fix/file-picker-privacy-manifest
branch
from
October 29, 2026 04:17
b9b1ca0 to
48a411e
Compare
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.
What changed
Package a privacy manifest inside
@capawesome/capacitor-file-picker8.1.1's own SDK resource bundle. A root postinstall repair applies it reproducibly afternpm ci, adds SPM and CocoaPods resource declarations, and rejects version changes, unexpected packaging, or conflicting manifests. No native implementation or UI changes.Why
The locked SDK reads
FileAttributeKey.modificationDatebut ships neither a manifest nor a resource declaration. 8.1.1 is still the latest registry release. Apple's required-reason rules require the SDK to declare its own usage.All timestamp calls converge on
handleDocumentPickerResultafter document/photo/video selections are copied into the app cache. FileTimestamp reasons3B52.1andC617.1cover user-granted files and their app-container copies respectively. Directory selection, copy, and image conversion do not read timestamps. OperaLibre uses document selection for local imports and uploads; it does not consume the returned modification timestamp. The SDK does not send data to its vendor.This is independent of #384, which remains open and covers app-owned APIs. Its changes are not included here. Existing Capacitor/Cordova manifests remain intact.
Testing
npm cireapplied the repair, followed by successfulnpm run sync:ios(includes production web build).node script/version.mjs checkandgit diff --checkpassed.CapawesomeCapacitorFilePicker_FilePickerPlugin.bundle/PrivacyInfo.xcprivacy, matching the supplied declaration. Existing Capacitor, Cordova, and ZIPFoundation manifests were present.plutil -lintandcodesign --verify --deep --strictpassed.No screenshots are needed because there is no visible change. No physical-device interaction, CocoaPods build, Organizer privacy report, distribution export, or upload was performed. This verifies SPM archive inclusion, not whole-app App Store compliance; the archive does not contain #384's separate app-owned manifest. Remote repository gates run on this PR.