Skip to content

Conversation

@chunhtai
Copy link
Contributor

@chunhtai chunhtai commented Aug 6, 2025

related #99600

what still missing:

  1. iOS equivalence
  2. set application level locale

internal only doc: go/flutter-semantics-language

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 August 6, 2025 18:56
@github-actions github-actions bot added platform-android Android applications specifically engine flutter/engine related. See also e: labels. a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) team-android Owned by Android platform team labels Aug 6, 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 wires up the Android accessibility API to support setting a locale on a semantics node. The changes span from the UI layer in C++ down to the Android platform-specific Java code. My review includes a few suggestions: fixing a bug in a new unit test, using the correct log level for a debug message, and removing an unused parameter from a function signature. Overall, the changes look good and the new test coverage is appreciated.

@flutter-dashboard
Copy link

CI had a failure that stopped further tests from running. We need to investigate to determine the root cause.

SHA at time of execution: 494a34b.

Possible causes:

  • Configuration Changes: The .ci.yaml file might have been modified between the creation of this pull request and the start of this test run. This can lead to ci yaml validation errors.
  • Infrastructure Issues: Problems with the CI environment itself (e.g., quota) could have caused the failure.

A blank commit, or merging to head, will be required to resume running CI for this PR.

Error Details:

GitHub Error: You have exceeded a secondary rate limit. Please wait a few minutes before you try again. If you reach out to GitHub Support for help, please include the request ID B89A:2C3875:3D1A6AA:9252E28:6893DBCA.

Stack trace:

#0      GitHub.handleStatusCode (package:github/src/common/github.dart:486:5)
#1      GitHub.request (package:github/src/common/github.dart:422:7)
<asynchronous suspension>
#2      GitHub.requestJson (package:github/src/common/github.dart:323:22)
<asynchronous suspension>
#3      RetryOptions.retry (package:retry/retry.dart:131:16)
<asynchronous suspension>
#4      LuciBuildService.scheduleTryBuilds (package:cocoon_service/src/service/luci_build_service.dart:246:24)
<asynchronous suspension>
#5      Scheduler._runCiTestingStage (package:cocoon_service/src/service/scheduler.dart:1255:9)
<asynchronous suspension>
#6      Scheduler.proceedToCiTestingStage (package:cocoon_service/src/service/scheduler.dart:1316:7)
<asynchronous suspension>
#7      Scheduler._closeSuccessfulEngineBuildStage (package:cocoon_service/src/service/scheduler.dart:1127:5)
<asynchronous suspension>
#8      Scheduler.processCheckRunCompletion (package:cocoon_service/src/service/scheduler.dart:1060:9)
<asynchronous suspension>
#9      Scheduler.processCheckRun (package:cocoon_service/src/service/scheduler.dart:1400:9)
<asynchronous suspension>
#10     GithubWebhookSubscription.post (package:cocoon_service/src/request_handlers/github/webhook_subscription.dart:120:24)
<asynchronous suspension>
#11     RequestHandler.service (package:cocoon_service/src/request_handling/request_handler.dart:45:20)
<asynchronous suspension>
#12     SubscriptionHandler.service (package:cocoon_service/src/request_handling/subscription_handler.dart:140:5)
<asynchronous suspension>
#13     createServer.<anonymous closure> (package:cocoon_service/server.dart:329:7)
<asynchronous suspension>

@chunhtai chunhtai requested a review from reidbaker August 14, 2025 17:40
@chunhtai chunhtai force-pushed the issues/99600 branch 2 times, most recently from 1519545 to a946cbb Compare August 15, 2025 20:36
@chunhtai
Copy link
Contributor Author

/gemini review

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 wires up the Android accessibility API to support setting a locale on a semantics node. The changes span across Dart, C++, and Java to pass the locale information from the framework to the Android accessibility services. The implementation is mostly correct, but I've found a critical issue in the Java code where an incorrect locale format will cause a runtime crash. I've also pointed out an unused parameter in the C++ code that should be addressed.

