Skip to content

Conversation

@chunhtai
Copy link
Contributor

@chunhtai chunhtai commented Sep 8, 2025

part of #99600

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. 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.

@chunhtai chunhtai requested a review from a team as a code owner September 8, 2025 22:58
@github-actions github-actions bot added platform-ios iOS applications specifically engine flutter/engine related. See also e: labels. a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) a: desktop Running on desktop team-ios Owned by iOS platform team platform-macos labels Sep 8, 2025
Copy link
Contributor

@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 introduces a new dart:ui API, PlatformDispatcher.setApplicationLocale, to allow applications to set their locale at the application level. The changes plumb this new API from the Dart layer down through the engine to the platform-specific implementations, including iOS and macOS. Unit tests have been added to verify the new functionality in the runtime controller. My review focuses on ensuring the correctness of the new implementations across different layers.

@chunhtai chunhtai force-pushed the issues/98948-app-locale branch from eec8c0a to 31eab27 Compare September 12, 2025 21:51
@chunhtai chunhtai requested a review from a team as a code owner September 12, 2025 21:51
@github-actions github-actions bot added platform-android Android applications specifically team-android Owned by Android platform team labels Sep 12, 2025
Copy link
Member

@chinmaygarde chinmaygarde left a comment

Choose a reason for hiding this comment

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

lgtm on the bits that deal with how stuff is wired in the engine. The embedder specific stuff looks fine to me too but others might have more detailed guidance.

@chunhtai chunhtai marked this pull request as draft September 15, 2025 18:51
@chunhtai
Copy link
Contributor Author

This is not yet ready. thanks for the first run review though

@flutter-dashboard
Copy link

This pull request has been changed to a draft. The currently pending flutter-gold status will not be able to resolve until a new commit is pushed or the change is marked ready for review again.

For more guidance, visit Writing a golden file test for package:flutter.

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@github-actions github-actions bot added the framework flutter/packages/flutter repository. See also f: labels. label Sep 15, 2025
@chunhtai chunhtai force-pushed the issues/98948-app-locale branch 2 times, most recently from a4c72eb to abb4c60 Compare September 16, 2025 19:45
@github-actions github-actions bot added the a: tests "flutter test", flutter_test, or one of our tests label Sep 16, 2025
@chunhtai chunhtai force-pushed the issues/98948-app-locale branch from d97f19d to d847552 Compare September 19, 2025 17:08
@github-actions github-actions bot added the platform-web Web applications specifically label Sep 19, 2025
@chunhtai chunhtai marked this pull request as ready for review September 19, 2025 21:06
@chunhtai chunhtai force-pushed the issues/98948-app-locale branch from 27345ee to c80bdde Compare September 22, 2025 16:13
@chunhtai
Copy link
Contributor Author

This is now ready for review, the google test failure and other seems unrelated.

@chunhtai chunhtai force-pushed the issues/98948-app-locale branch from c80bdde to 24822d5 Compare September 23, 2025 19:53
@chunhtai chunhtai force-pushed the issues/98948-app-locale branch from 134bd92 to 8b87037 Compare September 30, 2025 16:26
@chunhtai chunhtai added the autosubmit Merge PR when tree becomes green via auto submit App label Sep 30, 2025
@auto-submit auto-submit bot added this pull request to the merge queue Sep 30, 2025
Merged via the queue into flutter:master with commit f868350 Oct 1, 2025
188 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Oct 1, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 1, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 1, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 1, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 1, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 1, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Oct 1, 2025
…10160)

Manual roll requested by [email protected]

flutter/flutter@c9608e2...7811e89

2025-10-01 [email protected] Migrate to `WidgetStateTextStyle` (flutter/flutter#176330)
2025-10-01 [email protected] Migrate to `WidgetStateOutlinedBorder` (flutter/flutter#176270)
2025-10-01 [email protected] [win32] Runloop should use high resolution timer and avoid deadlock (flutter/flutter#176023)
2025-10-01 [email protected] Roll Packages from 287739d to 321a584 (3 revisions) (flutter/flutter#176357)
2025-10-01 [email protected] Add SwiftUI support for UIScene migration (flutter/flutter#176230)
2025-10-01 [email protected] Roll Skia from ecaff95f51aa to c44a36470d07 (4 revisions) (flutter/flutter#176336)
2025-10-01 [email protected] [native assets] Enable build hooks and code assets on stable (flutter/flutter#176285)
2025-10-01 [email protected] [native assets] Roll dependencies (flutter/flutter#176287)
2025-10-01 [email protected] Roll Dart SDK from 527333cfe4cf to 8ffec1435cf3 (1 revision) (flutter/flutter#176334)
2025-10-01 [email protected] Roll Skia from 6998b06397c5 to ecaff95f51aa (1 revision) (flutter/flutter#176333)
2025-10-01 [email protected] Update description in _LastFinderMixin to properly describe finding last (flutter/flutter#174232)
2025-10-01 [email protected] Roll Skia from b242cc09488d to 6998b06397c5 (2 revisions) (flutter/flutter#176331)
2025-10-01 [email protected] Roll Dart SDK from af31d2637b6b to 527333cfe4cf (17 revisions) (flutter/flutter#176325)
2025-10-01 [email protected] Stop using deprecated analyzer 7.x.y APIs. (flutter/flutter#176242)
2025-10-01 [email protected] Fix docs referencing deprecated radio properties (flutter/flutter#176244)
2025-09-30 [email protected] Roll Skia from bb3b6bd4be0d to b242cc09488d (22 revisions) (flutter/flutter#176320)
2025-09-30 [email protected] Roll Fuchsia Linux SDK from rcOl0yxJb4znJ903Y... to 1Ai6VL4vb_GdGnWhg... (flutter/flutter#176315)
2025-09-30 [email protected] Adds dart ui API for setting application level locale (flutter/flutter#175100)
2025-09-30 [email protected] replace `onPop` usage with `onPopWithResult` in `navigation_bar.2.dart ` (flutter/flutter#174841)
2025-09-30 [email protected] [ Widget Preview ] Forward Widget Inspector navigation events via DTD (flutter/flutter#176218)
2025-09-30 [email protected] Add verbose logs to module_uiscene_test_ios (flutter/flutter#176306)
2025-09-30 [email protected] Web semantics: Fix email field selection/cursor by using type="text" + inputmode="email" (flutter/flutter#175876)

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
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: 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
okorohelijah pushed a commit to okorohelijah/flutter that referenced this pull request Oct 7, 2025
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

part of flutter#99600

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**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.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 12, 2025
reidbaker pushed a commit to AbdeMohlbi/flutter that referenced this pull request Dec 10, 2025
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

part of flutter#99600

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**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.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) a: desktop Running on desktop a: tests "flutter test", flutter_test, or one of our tests engine flutter/engine related. See also e: labels. framework flutter/packages/flutter repository. See also f: labels. platform-android Android applications specifically platform-ios iOS applications specifically platform-macos platform-web Web applications specifically team-android Owned by Android platform team team-ios Owned by iOS platform team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants