Migrate permission_handler_apple to Pigeon ProxyApi (address #1547 review) - #1552
Closed
rickdijk wants to merge 11 commits into
Closed
Migrate permission_handler_apple to Pigeon ProxyApi (address #1547 review)#1552rickdijk wants to merge 11 commits into
rickdijk wants to merge 11 commits into
Conversation
Define Apple framework types in pigeon/apple_permissions.dart and commit the generated Dart and Swift artifacts used by the darwin migration. Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce PermissionHandlerDarwinPlugin, ProxyApiRegistrar, and per-framework delegates that forward Pigeon calls to Apple APIs, plus SPM/podspec wiring. Co-authored-by: Cursor <cursoragent@cursor.com>
…lass. Port permission orchestration and handlers to lib/next/, using Pigeon ProxyApi types with injectable proxies for testing. Co-authored-by: Cursor <cursoragent@cursor.com>
…o 9.5.0. Wire PermissionHandlerDarwinPlugin and PermissionHandlerApple as the iOS implementation and add pigeon as a runtime dependency for ProxyApi types. Co-authored-by: Cursor <cursoragent@cursor.com>
Cover permission status mapping, manager orchestration, and platform delegation with mocked proxies in test/next/. Co-authored-by: Cursor <cursoragent@cursor.com>
Point the Xcode SPM reference at darwin/, raise the deployment target to 14.0, and add a platform_interface dependency for tests. Co-authored-by: Cursor <cursoragent@cursor.com>
Describe the new architecture, Pigeon regeneration steps, and iOS 14 minimum deployment target for the darwin implementation. Co-authored-by: Cursor <cursoragent@cursor.com>
Merge PermissionManager and PermissionHandlerAppleImpl into PermissionHandlerApple, drop the legacy _requestInProgress guard now that ProxyApi InstanceManager supports concurrent requests, and remove the unnecessary platform_interface dependency from the example app. Co-authored-by: Rick van Dijk <rickdijk@users.noreply.github.com>
Align the app-facing package constraint with the ProxyApi migration version bump required after rebasing onto main (where 9.5.0 already shipped ACCESS_LOCAL_NETWORK). Co-authored-by: Rick van Dijk <rickdijk@users.noreply.github.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1552 +/- ##
=======================================
Coverage 71.42% 71.42%
=======================================
Files 1 1
Lines 35 35
=======================================
Hits 25 25
Misses 10 10
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
The darwin Swift package requires iOS 14.0, which failed the app-facing example's iOS release build at its 12.0/13.0 target. Bump the Podfile, Xcode project and AppFrameworkInfo.plist, document the new minimum in the README, and release permission_handler 14.0.0 for the breaking bump. Co-authored-by: Rick van Dijk <rickdijk@users.noreply.github.com>
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.
Addresses review feedback from mvanbeusekom on #1547 and rebases the
permission_handler_applePigeon ProxyApi /darwin/migration onto currentmain.permission_handler_platform_interface: anydependency added to the example app in Migrate permission_handler_apple to Pigeon ProxyApi (darwin) #1547.PermissionManagerandPermissionHandlerAppleImplintoPermissionHandlerApple, and drop the_requestInProgress/ERROR_ALREADY_REQUESTING_PERMISSIONSguard (no longer needed with ProxyApiInstanceManager).darwin/Swift plugin (thin bridges) andlib/next/Dart permission logic.sharedDarwinSource: trueanddartPluginClass: PermissionHandlerApple.permission_handler_appleto 10.0.0 (minimum iOS 14.0 for darwin; 9.5.0 onmainalready shippedACCESS_LOCAL_NETWORK).permission_handlerexample app to an iOS 14.0 deployment target (Podfile, Xcode project,AppFrameworkInfo.plist), document the new minimum in the README and releasepermission_handler14.0.0 for the breaking bump. Without this the app-facing example failed to build against the darwin Swift package.Fixes review comments on #1547.
Pre-launch Checklist
pubspec.yamlwith an appropriate new version according to the pub versioning philosophy, or this PR is does not need version changes.CHANGELOG.mdto add a description of the change.///).main.dart format .and committed any changes.flutter analyzeand fixed any errors.