const std::vector<std::string>& controlsNodes,
int validationResult) {
int validationResult,
int inputType,
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The inputType parameter is accepted by updateNode but it is not used within the function's body. This could indicate an incomplete implementation or leftover code. To improve code clarity and maintainability, this unused parameter should be either utilized or removed.

Copy link
Contributor

Choose a reason for hiding this comment

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

Is this bot comment correct?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

it is not used because there is no usage outside of web (this file is the glue code for non-web engine), but i have to keep it here because this is a positional parameter so that I can use the locale parameter

Comment on lines 269 to 241
if (node.locale.empty()) {
buffer_int32[position++] = -1;
} else {
buffer_int32[position++] = strings.size();
strings.push_back(node.locale);
}

Copy link
Contributor

Choose a reason for hiding this comment

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

No change you need to make but this makes me sad to review. This type of message passing is so easy to mess up in a way that is hard for authors or reviewers to realize. There are formats for passing data via strings and the conversion code is all generated.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

There are formats for passing data via strings and the conversion code is all generated.

Do you have example? I only know json, but think that may not be efficient

Copy link
Contributor

@reidbaker reidbaker Aug 18, 2025

Choose a reason for hiding this comment

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

protobuffs, msgpack, even pigeon which we maintain lets authors author a platform independent object that is typesafe after serialization across the wire.

strings.push_back(node.linkUrl);
}

if (node.locale.empty()) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Somewhere in this code please articulate the meaning of the magical number -1 when used in the local location and the expected format of the local string. Especially if the assumption is for it to match some standard.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I refactored out the code so less duplicate, but I am not sure how can i addressed the magical number -1 here since defining a constant won't be useful outside this class (it can't be use from java side when decoding the buffer)

