83841 Commits

Author SHA1 Message Date
Flutter GitHub Bot
0c19a5071b
Marks Linux_pixel_7pro dynamic_path_stroke_tessellation_perf__timeline_summary to be unflaky (#167632)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
"name": "Linux_pixel_7pro
dynamic_path_stroke_tessellation_perf__timeline_summary"
}
-->
The test has been passing for [50 consecutive
runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Linux_pixel_7pro%20dynamic_path_stroke_tessellation_perf__timeline_summary%22).
This test can be marked as unflaky.

Co-authored-by: Matan Lurey <matanlurey@users.noreply.github.com>
2025-04-23 21:36:21 +00:00
Renzo Olivares
03b7c23313
EditableText should not allow horizontal scrolling on iOS (#162841)
Fixes #25553 

On iOS single-line TextFields are not scrollable with user input, for
example a pan gesture to move the viewport. They can still be scrolled
when the user drags the selection handles. Scrolling remains the same
for multi-line TextFields. A user can override this by providing
CupertinoTextField/TextField/EditableText with a custom `scrollPhysics`.

## Pre-launch Checklist

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

---------

Co-authored-by: Renzo Olivares <roliv@google.com>
2025-04-23 21:31:17 +00:00
flutter-pub-roller-bot
e0b5546ebd
Roll pub packages (#167680)
This PR was generated by `flutter update-packages --force-upgrade`.
2025-04-23 21:18:16 +00:00
Flutter GitHub Bot
3ec8d19e10
Marks Linux analyzer_benchmark to be unflaky (#167630)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Linux analyzer_benchmark"
}
-->
The issue https://github.com/flutter/flutter/issues/161306 has been
closed, and the test has been passing for [50 consecutive
runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Linux%20analyzer_benchmark%22).
This test can be marked as unflaky.

Co-authored-by: Matan Lurey <matanlurey@users.noreply.github.com>
2025-04-23 21:16:09 +00:00
ash2moon
59c8eab80f
Remove use of announce in time_picker and remove double Feedback.forTap calls (#167241)
<!--
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
-->

This pull request replaces the use of the deprecated announce calls with
idiomatic Semantic widgets and also removes the extra `Feedback.forTap`
call. The `InkWell` widget already wraps the onTap with the
`Feedback.forTap`. I also made sure sure that existing functionality is
not impacted.

Resolves https://github.com/flutter/flutter/issues/166448
Partially addresses https://github.com/flutter/flutter/issues/165510

Physical Testing:
Android 
iOS 
Web 

## Pre-launch Checklist

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

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

<!-- 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
2025-04-23 20:44:17 +00:00
Flutter GitHub Bot
b33f8e8037
Marks Linux_pixel_7pro integration_ui_driver to be flaky (#167639)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Linux_pixel_7pro integration_ui_driver"
}
-->
Issue link: https://github.com/flutter/flutter/issues/167638
2025-04-23 20:24:35 +00:00
Flutter GitHub Bot
80e6328f93
Marks Mac_mokey run_release_test to be unflaky (#167635)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Mac_mokey run_release_test"
}
-->
The issue https://github.com/flutter/flutter/issues/153830 has been
closed, and the test has been passing for [50 consecutive
runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Mac_mokey%20run_release_test%22).
This test can be marked as unflaky.
2025-04-23 20:24:34 +00:00
Flutter GitHub Bot
b6f22513b4
Marks Windows_arm64 plugin_test_windows to be unflaky (#167636)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Windows_arm64 plugin_test_windows"
}
-->
The issue https://github.com/flutter/flutter/issues/163122 has been
closed, and the test has been passing for [50 consecutive
runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Windows_arm64%20plugin_test_windows%22).
This test can be marked as unflaky.
2025-04-23 20:23:00 +00:00
engine-flutter-autoroll
79a033bb15
Roll Dart SDK from 55cfa1d9f847 to 19c25afca603 (2 revisions) (#167666)
https://dart.googlesource.com/sdk.git/+log/55cfa1d9f847..19c25afca603

2025-04-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-46.0.dev
2025-04-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-45.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC chinmaygarde@google.com,dart-vm-team@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
2025-04-23 18:48:13 +00:00
Juergen Werner
6d7fff576b
Add more visual feedback to Slider with slideOnly interaction (#165306)
<!--
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
-->

Sliders with `allowedInteraction: SliderInteraction.slideOnly` gave no
interaction feedback, if they are grabbed and moved along the track
instead of the handle, despite having the exact same behaviour
otherwise.

With this change, the handle becomes "active" (elevate+overlay) as soon,
as the track is tapped.

Fixes #165304 

## Pre-launch Checklist

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

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

<!-- 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
2025-04-23 18:29:52 +00:00
engine-flutter-autoroll
7b3e77cd44
Roll Packages from f1fc965e1bd1 to 41211cf4c9a8 (3 revisions) (#167664)
f1fc965e1b...41211cf4c9

2025-04-22 11042814+vikdubey@users.noreply.github.com [gis_web] Make
maybeEnum more robust in google_identity_services_web shared file.
(flutter/packages#8999)
2025-04-22 sokolovskyi.konstantin@gmail.com [video_player_web] Fix blank
first frame on iOS. (flutter/packages#9025)
2025-04-22 32538273+ValentinVignal@users.noreply.github.com [go_router]
Add missing `caseSensitive` parameter to `GoRouteData.$route`
(flutter/packages#9126)

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
2025-04-23 18:05:51 +00:00
Ildeberto Vasconcelos
9f10f8d8cc
Remove redundant usematerial3 (#167337)
This PR removes redundant useMaterial3 since it is true by default.


Contribute to https://github.com/flutter/flutter/issues/162818

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] All existing and new tests are passing.
2025-04-23 18:05:48 +00:00
engine-flutter-autoroll
4b4b1dd483
Roll Fuchsia Linux SDK from 8ftPq5MhZkxE_XSi1... to kv7EzI7mADDgRbtmL... (#167661)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC chinmaygarde@google.com,zra@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
2025-04-23 17:37:49 +00:00
Chinmay Garde
5896cefa18
[Impeller] Make incremental builds faster when tinkering on the compiler. (#167492)
GN set the Ninja `restat` argument to 1 by default. Which means that it
notes the modification timestamp when writing the contents. Its man page
states "Scripts can improve build performance by taking care not to
change the timstamp of the output file(s) if the contents have not
changed.".

Modifying the compiler will now still re-compile shaders. But if the
shaders have not changed, downstream edges will be culled.

This can be observed in the Ninja progress update after this change.
After editing any file in the compiler, Ninja start out with `(2/866)
LINK ./impellerc`. But as it culls edges, it skips tasks and ends with
`(454/455) ACTION //flutter/...`. Around half the edges are culled. More
importantly, the unit-tests edges are culled as well. For workflows
where only the changed tests are run, this saves a ton of test time in
addition to build time.
2025-04-23 17:36:20 +00:00
Victoria Ashworth
b73450f8f2
Redistribute iOS TESTOWNERS (#167562)
Remove loic-sharma and add LongCatIsLooong to iOS TESTOWNERS

## Pre-launch Checklist

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

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

<!-- 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
2025-04-23 14:59:49 +00:00
engine-flutter-autoroll
2ffcab0a18
Roll Dart SDK from 721dce1c9199 to 55cfa1d9f847 (1 revision) (#167641)
https://dart.googlesource.com/sdk.git/+log/721dce1c9199..55cfa1d9f847

2025-04-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-44.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC chinmaygarde@google.com,dart-vm-team@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
2025-04-23 10:59:25 +00:00
engine-flutter-autoroll
7a4b256014
Roll Skia from be6f3563f1a0 to 3f703c75ca4c (2 revisions) (#167616)
https://skia.googlesource.com/skia.git/+log/be6f3563f1a0..3f703c75ca4c

2025-04-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 9428adfc1d3b to 41da68cbb45c (23 revisions)
2025-04-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 00949bebf147 to 305ec8e5086e (9 revisions)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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
2025-04-23 06:51:27 +00:00
engine-flutter-autoroll
26ebdca6b4
Roll Dart SDK from ba5acf1e38b1 to 721dce1c9199 (1 revision) (#167611)
https://dart.googlesource.com/sdk.git/+log/ba5acf1e38b1..721dce1c9199

2025-04-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-43.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC chinmaygarde@google.com,dart-vm-team@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
2025-04-23 02:15:34 +00:00
engine-flutter-autoroll
0de0514761
Roll Skia from 1fb8f012de1b to be6f3563f1a0 (20 revisions) (#167609)
https://skia.googlesource.com/skia.git/+log/1fb8f012de1b..be6f3563f1a0

2025-04-22 thomsmit@google.com Reland "[graphite] Update DrawWriter to
minimize binds by using pending base offsets."
2025-04-22 borenet@google.com [infra] Remove old MacMini9.1 Mac13 tasks
2025-04-22 danieldilan@google.com Add necessary include to compile
RustPNG (with correct flag name)
2025-04-22 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll
Dawn from 32c8fdb708ef to 9428adfc1d3b (25 revisions)
2025-04-22 jmbetancourt@google.com Update buildtools version
2025-04-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from c70bb7aae968 to 00949bebf147 (1 revision)
2025-04-22 jamesgk@google.com [graphite] Ignore no-op nodes when lifting
shader expressions
2025-04-22 kjlubick@google.com Remove old alias for making pinnable
images
2025-04-22 kjlubick@google.com Make tail pixel scratch pad be aligned
for possibly better performance
2025-04-22 kjlubick@google.com Remove alignment assumptions in highp
gather
2025-04-22 kjlubick@google.com Enable C++20 for Clang-Tidy job
2025-04-22 danieldilan@google.com Add necessary include to compile
RustPNG
2025-04-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from f355e2b37ed4 to 962e147a59f4 (2 revisions)
2025-04-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 1eef77795230 to c70bb7aae968 (6 revisions)
2025-04-21 lukasza@chromium.org [rust png] Remove non-granular `.gni`
file lists.
2025-04-21 kjlubick@google.com Avoid assumption of 32 bit aligned pixel
data in RP's lowp gather()
2025-04-21 michaelludwig@google.com [graphite] Use TextureFormat in
AttachmentDesc
2025-04-21 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll
Dawn from fe0be9e4b4f9 to 32c8fdb708ef (1 revision)
2025-04-21 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll
vulkan-deps from 61080f55d11e to 1eef77795230 (11 revisions)
2025-04-21 kjlubick@google.com Use c++20 when building Dawn

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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
2025-04-23 01:29:26 +00:00
Gray Mackall
9edfbbff25
Disable a couple of entries in android_java17_dependency_smoke_tests (#167604)
This target is frequently timing out. We should prioritize tackling
https://github.com/flutter/flutter/issues/167495, but in the meantime
the flake rate is too high. To avoid disabling the target entirely,
disable a couple of entries that are testing the same AGP version (but
with different Gradle and Kotlin versions).

Partially fixes https://github.com/flutter/flutter/issues/167263.

## Pre-launch Checklist

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

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

<!-- 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

Co-authored-by: Gray Mackall <mackall@google.com>
2025-04-22 23:38:39 +00:00
Loïc Sharma
08a59c2802
[iOS] Hide keyboard on hot restart (#167013)
This hides the keyboard and text input context menu if you hot restart
your iOS app.

Before | After
-- | --
<video
src="https://github.com/user-attachments/assets/7ca5dbfe-a809-478c-9b36-4c168527b176"
/> | <video
src="https://github.com/user-attachments/assets/d1a48c16-f171-4d22-baa4-5c40488d055b"
/>

Part of https://github.com/flutter/flutter/issues/10713

## Pre-launch Checklist

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

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

<!-- 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
2025-04-22 23:33:02 +00:00
Hannah Jin
46144a2f4d
[a11y] Semanctis flag refactor step 1: engine part (#167421)
issue: https://github.com/flutter/flutter/issues/166101 


**step 1:** Add struct SemanticsFlags in semantics_node.h and class
SemanticsFlags in dart:ui, it's still a bitmask in embedder and
framework.


TODO: 
Other parts will be in other following  PRs
* Embedder 
add a struct FlutterSemanticsFlags
add FlutterSemanticsFlags* to FlutterSemanticsNode2

* web engine
 use the new class

* SemanticsUpdateBuilder.updateNode
pass a list of bools instead of bitmask

* Framework
use the SemanticsFlags class instead of bitmask

* flutter_tester
use the SemanticsFlags class instead of bitmask
*
[apicheck_test.dart](https://github.com/flutter/flutter/pull/167421/files#diff-69aefaacf1041f639974044962123bfae0756ce86032ac1f26256099425d7a5a)
 Add this test back


*Replace this paragraph with a description of what this PR is changing
or adding, and why. Consider including before/after screenshots.*

*List which issues are fixed by this PR. You must list at least one
issue. An issue is not required if the PR fixes something trivial like a
typo.*

*If you had to change anything in the [flutter/tests] repo, include a
link to the migration guide as per the [breaking change policy].*

## 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].

<!-- 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
2025-04-22 22:25:31 +00:00
engine-flutter-autoroll
f47d55f59b
Roll Dart SDK from e596df519dce to ba5acf1e38b1 (9 revisions) (#167585)
https://dart.googlesource.com/sdk.git/+log/e596df519dce..ba5acf1e38b1

2025-04-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-42.0.dev
2025-04-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-41.0.dev
2025-04-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-40.0.dev
2025-04-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-39.0.dev
2025-04-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-38.0.dev
2025-04-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-37.0.dev
2025-04-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-36.0.dev
2025-04-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-35.0.dev
2025-04-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-34.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC chinmaygarde@google.com,dart-vm-team@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

---------

Co-authored-by: Alexander Aprelev <aam@google.com>
2025-04-22 22:03:10 +00:00
Jason Simmons
cddd4acaca
Ignore stdout in WindowsTest.LaunchMainHasNoOutput (#167583)
The stdout stream may receive expected output printed by Dart
(specifically the message announcing the URL where the Dart VM service
is listening)

See https://github.com/flutter/flutter/issues/167418
2025-04-22 21:57:46 +00:00
Loïc Sharma
127faefdf2
Fix casing of error when Dart compiler is interrupted (#167520)
You see this error if you do a well timed `Ctrl+C` during a `flutter
run`
2025-04-22 20:50:19 +00:00
Bruno Leroux
69c5526b23
Make InputDecorator start padding compliant with M3 spec (#162157)
## Description

This PR makes InputDecorator padding for the input content, the helper
and the counter compliant with the M3 spec.
The padding should be 16 pixels instead of 12 pixels (which is the
current value).

See
https://m3.material.io/components/text-fields/specs#0d36c3fe-7948-4ec2-ab8a-4fe39cca19cc
for filled text fields and
https://m3.material.io/components/text-fields/specs#605e24f1-1c1f-4c00-b385-4bf50733a5ef
for outlined text fields.

### Before:

The paddings for the input content, the helper and the counter are not
compliant with the M3 spec (12 pixels instead of 16 pixels):


![image](https://github.com/user-attachments/assets/fe74de74-6a6d-4a28-9574-a28f3e5c6084)


### After:

The paddings for the input content, the helper and the counter are
compliant with the M3 spec (16 pixels):


![image](https://github.com/user-attachments/assets/602554da-dc55-4c24-b7af-1c4951a301e9)


## Related Issue

Fixes [Outlined TextField Label start position doesn't meet Material
Design Specs](https://github.com/flutter/flutter/issues/67707)

## Tests

Adds 8 tests.
Updates several tests.
2025-04-22 20:26:27 +00:00
Reid Baker
cb3fd95ff6
Update mockito to 5.17.0 from 4.7.0, prework for android 36 support (#167573)
This updates all the dependencies in
engine/src/flutter/shell/platform/android/test_runner/build.gradle and
ignores the play store deprecration so I could get android studio to
give me other lint help.

This work is required to unblock @jesswrd's work to update the engine to
use android 36.
Deleted mockito-inline because it is automatically used after 5.2.0
according to Maven docs:
https://mvnrepository.com/artifact/org.mockito/mockito-inline/5.2.0"

- **Remove config none annotations that have been deprecrated since
roboletrics 4.0.1**
- **Update all dependencies used in test runner, passes for
spellcheckplugintest**

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2025-04-22 20:02:12 +00:00
Matan Lurey
b94e21b439
Note when --enable-vmservice is required and skip otherwise. (#167579)
Our CI system runs with `--enable-vmservice`, but the default (i.e. for
`flutter test`) does not.

Closes https://github.com/flutter/flutter/issues/136079.
2025-04-22 19:50:01 +00:00
Jason Simmons
731d2d9e77
Reland "Reduce app startup latency by initializing the engine on a separate thread (#166918)" (#167519)
This includes a fix for a race seen in
EmbedderTest.PlatformThreadIsolatesWithCustomPlatformTaskRunner

The implementaion of MergedPlatformUIThread::kMergeAfterLaunch required
changing the interface of the TaskObserverAdd/TaskObserverRemove
callbacks so that TaskObserverAdd returned the TaskQueueId where the
observer was added. That TaskQueueId would later be given to
TaskObserverRemove.

The original implementation of this PR updated the embedder library's
implementation of TaskObserverAdd to return TaskQueueId::kInvalid to
signal that the observer was not added. However, this conflicted with
the embedder's EmbedderTaskRunner, whose implementation of
GetTaskQueueId returns TaskQueueId::kInvalid as a placeholder.

This PR reverts the embedder's TaskObserverAdd/TaskObserverRemove to the
original implementation which adds the observer to the current thread's
message loop and does not call GetTaskQueueId.

See https://github.com/flutter/flutter/issues/167418
2025-04-22 16:36:21 +00:00
engine-flutter-autoroll
9efcf96ecd
Roll Packages from ac21f531a0cc to f1fc965e1bd1 (3 revisions) (#167560)
ac21f531a0...f1fc965e1b

2025-04-22 sys.int64@gmail.com [vector_graphics_compiler] fix: Stroke
opacity not applied (flutter/packages#8986)
2025-04-21 edpizzi@gmail.com [in_app_purchase] Write to the transactions
update queue from the main thread (flutter/packages#9068)
2025-04-21 32538273+ValentinVignal@users.noreply.github.com
[go_router_builder] Add `caseSensitive` to `TypedGoRoute`
(flutter/packages#9096)

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
2025-04-22 16:03:25 +00:00
Kaylee Lubick
4055380c5e
[skia] Use granular png source file lists (#167550)
The old file lists were removed in
https://skia-review.googlesource.com/c/skia/+/982376 but we missed
updating Flutter. This should get the Skia->Flutter roll working again

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] 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 `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] 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].

<!-- 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
2025-04-22 16:01:49 +00:00
Alexander Aprelev
6473b6abef
Roll dart 3.9.0-33.0.dev (#167513)
Roll dart sdk to 3.9.0-33.0.dev
    
Changes since last roll
```
e596df519dc (HEAD) Version 3.9.0-33.0.dev
4d298786022 Elements. Remove V1 MultiplyDefinedElement.
1b22cd0b15b Elements. Stop implementing V1 TypeDefiningElement in DynamicElementImpl and NeverElementImpl.
84be07364b1 Roll Fuchsia SDK from 27.20250417.3.1 to 27.20250418.3.1
5b123390cdc Elements. Remove V1 AugmentedXyz classes.
4f7eca8cc9b Elements. Remove V1 DartType.element
9fbed46b139 [DAS] Removes operators suggestions from `.` access and more considerations from extension suggestions
801b545cdbd Elements. Remove V1 lookupXyz methods.
04ec005e1e3 Elements. Remove V1 ConstructorElement.
969eeaadfb8 Roll BoringSSL from ef839bf397fb to 45a865d6682a (15 revisions)
```

Update license script to accommodate boringssl license change
2025-04-22 15:57:29 +00:00
engine-flutter-autoroll
92ff6df1cb
Roll Fuchsia Linux SDK from nggV-vSVM14nIXPsZ... to 8ftPq5MhZkxE_XSi1... (#167556)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC chinmaygarde@google.com,zra@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
2025-04-22 15:32:21 +00:00
engine-flutter-autoroll
5816a49629
Roll Fuchsia Test Scripts from mApUsju36efRytN4W... to TcALRG6cjvR6RVe4L... (#167531)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-test-scripts-flutter
Please CC chrome-fuchsia-engprod@google.com,codefu@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
2025-04-22 06:12:36 +00:00
Alex Li
3ac8b26bc4
Introduces PositionedGestureDetails (#160714)
Resolves #101530

`PositionedGestureDetails` is an abstract interface that is meant to
contain positions for pointer events.

## Pre-launch Checklist

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

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

<!-- 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
2025-04-22 02:45:01 +00:00
Polina Cherkasova
eea3fdf2a8
Increase pinned version of leak tracker to enable access to experimental tracking on web. (#167502) 2025-04-21 23:48:15 +00:00
chunhtai
b9abb562f9
[Android] removes edge insets from a11y bound calculation (#167136)
<!--
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
-->

fixes android part of https://github.com/flutter/flutter/issues/102725

After throughly tested various configurations from

arm64 API level 25 to API level 35

no cutout/Tall cutout/waterfall cutout

LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS,
LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT,
LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER

Talkback 7 to talkback 15

none of the combinations would require additional left insets
calculation.

I am not sure why we need it in the first place, but it seems the best
course of action will be removing the code.


## 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].

<!-- 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
2025-04-21 21:07:08 +00:00
ash2moon
8acfa88b77
Refine developer message for announcement use (#167127)
<!--
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
-->

Updates the developer message to include the flutter topline tracking
bug to reduce confusion when using Flutter widgets that use announce.

Example output from logcat:
```
Using AnnounceSemanticsEvent for accessibility is deprecated on Android. Migrate to using semantic properties for a more robust and accessible user experience.
Flutter: If you are unsure why you are seeing this bug, it might be because you are using a widget that calls this method. See https://github.com/flutter/flutter/issues/165510 for more details.
Android documentation: https://developer.android.com/reference/android/view/View#announceForAccessibility(java.lang.CharSequence)
```

## Pre-launch Checklist

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

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

<!-- 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
2025-04-21 20:16:06 +00:00
gaaclarke
46b6668f42
Turned on preserve bindings to impellerc (#167203)
fixes https://github.com/flutter/flutter/issues/116900

## Pre-launch Checklist

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

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

<!-- 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
2025-04-21 20:16:06 +00:00
gbbosak
b574d40442
Add explicit dependency on the syslog shard (#167210)
<!--
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
-->

Update routing in Flutter to prepare for the removal of the LogSink
shard from RealmBuilder.

https://fxbug.dev/404543928


## Pre-launch Checklist

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

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

<!-- 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
2025-04-21 19:37:23 +00:00
engine-flutter-autoroll
1ee3ffbaff
Roll Skia from c91ea1a8fd3f to 1fb8f012de1b (2 revisions) (#167490)
https://skia.googlesource.com/skia.git/+log/c91ea1a8fd3f..1fb8f012de1b

2025-04-21 thomsmit@google.com [graphite] Fix adapter debug logging in
dawn testing.
2025-04-21 borenet@google.com [infra] Add GalaxyS9 jobs

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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
2025-04-21 18:37:11 +00:00
gaaclarke
66c8316f97
Android doctor: more robust canrun (#167489)
Fixes error found in rolling to google.

```
[☠] Android toolchain - develop for Android devices (the doctor check crashed)
    ✗ Due to an error, the doctor check did not complete. If the error message
      below is not helpful, please let us know about this issue at
      https://github.com/flutter/flutter/issues.
    ✗ type 'Null' is not a subtype of type 'String' of 'executable'
    • #0      LocalProcessManager.canRun
      (package:process/src/interface/local_process_manager.dart:124)
      #1      getEmulatorVersion
      (package:flutter_tools/src/android/android_workflow.dart:64)
      #2      AndroidValidator.validateImpl
      (package:flutter_tools/src/android/android_workflow.dart:200)
      #3      DoctorValidator.validate
      (package:flutter_tools/src/doctor_validator.dart:58)
      #4      Doctor.startValidatorTasks.<anonymous closure>
      (package:flutter_tools/src/doctor.dart:244)
      #5      asyncGuard.<anonymous closure>
      (package:flutter_tools/src/base/async_guard.dart:109)
      #6      _rootRun (dart:async/zone.dart:1525)
      #7      _CustomZone.run (dart:async/zone.dart:1422)
      #8      _runZoned (dart:async/zone.dart:2033)
      #9      runZonedGuarded (dart:async/zone.dart:2019)
      #10     runZoned (dart:async/zone.dart:1952)
      #11     asyncGuard (package:flutter_tools/src/base/async_guard.dart:106)
      #12     Doctor.startValidatorTasks
      (package:flutter_tools/src/doctor.dart:234)
      #13     Doctor.diagnose (package:flutter_tools/src/doctor.dart:372)
      #14     DoctorCommand.runCommand
      (package:flutter_tools/src/commands/doctor.dart:59)
      #15     FlutterCommand.verifyThenRunCommand
      (package:flutter_tools/src/runner/flutter_command.dart:1897)
      <asynchronous suspension>
      #16     FlutterCommand.run.<anonymous closure>
      (package:flutter_tools/src/runner/flutter_command.dart:1551)
      <asynchronous suspension>
      #17     AppContext.run.<anonymous closure>
      (package:flutter_tools/src/base/context.dart:154)
      <asynchronous suspension>
      #18     CommandRunner.runCommand (package:args/command_runner.dart:212)
      <asynchronous suspension>
      #19     FlutterCommandRunner.runCommand.<anonymous closure>
      (package:flutter_tools/src/runner/flutter_command_runner.dart:501)
      <asynchronous suspension>
      #20     AppContext.run.<anonymous closure>
      (package:flutter_tools/src/base/context.dart:154)
      <asynchronous suspension>
      #21     FlutterCommandRunner.runCommand
      (package:flutter_tools/src/runner/flutter_command_runner.dart:438)
      <asynchronous suspension>
      #22     run.<anonymous closure>.<anonymous closure>
      (package:flutter_tools/runner.dart:98)
      <asynchronous suspension>
      #23     AppContext.run.<anonymous closure>
      (package:flutter_tools/src/base/context.dart:154)
      <asynchronous suspension>
      #24     AppContext.run.<anonymous closure>
      (package:flutter_tools/src/base/context.dart:154)
      <asynchronous suspension>
      #25     run (package:mobile.flutter.cli/flutter_tools.dart:106)
      <asynchronous suspension>
      #26     main (google3:///mobile/flutter/cli/bin/cli_usage_aot.dart:4)
```

## Pre-launch Checklist

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

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

<!-- 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
2025-04-21 18:10:20 +00:00
engine-flutter-autoroll
c169a17d85
Roll Skia from 93544b0c18ee to c91ea1a8fd3f (3 revisions) (#167480)
https://skia.googlesource.com/skia.git/+log/93544b0c18ee..c91ea1a8fd3f

2025-04-21 jvanverth@google.com [graphite] Re-enable ProxyCache for
ClipAtlasManager.
2025-04-21 kjlubick@google.com Export mac utils Bazel target
2025-04-21 robertphillips@google.com New Chrome Pipeline labels

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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
2025-04-21 16:24:09 +00:00
engine-flutter-autoroll
06c2fb62db
Roll Packages from 2fcc4032dd8b to ac21f531a0cc (23 revisions) (#167479)
2fcc4032dd...ac21f531a0

2025-04-20 engine-flutter-autoroll@skia.org Roll Flutter from
3ed38e24528a to cfb887cd5f41 (17 revisions) (flutter/packages#9118)
2025-04-19 stuartmorgan@google.com [various] Scrubs pre-SDK-21 Android
code (flutter/packages#9112)
2025-04-18 engine-flutter-autoroll@skia.org Roll Flutter from
ecabb1a05212 to 3ed38e24528a (23 revisions) (flutter/packages#9114)
2025-04-18 ricardodalarme@outlook.com [flutter_svg] feat: Expose the
`colorMapper` property in `SvgPicture` (flutter/packages#9043)
2025-04-18 stuartmorgan@google.com [tool] Add initial file-based command
skipping (flutter/packages#8928)
2025-04-18 stuartmorgan@google.com [pigeon] Convert test plugins to SPM
(flutter/packages#9105)
2025-04-18 10687576+bparrishMines@users.noreply.github.com
[webview_flutter] Adds support to control overscrolling
(flutter/packages#8451)
2025-04-17 louisehsu@google.com [in_app_purchase] add
Storefront.countryCode() and AppStore.sync() (flutter/packages#8900)
2025-04-17 145144088+camfrandsen@users.noreply.github.com
[webview_flutter_wkwebview] Expose the allowsLinkPreview property in
WKWebView for iOS (flutter/packages#5029)
2025-04-17 10687576+bparrishMines@users.noreply.github.com
[webview_flutter_android][webview_flutter_wkwebview] Adds platform
implementations to set over-scroll mode (flutter/packages#9101)
2025-04-17 1063596+reidbaker@users.noreply.github.com
[shared_preferences] Update AGP to 8.9.1 (flutter/packages#9106)
2025-04-17 10687576+bparrishMines@users.noreply.github.com [pigeon] Adds
Kotlin lint tests to example code and fix lints (flutter/packages#9034)
2025-04-17 30872003+misos1@users.noreply.github.com
[video_player_avfoundation] enable more than 30 fps
(flutter/packages#7466)
2025-04-17 engine-flutter-autoroll@skia.org Roll Flutter from
aef4718b3956 to ecabb1a05212 (25 revisions) (flutter/packages#9104)
2025-04-16 stuartmorgan@google.com [pigeon] Unify iOS and macOS test
plugins (flutter/packages#9100)
2025-04-16 engine-flutter-autoroll@skia.org Roll Flutter from
db68c950c599 to aef4718b3956 (7 revisions) (flutter/packages#9098)
2025-04-16 10687576+bparrishMines@users.noreply.github.com
[webview_flutter_platform_interface] Adds method to set overscroll mode
(flutter/packages#9099)
2025-04-16 matanlurey@users.noreply.github.com Update `CODEOWNERS`
(flutter/packages#8984)
2025-04-16 stuartmorgan@google.com [google_sign_is] Update iOS SDK to
8.0 (flutter/packages#9081)
2025-04-16 robert.odrowaz@leancode.pl [camera_avfoundation]
Implementation swift migration (flutter/packages#8988)
2025-04-16 32538273+ValentinVignal@users.noreply.github.com [go_router]
Adds `caseSensitive` to `GoRoute` (flutter/packages#8992)
2025-04-16 engine-flutter-autoroll@skia.org Manual roll Flutter from
30e53b0d9caa to db68c950c599 (98 revisions) (flutter/packages#9092)
2025-04-15 stuartmorgan@google.com [tool] Run config-only build for
iOS/macOS native-test (flutter/packages#9080)

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
2025-04-21 15:44:08 +00:00
engine-flutter-autoroll
ca7c9b5503
Roll Skia from 6454a9b31b41 to 93544b0c18ee (2 revisions) (#167475)
https://skia.googlesource.com/skia.git/+log/6454a9b31b41..93544b0c18ee

2025-04-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 8fc76e015891 to 61080f55d11e (1 revision)
2025-04-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 4b9525b2667f to f355e2b37ed4 (8 revisions)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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
2025-04-21 14:06:18 +00:00
Reid Baker
81db537625
Move from getByName to getByType (#167415)
Fixes https://github.com/flutter/flutter/issues/165882

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2025-04-21 13:36:32 +00:00
engine-flutter-autoroll
e839c67f5d
Roll Fuchsia Linux SDK from RGmU4KeQhrxqE7hsr... to nggV-vSVM14nIXPsZ... (#167473)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC codefu@google.com,zra@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
2025-04-21 13:30:26 +00:00
engine-flutter-autoroll
f71b4fe21a
Roll Skia from f80e83f5229a to 6454a9b31b41 (1 revision) (#167457)
https://skia.googlesource.com/skia.git/+log/f80e83f5229a..6454a9b31b41

2025-04-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 2c587f95fef0 to 8fc76e015891 (1 revision)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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
2025-04-20 21:49:31 +00:00
engine-flutter-autoroll
d1a25d1788
Roll Skia from bd9ef4955aad to f80e83f5229a (2 revisions) (#167455)
https://skia.googlesource.com/skia.git/+log/bd9ef4955aad..f80e83f5229a

2025-04-20 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
Update SKP version
2025-04-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 5642440a9e1a to 2c587f95fef0 (1 revision)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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
2025-04-20 18:32:32 +00:00
engine-flutter-autoroll
cfb887cd5f
Roll Fuchsia Linux SDK from 0U_vEALFF7qRJZ_cE... to RGmU4KeQhrxqE7hsr... (#167447)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC codefu@google.com,zra@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
2025-04-20 08:08:17 +00:00