-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Comparing changes
Open a pull request
base repository: flutter/packages
base: d80c60eef034
head repository: flutter/packages
compare: 90102991452d
- 9 commits
- 281 files changed
- 8 contributors
Commits on Jan 21, 2026
-
[vector_graphics_compiler] Fix rgb/rgba color parsing to support mode…
…rn CSS syntax (#10538) - Consolidate rgb() and rgba() parsing into single implementation - Add support for space-separated color values - Add support for percentage-based RGB values - Add support for slash (/) separator before alpha channel - Handle both comma and space delimiters - Add comprehensive test coverage for various color formats This PR solves flutter/flutter#179261 ## Pre-Review Checklist **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. [^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.
Configuration menu - View commit details
-
Copy full SHA for c815a54 - Browse repository at this point
Copy the full SHA c815a54View commit details -
[dependabot]: Bump androidx.core:core from 1.13.1 to 1.17.0 in /packa…
…ges/image_picker/image_picker_android/android (#10504) Bumps androidx.core:core from 1.13.1 to 1.17.0. [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) You can trigger a rebase of this PR by commenting `@dependabot rebase`. --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> > **Note** > Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
Configuration menu - View commit details
-
Copy full SHA for cc37b19 - Browse repository at this point
Copy the full SHA cc37b19View commit details -
feat(ios): add audio track selection support for AVFoundation (#10313)
- Implemented getAudioTracks() method to retrieve available audio tracks from both HLS streams and regular video files AVFoundation Platform PR for : #9925 ## Pre-Review Checklist
Configuration menu - View commit details
-
Copy full SHA for 93c9395 - Browse repository at this point
Copy the full SHA 93c9395View commit details -
[batch-release] Step3: Adds github action to create a PR to sync chan…
…ges on the go_router release branch back to the main branch (#10393) issue: [#177110](flutter/flutter#177110) Everytime something is pushed to the release branch, sync it back to the main branch. ## Pre-Review Checklist **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. [^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.
Configuration menu - View commit details
-
Copy full SHA for 67f4678 - Browse repository at this point
Copy the full SHA 67f4678View commit details -
[google_maps_flutter] Restructure iOS to prep for SwiftPM (#10839)
This is the first step of implementing solution E.1b from https://flutter.dev/go/google-maps-spm-versioning. It does not yet introduce any of the package copies or code sharing, it just makes some structural changes to the current package to prepare for copying and sharing: - I reorganized all of the code to follow the SwiftPM layout. Even though this copy will never support SwiftPM, having the layout match will make code sharing much easier. - I eliminated the multi-example structure. The goal of the multiple examples was so that we could test the wrapper with each major version of the SDK it supports. However, we have never actually ended up needing SDK-specific tests, and since this variant of the package will never get a new version of the SDK (since it doesn't support SwiftPM) we don't need to test any new compatibility in the future. Given that, and the fact that we will be testing all of the shared code (which will be almost all of it) against the newer SDKs in the new packages that will follow shortly, the multiple examples in this package are no longer worth the complexity or the CI cost. - `ios14/` is the example that was kept (via moving it up a level to just be `example/`, so that we continue to have a test of SDK 8.4. - The example code that had been extracted to a shared local package has been inlined back into the example package. - I eliminated the modulemap. In theory we can keep it for CocoaPods only, but that makes things more complex. In practice, since we don't expect native imports of this plugin anyway, the test module division wasn't really doing anything important. - I changed the output filename for the Pigeon generation, so that we don't have to use full package-relative `#import`s to avoid build-time confusion with other `messages` files when building all of our plugins together. I also did a little bit of opportunistic cleanup in advance of copying, so that these changes won't need to be made N times later: - I converted the example app's native code from Obj-C to Swift. It now matches the example app code from the app-facing `google_maps_flutter`, which had been converted [a while ago](#9347). (I didn't fully re-create the example app with `flutter create` as in that other PR, I just replaced the code file and let Xcode create the bridging header). - I removed some deprecated code in a test file that we haven't needed since we started requiring 8.4 as a minimum SDK. - I changed a bunch of older style framework imports to use `@import` instead. Part of flutter/flutter#146920 ## 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.
Configuration menu - View commit details
-
Copy full SHA for a05d0b2 - Browse repository at this point
Copy the full SHA a05d0b2View commit details -
[in_app_purchase] Fix an issue causing StoreKit 2 transactions remain…
… unfinished (#10656) The StoreKit 2 (iOS, MacOS) in_app_purchase backend causes ordinary client use (eg. the `in_app_purchase` example app) to leave transactions in an unfinished state, contrary to the StoreKit contract. This happens because StoreKit 2 purchase updates have `pendingCompletePurchase == false`, causing clients to not call `completePurchase` (flutter/flutter#180046). This in turn happens because purchase updates incorrectly have state `restored` instead of `purchased` (flutter/flutter#172434). Fix this by keeping track of which TransactionMessages are created in the restorePurchases code path to set the `restoring` field correctly. Previously it was set whenever a transaction had receipt data (which is also true for ordinary purchase updates). This keeps ordinary purcahses as state `purchased`. These purchase records will also have `pendingCompletePurchase` set to `true`, since this is gated by state `purchased`. Fixes: * flutter/flutter#180046 * flutter/flutter#172434 ## 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.
Configuration menu - View commit details
-
Copy full SHA for 6350518 - Browse repository at this point
Copy the full SHA 6350518View commit details -
[url_launcher_ios] Migrate XCTest to Swift Testing (#10780)
Part of flutter/flutter#180787 Add some test parameterization. ``` ◇ Test run started. ↳ Testing Library Version: 102 (arm64-apple-ios13.0-simulator) ◇ Suite URLLauncherTests started. ◇ Test canLaunchFailureWithInvalidURL() started. ◇ Test canLaunch(url:expected:) started. ◇ Test launchWithUniversalLinks() started. ◇ Test launch(url:expected:) started. ◇ Test launchSafariViewControllerWithClose() started. ◇ Test launchSafariViewControllerFailureWithNoViewPresenter() started. ◇ Test launchWithoutUniversalLinks() started. ◇ Test launchFailureWithInvalidURL() started. ◇ Passing 2 arguments url → "good://url", expected → .success to launch(url:expected:) ◇ Passing 2 arguments url → "bad://url", expected → .failure to launch(url:expected:) 2026-01-12 12:53:39.222409-0800 Runner[62355:494810] [Warning] Attempting to load the view of a view controller while it is deallocating is not allowed and may result in undefined behavior (<SFSafariViewController: 0x1018cd200>) ◇ Passing 2 arguments url → "bad://url", expected → .failure to canLaunch(url:expected:) ◇ Passing 2 arguments url → "good://url", expected → .success to canLaunch(url:expected:) ✔ Test canLaunchFailureWithInvalidURL() passed after 0.001 seconds. ✔ Test launchWithUniversalLinks() passed after 0.001 seconds. ✔ Test launchSafariViewControllerWithClose() passed after 0.042 seconds. ✔ Test launchWithoutUniversalLinks() passed after 0.042 seconds. ✔ Test launchSafariViewControllerFailureWithNoViewPresenter() passed after 0.042 seconds. ✔ Test launchFailureWithInvalidURL() passed after 0.042 seconds. ✔ Test launch(url:expected:) passed after 0.043 seconds. ✔ Test canLaunch(url:expected:) passed after 0.043 seconds. ✔ Suite URLLauncherTests passed after 0.043 seconds. ✔ Test run with 8 tests passed after 0.043 seconds. ``` https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8692848274232556065/+/u/Run_package_tests/native_test/stdout Adding CHANGELOG override per #10761 (comment) ## Pre-Review Checklist **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. [^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.
Configuration menu - View commit details
-
Copy full SHA for f709ea1 - Browse repository at this point
Copy the full SHA f709ea1View commit details -
[two_dimensional_scrollables] optimizes tableview janks with >250k ro…
…ws (#10738) ### Description: This PR optimizes the scrolling jank issue of the TableView component when the number of rows exceeds 250,000. ### Root Cause: The _updateFirstAndLastVisibleCell method in RenderTableViewport uses linear for-loop traversal on _columnMetrics and _rowMetrics to locate the visible boundary cells: _firstNonPinnedRow, _lastNonPinnedRow, _firstNonPinnedColumn, and _lastNonPinnedColumn. When the number of rows/columns is extremely large (e.g., >250k rows), this linear traversal causes significant main-thread blocking and scrolling jank. ### Solution: Replace the linear for-loop with binary search algorithm to find the visible boundary cells (_firstNonPinnedRow, _lastNonPinnedRow, _firstNonPinnedColumn, _lastNonPinnedColumn). Binary search reduces the time complexity from O(n) to O(log n), effectively optimizing the scrolling jank issue under large data volumes. ### Fixes: [#138271](flutter/flutter#138271) ### Video performance comparison before: https://github.com/user-attachments/assets/ca5b8821-4bdb-411f-bb2c-63998ac7c0d9 after: https://github.com/user-attachments/assets/ebbf96d9-9e04-4ede-ae79-cd433885d3ab ## Pre-Review Checklist
Configuration menu - View commit details
-
Copy full SHA for e6955be - Browse repository at this point
Copy the full SHA e6955beView commit details -
[batch-release] Step2 : Publish packages from the release branch (#10459
) issue: flutter/flutter#176944 Add a batch Release Flag in the publish command. The main branch will only publish packages that are opted out of batch release. The release branch will only publish packages that are opted into batch release. ## Pre-Review Checklist **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. [^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.
Configuration menu - View commit details
-
Copy full SHA for 9010299 - Browse repository at this point
Copy the full SHA 9010299View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff d80c60eef034...90102991452d