const std::vector<std::string>& controlsNodes,
int validationResult) {
int validationResult,
int inputType,
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this bot comment correct?

@chunhtai chunhtai force-pushed the issues/99600 branch 2 times, most recently from 6ebed01 to c3fa588 Compare August 19, 2025 15:40
@chunhtai chunhtai requested a review from reidbaker August 19, 2025 16:04
@chunhtai chunhtai force-pushed the issues/99600 branch 3 times, most recently from 5fc4116 to 1d44e84 Compare August 22, 2025 18:51
Copy link
Contributor

@reidbaker reidbaker left a comment

Choose a reason for hiding this comment

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

Couple of comments, In addition to my review please get a review from someone who is more comfortable in c++

private static String getStringFromBuffer(@NonNull ByteBuffer buffer, @NonNull String[] strings) {
int stringIndex = buffer.getInt();

return stringIndex == -1 ? null : strings[stringIndex];
Copy link
Contributor

Choose a reason for hiding this comment

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

Please make -1 a private constant. Maybe name it NOT_FOUND?

* <p>Use {@code addLocale} to set the locale and/or {@code addUrl} to set the url for the entire
* string. Uses {@code addAttributes} to add any additional {@code StringAttribute} to the string
*/
private static class AccessibilityStringBuilder {
Copy link
Contributor

Choose a reason for hiding this comment

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

Consider putting this into its own file. This file is already pretty large.

expected_strings.push_back(node0.identifier);
buffer_int32[position++] = expected_strings.size(); // node0.label
expected_strings.push_back(node0.label);
buffer_int32[position++] = -1; // node0.labelAttributes
Copy link
Contributor

Choose a reason for hiding this comment

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

Thank you for labeling these values it helps with readability.

Copy link
Member

@gaaclarke gaaclarke left a comment

Choose a reason for hiding this comment

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

I did a c++ review. There's nothing major, just some readability notes mostly.

Copy link
Member

@gaaclarke gaaclarke left a comment

Choose a reason for hiding this comment

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

lgtm thanks

@chunhtai chunhtai added the autosubmit Merge PR when tree becomes green via auto submit App label Sep 3, 2025
@auto-submit auto-submit bot added this pull request to the merge queue Sep 3, 2025
Merged via the queue into flutter:master with commit f5ce911 Sep 4, 2025
182 of 183 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Sep 4, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Sep 4, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Sep 4, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Sep 4, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Sep 4, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Sep 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Sep 5, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Sep 5, 2025
Roll Flutter from 6b18740 to 87d5b75 (88 revisions)

flutter/flutter@6b18740...87d5b75

2025-09-05 bkonyi@google.com [ Device Lab ] Add regression testing for flutter/flutter#174952 (flutter/flutter#174956)
2025-09-05 engine-flutter-autoroll@skia.org Roll Skia from 0ca53adfc6cc to 845ec125e94c (2 revisions) (flutter/flutter#174978)
2025-09-05 bruno.leroux@gmail.com [a11y-app] Fix NavigationRail leading and trailing labels (flutter/flutter#174861)
2025-09-05 engine-flutter-autoroll@skia.org Roll Skia from d7e99be07d5d to 0ca53adfc6cc (5 revisions) (flutter/flutter#174972)
2025-09-05 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from izfNA3o_2zL4Cjqmy... to xG_uERsxHvUwFHpF2... (flutter/flutter#174970)
2025-09-04 bruno.leroux@gmail.com Fix IconButton.color overrided by IconButtomTheme (flutter/flutter#174515)
2025-09-04 mdebbar@google.com [web] Reuse chrome instance to run all flutter tests (flutter/flutter#174957)
2025-09-04 pedromassango.developer@gmail.com fix(Semantics): Ensure semantics properties take priority over button's (flutter/flutter#174473)
2025-09-04 15619084+vashworth@users.noreply.github.com Make every LLDB Init error message actionable (flutter/flutter#174726)
2025-09-04 jhy03261997@gmail.com Fix table cell semantics rect alignment issues.  (flutter/flutter#174914)
2025-09-04 34465683+rkishan516@users.noreply.github.com Fix: Use route navigator for CupertinoSheetRoute pop (flutter/flutter#173103)
2025-09-04 bkonyi@google.com [ Widget Preview] Add `group` property to `Preview` (flutter/flutter#174849)
2025-09-04 47866232+chunhtai@users.noreply.github.com Allow OverlayPortal.overlayChildLayoutBuilder to choose root Overlay (flutter/flutter#174239)
2025-09-04 engine-flutter-autoroll@skia.org Roll Skia from 7c2f502e3304 to d7e99be07d5d (18 revisions) (flutter/flutter#174936)
2025-09-04 mdebbar@google.com Remove 'terms of use' wording from web_unicode (flutter/flutter#174939)
2025-09-04 bkonyi@google.com [ Tool ] Remove leftover Android x86 deprecation warning constant (flutter/flutter#174941)
2025-09-04 15619084+vashworth@users.noreply.github.com Prevent potential crash when accessing window in FlutterSceneDelegate (flutter/flutter#174873)
2025-09-04 engine-flutter-autoroll@skia.org Roll Packages from 42bb347 to 98580c6 (5 revisions) (flutter/flutter#174943)
2025-09-04 bkonyi@google.com [ Device Lab ] Fix wakefulness check to only match log entries with string values (flutter/flutter#174953)
2025-09-04 bruno.leroux@gmail.com Fix expanded DropdownMenu panel is shorter than text field (flutter/flutter#174443)
2025-09-04 31859944+LongCatIsLooong@users.noreply.github.com Add a `viewController` property to the ios/macOS `FlutterPluginRegistrar` protocol  (flutter/flutter#174168)
2025-09-03 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from J3T_wZqL_57mRfWky... to izfNA3o_2zL4Cjqmy... (flutter/flutter#174908)
2025-09-03 47866232+chunhtai@users.noreply.github.com Wires up Android API to set section locale (flutter/flutter#173364)
2025-09-03 chinmaygarde@google.com Delete impeller::SPrintF. (flutter/flutter#174900)
2025-09-03 ahmedsameha1@gmail.com Make sure that a DropdownMenuFormField doesn't crash in 0x0 environment (flutter/flutter#174777)
2025-09-03 mdebbar@google.com Remove unnecessary `presubmit_max_attempts` from .ci.yaml (flutter/flutter#174885)
2025-09-03 mdebbar@google.com Use local canvaskit in `dart_data_asset_test.dart` (flutter/flutter#174891)
2025-09-03 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Mark Linux web_canvaskit_tests_7_last as bringup (#174878)" (flutter/flutter#174897)
2025-09-03 victorsanniay@gmail.com Correct intrinsics calculation for CupertinoTextField with placeholder (flutter/flutter#174889)
2025-09-03 11901536+romaingyh@users.noreply.github.com Considers large title height in CupertinoNavigationBar's preferred size (flutter/flutter#173722)
2025-09-03 victorsanniay@gmail.com [A11y] Add semantics for CupertinoExpansionTile (flutter/flutter#174480)
2025-09-03 sokolovskyi.konstantin@gmail.com Fix LinearProgressIndicator track painting. (flutter/flutter#173108)
2025-09-03 matt.boetger@gmail.com update triage documentation to include team-android (flutter/flutter#174850)
2025-09-03 mdebbar@google.com Update `test_timeout_secs` to match `timeout` for `Linux web_skwasm_tests_*` and `Linux web_canvaskit_tests_*` (flutter/flutter#174881)
2025-09-03 engine-flutter-autoroll@skia.org Roll Packages from 5d785a0 to 42bb347 (10 revisions) (flutter/flutter#174876)
2025-09-03 chinmaygarde@google.com Fixup formatting of gn files in the old buildroot. (flutter/flutter#174852)
2025-09-03 iinozemtsev@google.com Roll Dart SDK to 3.10.0-162.1.beta (flutter/flutter#174834)
2025-09-03 mdebbar@google.com Mark Linux web_canvaskit_tests_7_last as bringup (flutter/flutter#174878)
2025-09-02 flar@google.com [Impeller] Fix overdraw in DrawRect geometry (flutter/flutter#174735)
2025-09-02 chinmaygarde@google.com Patch .clang-format files to specify C++20. (flutter/flutter#174848)
2025-09-02 mosum@google.com Add data assets (flutter/flutter#174685)
2025-09-02 mohellebiabdessalem@gmail.com refactors `FlutterPlugin.kt` to use one line statement in the `into` bloc (flutter/flutter#174759)
2025-09-02 47866232+chunhtai@users.noreply.github.com Ensures initial semantics state is sent to engine (flutter/flutter#174845)
2025-09-02 43054281+camsim99@users.noreply.github.com [Android] Break up plugin_test integration tests (flutter/flutter#174728)
2025-09-02 34465683+rkishan516@users.noreply.github.com Fix: Assertion failure in RawScrollbarState with dynamic controller assignment (flutter/flutter#173156)
2025-09-02 engine-flutter-autoroll@skia.org Roll Skia from 359f3d7cc7ed to 7c2f502e3304 (1 revision) (flutter/flutter#174844)
...
mboetger pushed a commit to mboetger/flutter that referenced this pull request Sep 18, 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
-->

related flutter#99600

what still missing:
1. iOS equivalence
2. set application level locale 

internal only doc:
[go/flutter-semantics-language](http://goto.google.com/flutter-semantics-language)


## 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
Jaineel-Mamtora pushed a commit to Jaineel-Mamtora/flutter_forked that referenced this pull request Sep 24, 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
-->

related flutter#99600

what still missing:
1. iOS equivalence
2. set application level locale 

internal only doc:
[go/flutter-semantics-language](http://goto.google.com/flutter-semantics-language)


## 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
danferreira pushed a commit to danferreira/packages that referenced this pull request Oct 22, 2025
Roll Flutter from 6b18740 to 87d5b75 (88 revisions)

flutter/flutter@6b18740...87d5b75

2025-09-05 bkonyi@google.com [ Device Lab ] Add regression testing for flutter/flutter#174952 (flutter/flutter#174956)
2025-09-05 engine-flutter-autoroll@skia.org Roll Skia from 0ca53adfc6cc to 845ec125e94c (2 revisions) (flutter/flutter#174978)
2025-09-05 bruno.leroux@gmail.com [a11y-app] Fix NavigationRail leading and trailing labels (flutter/flutter#174861)
2025-09-05 engine-flutter-autoroll@skia.org Roll Skia from d7e99be07d5d to 0ca53adfc6cc (5 revisions) (flutter/flutter#174972)
2025-09-05 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from izfNA3o_2zL4Cjqmy... to xG_uERsxHvUwFHpF2... (flutter/flutter#174970)
2025-09-04 bruno.leroux@gmail.com Fix IconButton.color overrided by IconButtomTheme (flutter/flutter#174515)
2025-09-04 mdebbar@google.com [web] Reuse chrome instance to run all flutter tests (flutter/flutter#174957)
2025-09-04 pedromassango.developer@gmail.com fix(Semantics): Ensure semantics properties take priority over button's (flutter/flutter#174473)
2025-09-04 15619084+vashworth@users.noreply.github.com Make every LLDB Init error message actionable (flutter/flutter#174726)
2025-09-04 jhy03261997@gmail.com Fix table cell semantics rect alignment issues.  (flutter/flutter#174914)
2025-09-04 34465683+rkishan516@users.noreply.github.com Fix: Use route navigator for CupertinoSheetRoute pop (flutter/flutter#173103)
2025-09-04 bkonyi@google.com [ Widget Preview] Add `group` property to `Preview` (flutter/flutter#174849)
2025-09-04 47866232+chunhtai@users.noreply.github.com Allow OverlayPortal.overlayChildLayoutBuilder to choose root Overlay (flutter/flutter#174239)
2025-09-04 engine-flutter-autoroll@skia.org Roll Skia from 7c2f502e3304 to d7e99be07d5d (18 revisions) (flutter/flutter#174936)
2025-09-04 mdebbar@google.com Remove 'terms of use' wording from web_unicode (flutter/flutter#174939)
2025-09-04 bkonyi@google.com [ Tool ] Remove leftover Android x86 deprecation warning constant (flutter/flutter#174941)
2025-09-04 15619084+vashworth@users.noreply.github.com Prevent potential crash when accessing window in FlutterSceneDelegate (flutter/flutter#174873)
2025-09-04 engine-flutter-autoroll@skia.org Roll Packages from 42bb347 to 98580c6 (5 revisions) (flutter/flutter#174943)
2025-09-04 bkonyi@google.com [ Device Lab ] Fix wakefulness check to only match log entries with string values (flutter/flutter#174953)
2025-09-04 bruno.leroux@gmail.com Fix expanded DropdownMenu panel is shorter than text field (flutter/flutter#174443)
2025-09-04 31859944+LongCatIsLooong@users.noreply.github.com Add a `viewController` property to the ios/macOS `FlutterPluginRegistrar` protocol  (flutter/flutter#174168)
2025-09-03 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from J3T_wZqL_57mRfWky... to izfNA3o_2zL4Cjqmy... (flutter/flutter#174908)
2025-09-03 47866232+chunhtai@users.noreply.github.com Wires up Android API to set section locale (flutter/flutter#173364)
2025-09-03 chinmaygarde@google.com Delete impeller::SPrintF. (flutter/flutter#174900)
2025-09-03 ahmedsameha1@gmail.com Make sure that a DropdownMenuFormField doesn't crash in 0x0 environment (flutter/flutter#174777)
2025-09-03 mdebbar@google.com Remove unnecessary `presubmit_max_attempts` from .ci.yaml (flutter/flutter#174885)
2025-09-03 mdebbar@google.com Use local canvaskit in `dart_data_asset_test.dart` (flutter/flutter#174891)
2025-09-03 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Mark Linux web_canvaskit_tests_7_last as bringup (#174878)" (flutter/flutter#174897)
2025-09-03 victorsanniay@gmail.com Correct intrinsics calculation for CupertinoTextField with placeholder (flutter/flutter#174889)
2025-09-03 11901536+romaingyh@users.noreply.github.com Considers large title height in CupertinoNavigationBar's preferred size (flutter/flutter#173722)
2025-09-03 victorsanniay@gmail.com [A11y] Add semantics for CupertinoExpansionTile (flutter/flutter#174480)
2025-09-03 sokolovskyi.konstantin@gmail.com Fix LinearProgressIndicator track painting. (flutter/flutter#173108)
2025-09-03 matt.boetger@gmail.com update triage documentation to include team-android (flutter/flutter#174850)
2025-09-03 mdebbar@google.com Update `test_timeout_secs` to match `timeout` for `Linux web_skwasm_tests_*` and `Linux web_canvaskit_tests_*` (flutter/flutter#174881)
2025-09-03 engine-flutter-autoroll@skia.org Roll Packages from 5d785a0 to 42bb347 (10 revisions) (flutter/flutter#174876)
2025-09-03 chinmaygarde@google.com Fixup formatting of gn files in the old buildroot. (flutter/flutter#174852)
2025-09-03 iinozemtsev@google.com Roll Dart SDK to 3.10.0-162.1.beta (flutter/flutter#174834)
2025-09-03 mdebbar@google.com Mark Linux web_canvaskit_tests_7_last as bringup (flutter/flutter#174878)
2025-09-02 flar@google.com [Impeller] Fix overdraw in DrawRect geometry (flutter/flutter#174735)
2025-09-02 chinmaygarde@google.com Patch .clang-format files to specify C++20. (flutter/flutter#174848)
2025-09-02 mosum@google.com Add data assets (flutter/flutter#174685)
2025-09-02 mohellebiabdessalem@gmail.com refactors `FlutterPlugin.kt` to use one line statement in the `into` bloc (flutter/flutter#174759)
2025-09-02 47866232+chunhtai@users.noreply.github.com Ensures initial semantics state is sent to engine (flutter/flutter#174845)
2025-09-02 43054281+camsim99@users.noreply.github.com [Android] Break up plugin_test integration tests (flutter/flutter#174728)
2025-09-02 34465683+rkishan516@users.noreply.github.com Fix: Assertion failure in RawScrollbarState with dynamic controller assignment (flutter/flutter#173156)
2025-09-02 engine-flutter-autoroll@skia.org Roll Skia from 359f3d7cc7ed to 7c2f502e3304 (1 revision) (flutter/flutter#174844)
...
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 12, 2025
lucaantonelli pushed a commit to lucaantonelli/flutter that referenced this pull request Nov 21, 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
-->

related flutter#99600

what still missing:
1. iOS equivalence
2. set application level locale 

internal only doc:
[go/flutter-semantics-language](http://goto.google.com/flutter-semantics-language)


## 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) engine flutter/engine related. See also e: labels. platform-android Android applications specifically team-android Owned by Android platform team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants