Skip to content

Conversation

@stuartmorgan-g
Copy link
Collaborator

@stuartmorgan-g stuartmorgan-g commented Nov 25, 2025

Reverts to the plugin-based implementation of path_provider_foundation while issues are being sorted out:

This effectively reverts #9762 (except for the changes allowing ffigen and objective_c, as Dart-team-owned dependencies). It was created by checking out the pre-9762 state of all the files in that directory, then applying dart fix --apply and dart format to pick up the changes for the new analyzer rules. Because of that PR landing, we can't just do a clean revert.

Fixes flutter/flutter#178915

Pre-Review Checklist

Footnotes

  1. Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. 2 3

@stuartmorgan-g stuartmorgan-g changed the title [path_provider] [path_provider] Revert iOS/macOS to plugin-based implementation Nov 25, 2025
Copy link
Contributor

@bparrishMines bparrishMines left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request reverts the path_provider_foundation package from an FFI-based implementation back to a more traditional plugin-based approach using Pigeon. This change is a response to several blocking issues encountered with the FFI implementation. The modifications include removing FFI-related code, dependencies, and build configurations, while reintroducing native Swift code for the plugin logic, Pigeon message definitions, and updated Dart implementation and tests. Overall, the revert is well-executed and addresses the stated goals. My review includes a few suggestions to improve code safety by handling optionals more robustly in the Swift code to prevent potential crashes, and fixing a minor typo in the changelog.

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@stuartmorgan-g stuartmorgan-g added emergency Override tree-status signal (land even with closed tree), combine with the autosubmit label. autosubmit Merge PR when tree becomes green via auto submit App labels Nov 25, 2025
@flutter-dashboard
Copy link

Detected the emergency label.

If you add the autosubmit label, the bot will wait until all presubmits pass but ignore the tree status, allowing fixes for tree breakages while still validating that they don't break any existing presubmits.

The "Merge" button is also unlocked. To bypass presubmits as well as the tree status, press the GitHub "Add to Merge Queue".

1 similar comment
@flutter-dashboard
Copy link

Detected the emergency label.

If you add the autosubmit label, the bot will wait until all presubmits pass but ignore the tree status, allowing fixes for tree breakages while still validating that they don't break any existing presubmits.

The "Merge" button is also unlocked. To bypass presubmits as well as the tree status, press the GitHub "Add to Merge Queue".

@auto-submit auto-submit bot merged commit eda0301 into flutter:main Nov 25, 2025
79 of 80 checks passed
agrapine pushed a commit to swipelab/flutter_packages that referenced this pull request Nov 26, 2025
…ter#10517)

Reverts to the plugin-based implementation of `path_provider_foundation` while issues are being sorted out:
- 2.5.0 (the FFI version) had to be retracted due to flutter/flutter#178915
- Releasing a new FFI version that would fix that issue is blocked on dart-lang/native#2824
- Our tree is also closed on dart-lang/native#2824 as an OOB failure due to the `objective_c` 9.2.0 release.
- Depending on `objective_c` 9.2.0 also appears to add new toolchain requirements for running Dart unit tests, which we will a) need to figure out in our CI, and b) decide if we are okay pushing onto users (flutter/flutter#178715).

This effectively reverts flutter#9762 (except for the changes allowing `ffigen` and `objective_c`, as Dart-team-owned dependencies). It was created by checking out the pre-9762 state of all the files in that directory, then applying `dart fix --apply` and `dart format` to pick up the changes for the new analyzer rules. Because of that PR landing, we can't just do a clean revert.

Fixes flutter/flutter#178915

## Pre-Review Checklist

[^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 26, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 26, 2025
github-merge-queue bot pushed a commit to flutter/flutter that referenced this pull request Nov 27, 2025
flutter/packages@cc3dca6...5d8d954

2025-11-26 stuartmorgan@google.com [video_player_avfoundation] Create a
Dart player instance (flutter/packages#10490)
2025-11-25 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump com.google.maps.android:android-maps-utils from 3.6.0
to 3.19.1 in
/packages/google_maps_flutter/google_maps_flutter_android/android
(flutter/packages#10390)
2025-11-25 stuartmorgan@google.com [path_provider] Revert iOS/macOS to
plugin-based implementation (flutter/packages#10517)
2025-11-25 stuartmorgan@google.com [google_maps_flutter] Replace
deprecated APIs (flutter/packages#10474)
2025-11-25 stuartmorgan@google.com [tool] Remove code analysis from
podspec-check (flutter/packages#10484)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC flutter-ecosystem@google.com on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App emergency Override tree-status signal (land even with closed tree), combine with the autosubmit label. p: path_provider platform-ios platform-macos

Projects

None yet

2 participants