Skip to content

Conversation

@harri35
Copy link
Contributor

@harri35 harri35 commented Jan 28, 2025

integration_ui_keyboard_resize flakiness reduction

This PR addresses flakiness in the integration_ui_keyboard_resize test (issue #161300) and slightly improves its performance.

Issue summary:

The integration_ui_keyboard_resize test occasionally fails because the device keyboard does not reliably open at the start of the test. This PR mitigates one cause of this flakiness, though other potential underlying issues may still exist. See #161300 for a detailed investigation.

Changes and rationale:

  1. Improved keyboard detection logic (flakiness reduction):

    • The core change moves await driver.tap(defaultTextField); inside the loop that checks for layout changes. This ensures the test repeatedly attempts to open the keyboard while waiting for the expected layout shift, significantly improving reliability.
    • Local testing results (MacBook Pro M1 + Pixel 8 Pro):
      • Original implementation: Consistent failures within the first 15 iterations.
      • This PR: Ran consistently for at least 300 iterations (out of 2000) before any failure, with some runs exceeding 900 iterations.
  2. enableTextEntryEmulation configuration improvement:

    • The keyboard_resize.dart app is exclusively used for testing and requires enableTextEntryEmulation: false for proper device keyboard interaction.
    • This PR sets enableTextEntryEmulation: false directly within the app's enableFlutterDriverExtension setup. This simplifies the test setup, avoids cross-thread communication, and prevents the app from appearing broken when run independently (as manual text input wouldn't work otherwise).
  3. UI enhancements for manual testing:

    • Added SafeArea and InputDecoration to keyboard_resize.dart. This ensures the TextField is fully visible and usable during manual testing (it was previously obscured by the Android status bar). This improves the developer experience when debugging the app directly.
  4. Optimized polling for speed:

    • Reduced the polling interval and increased the number of polling iterations (maintaining the overall timeout). This change resulted in a ~2-second speed improvement per test iteration during local testing.

Further flakiness improvement discussion and ideas
See the discussion at #161300

Testing and reproduction:

To reproduce the original flakiness and verify the fix (reproducibility may vary based on setup; see #161300 (comment)):

  1. Disable automatic reboots: Comment out the await checkForRebootRequired(); line in
    } finally {
    await checkForRebootRequired();
    await forceQuitRunningProcesses();
    }
  2. Disable automatic retries: Set static const int retryNumber = 0; in
    /// Threshold to auto retry a failed test.
    static const int retryNumber = 2;
  3. Install hyperfine: This is a command-line benchmarking tool (e.g., brew install hyperfine on macOS).
  4. Connect a device/emulator: Connect a physical Android device or start an emulator.
  5. Run repeated tests: Use hyperfine to run the test multiple times and capture the output:
    hyperfine -r 100 'dart bin/test_runner.dart test -t integration_ui_keyboard_resize > log.txt'

@harri35 harri35 marked this pull request as ready for review January 28, 2025 13:06
@harri35 harri35 marked this pull request as draft January 29, 2025 08:28
@flutter-dashboard
Copy link

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

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

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

@harri35 harri35 marked this pull request as ready for review February 7, 2025 11:04
@harri35
Copy link
Contributor Author

harri35 commented Feb 7, 2025

@bkonyi Would be awesome if you would have time to take a look / try this. While it fully doesn't fix the whole issue, based on the local evidence, it is a partial fix and would reduce the flakiness.

@bkonyi bkonyi requested review from bkonyi and matanlurey February 10, 2025 16:28
@bkonyi
Copy link
Contributor

bkonyi commented Feb 10, 2025

@bkonyi Would be awesome if you would have time to take a look / try this. While it fully doesn't fix the whole issue, based on the local evidence, it is a partial fix and would reduce the flakiness.

Thanks for looking into this and being patient!

@matanlurey, you have more experience with driver/integration tests than I do. Would you mind taking a look as well?

for (int i = 0; i < 6; ++i) {
await Future<void>.delayed(const Duration(seconds: 1));
for (int i = 0; i < 20; ++i) {
await driver.tap(defaultTextField);
Copy link
Contributor

Choose a reason for hiding this comment

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

Needing up to 20 taps for this to work... that seems like a bug we're hiding in this test.

Can you clarify why we need to tap this multiple times?

Is it possible we need something like waitForTappable instead?

/cc @jonahwilliams

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks for the feedback!

Is it possible we need something like waitForTappable instead?

Needing up to 20 taps for this to work... that seems like a bug we're hiding in this test.
Can you clarify why we need to tap this multiple times?

Can't explain it. I agree, this looks like a bug.

My first guess would be that it is a bug in FlutterDriver and/or how it interacts with Android's InputManager in the case of enableTextEntryEmulation: false.
Or possibly some issue in how FlutterView and InputManager interact, but in that case I would expect to see bug reports from production also. As opening an app and clicking on a TextField and expecting a keyboard to open is a very common use case.

As I propose in #161300 (comment), I think it would make sense to make a separate bug report for this specific bug description. Otherwise, it is somewhat obfuscated in #161300

The goal of making this PR is a temporary workaround to reduce the flakiness until the bug can be found and addressed. It seems it has been an issue for some time: #141301.
But if you feel this is premature and the workaround creates more confusion than it helps, then I propose we close this PR and try out some more strategies.

Speaking of that - as I can reproduce this locally quite easily, then if anyone has any suggestions I should try - let me know.

One observation: this also behaves slightly differently depending on the Android version and/or speed of the device. For me, the faster the device / newer the Android version, the more the setup of the test fails (for me locally).

Copy link
Contributor

Choose a reason for hiding this comment

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

My first guess would be that it is a bug in FlutterDriver and/or how it interacts with Android's InputManager in the case of enableTextEntryEmulation: false.

In driver mode, you mean. Yeah that is possible, I have not dug into the code here (yet).

Or possibly some issue in how FlutterView and InputManager interact, but in that case I would expect to see bug reports from production also. As opening an app and clicking on a TextField and expecting a keyboard to open is a very common use case.

Also possible. I am going to add @justinmc to this PR, and see if he has insight (works on text input).

The goal of making this PR is a temporary workaround to reduce the flakiness until the bug can be found and addressed.

It's just not clear to me this does resolve any flakiness, at least locally I can still fairly easily run into:

00:07 +0 -1: end-to-end test Ensure keyboard dismissal resizes the view to original size [E]

  Expected: true
    Actual: <false>

It is possible the polling changes you made make it a bit less likely to occur, but tapping multiple times doesn't change focus, and only changing focus is supposed to open the keyboard. I ran out of time today to look in more detail, but you could please try adding some logging (even locally) and tell how often a for-loop retry causes the test to pass where it would otherwise fail?

Something like:

int retries = 0;

// ...

if (double.parse(heightWithKeyboardShown) < double.parse(startHeight)) {
  if (retries > 0) {
    print('>>> $retries retries were used to make this PASS.');
  }
  heightTextDidShrink = true;
  break;
} else {
  retries++;
}

... and let me know if you see this hit significantly? I'll try to come back to this tomorrow.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good idea!

I added the logging in a separate branch my fork

I ran 100 iterations, using 2 different Android devices and OS'es to execute the test from. I disabled automatic retries, so the stats is about actually running 100 test iterations (with no failures).

hyperfine -r 10 --style=full 'dart bin/test_runner.dart test -t integration_ui_keyboard_resize >> log.txt'

Results as follows.

MacBook Pro M1 + Pixel 8 Pro API 36

  • 15x "No retries were used to make this PASS."
  • 85x "1 retries were used to make this PASS."
  • 0x "2 retries were used to make this PASS."

ThinkPad X1 Extreme Gen 4i Windows 11 Pro + Pixel 8 Pro API 36

  • 94x "No retries were used to make this PASS."
  • 6x "1 retries were used to make this PASS."
  • 0x "2 retries were used to make this PASS."

MacBook Pro M1 + Samsung Galaxy Tab S3 API 28

  • 0x "No retries were used to make this PASS."
  • 88x "1 retries were used to make this PASS."
  • 12x "2 retries were used to make this PASS."

ThinkPad X1 Extreme Gen 4i Windows 11 Pro + Samsung Galaxy Tab S3 API 28

  • 0x "No retries were used to make this PASS."
  • 99x "1 retries were used to make this PASS."
  • 1x "2 were used to make this PASS."

Note that tests were about 15 seconds slower per test on average when executed from the ThinkPad vs the Macbook.

It is possible the polling changes you made make it a bit less likely to occur, but tapping multiple times doesn't change focus, and only changing focus is supposed to open the keyboard.

Good point!

Based on this video https://drive.google.com/file/d/1dQmIPs7mCVjxocCvWB9KSfsaSiB7_Tyh/view?usp=sharing of a failure I was able to capture it looks to me the TextFlied gets the focus, just InputManager refuses to open the keyboard (fails on 4th attempt at the end). As this log line warns:

W/InputMethodManager(19804): Ignoring showSoftInput() as view=io.flutter.embedding.android.FlutterView{16610da VFE...... .F....ID 0,0-1008,2244 #1} is not served.

This log comes from https://cs.android.com/android/platform/superproject/main/+/main:frameworks/base/core/java/android/view/inputmethod/InputMethodManager.java;drc=8fae81cc40d98877629b28a16fcc72b736423bdb;l=2385

Also tried to add a second TextField to the test app (with a separate FocusNode etc) and tap on the second TextField if opening the keyboard doesn't work with the first one - same results.
It fails with both. At both times, complains about the same instance of a FlutterView.

Copy link
Contributor Author

@harri35 harri35 Feb 12, 2025

Choose a reason for hiding this comment

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

During today's call with John and Ergo we generated some more ideas to try out here to collect more info:

  • Try an infinite loop to wait for the keyboard - does it pass then? Or never passes sometimes?
  • Add an initial delay at the test - does it affect it? Will it pass better then?
  • Any additional verbose info/logs we can activate (from FlutterDriver, etc) to better understand the process/communication between the threads there?

I'll run these also tomorrow or day after tomorrow at the latest

Copy link
Contributor Author

@harri35 harri35 Feb 14, 2025

Choose a reason for hiding this comment

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

@matanlurey @justinmc
Comparing the logs from the infinite loop test.
I see the following pattern here - the keyboard can only be opened after the D/InsetsController(...): hide(ime(), fromIme=false) appears in the log.

...
<-Test starts->
.. end-to-end test Ensure keyboard dismissal resizes the view to original size ..
<- All attempts to open the keyboard fail in this period ->
D/InsetsController(...): hide(ime(), fromIme=false)
<- All attempts to open the keyboard succeed now ->
I/ImeTracker(...): com.yourcompany.integration_ui:...: onCancelled at PHASE_CLIENT_ALREADY_HIDDEN
I/ImeTracker(...): com.yourcompany.integration_ui:...: onRequestShow at ORIGIN_CLIENT reason SHOW_SOFT_INPUT fromUser false
D/InsetsController(12023): show(ime(), fromIme=false)
<- Keyboard opens somewhere here .. ->
D/InsetsController(12023): Setting requestedVisibleTypes to -1 (was -9)
D/InputConnectionAdaptor(12023): The input method toggled cursor monitoring on
...

Looking a the timing,

  • In the tests with no retries or 1 retry the D/InsetsController(...): hide(ime(), fromIme=false) takes ~ 1 second to appear from start of the test
  • In the test with 54 retries it takes 21 seconds to appear

The D/InsetsController(...): hide(ime(), fromIme=false) log seems to be coming from https://cs.android.com/android/platform/superproject/main/+/main:frameworks/base/core/java/android/view/InsetsController.java;l=1208

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 re-ran the 2000/2000 test with the same hardware and infinite loop setup. The results are surprisingly similar.

One new learning - if Google Assistant / Gemini accidentally triggers on the device while testing, then the test is unable to proceed until the user manually dismisses the assistant sheet (this is the 3279 retries).
The 54x iteration is curious and strange because it matches the first test 1:1.

Results (MacBook Pro M1 + Pixel 8 Pro API 36) - SUCCEEDED at 2000/2000

 992x 1 retries were used to make this PASS.
   1x 3279 retries were used to make this PASS.
   1x 54 retries were used to make this PASS.
 174x No retries were used to make this PASS.

Sadly, I do not have the Pixel 7 Pro device. But I'll try with an older Pixel (Pixel 3) and with the Pixel 7 Pro emulator. As the 2000 iteration tests take about 10h to run it will take some time.

I have not yet had the time to look into more when the D/InsetsController(...): hide(ime(), fromIme=false) exactly triggers in the Android Activity lifecycle and why it affects our test in this way. Any hints here are welcome.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Unable to reproduce longer retry loops on Pixel 3 API 31:

1893x 1 retries were used to make this PASS.
 107x No retries were used to make this PASS.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Tried 2000 iterations with 0 fails on Pixel 7 Pro emulator API 35 - nothing interesting.

1610x 1 retries were used to make this PASS.
   1x 2 retries were used to make this PASS.
 389x No retries were used to make this PASS

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 all the work here.

Copy link
Contributor

@matanlurey matanlurey left a comment

Choose a reason for hiding this comment

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

Thanks for jumping on this. The concept of the change I'm satisfied with, but I'm not convinced the implementation is correct or good - it appears to either be hiding bugs, or I misunderstand what is going on.

@matanlurey matanlurey requested a review from justinmc February 11, 2025 17:20
@matanlurey
Copy link
Contributor

@justinmc @harri35 is one of our contractors and is working on deflaking some tests, which is awesome.

They are trying to deflake/fix dev/integration_tests/ui/lib/keyboard_resize.dart (and the test), which appears to not be opening the Android keyboard some % of the time. It appears to always work when I run this app manually:

cd dev/integration_tests/ui
flutter run lib/keyboard_resize.dart

... but fails a reasonable % of the time when run as a test:

flutter drive lib/keyboard_resize.dart

Do you happen to know any oddities, with or without driver, and the keyboard not opening on focus?

I can sync with you later today or tomorrow AM, but could use your input (pun not intended).

@harri35
Copy link
Contributor Author

harri35 commented Feb 17, 2025

@matanlurey (cc: @bkonyi @justinmc)

Following a review with @ergosarapu regarding the persistent flakiness of the integration_ui_keyboard_resize test (#161300, currently at 4.30% flakiness), we propose a two-pronged approach:

1. Making a pragmatic fix to the test by increasing the timeout to remove (or significantly reduce) flakiness

We recommend increasing the timeout value for the keyboard-opening polling within the test. This is a pragmatic short-term solution to restore test functionality.
Our reasoning is as follows:

  1. The test's core purpose is to "Ensure keyboard dismissal resizes the view to original size." The current flakiness stems from inconsistent keyboard opening, not the core functionality being tested.
  2. We acknowledge the concerns raised in Increase delay for checking integration_ui_keyboard_resize test success #141301 about timeout-based polling being an anti-pattern. However, as discussed in that issue, it remains the most practical method for detecting Android keyboard state changes in this specific scenario. The test polls for both keyboard opening and closing.
  3. Based on the criteria "a non-flakey test is 0/2000 failures", recent successful runs (0/2000 failures, see Fix to Linux_pixel_7pro integration_ui_keyboard_resize test flakiness #162308 (comment)) showed a maximum polling time of ~21.3 seconds before the keyboard opened. To provide a substantial margin of safety, we propose increasing the timeout to 60 seconds (approximately 3x the observed maximum). I will perform additional runs (1-2 times with 2000 iterations) to further validate this value.
  4. This change would have a minimal impact on overall CI time. In the worst-case scenario, the test duration might increase from 1-1.2 minutes to 2-2.3 minutes.

2. Spitting investigation of the failure of keyboard opening to a dedicated issue

We create a separate, dedicated issue to investigate the root cause of the inconsistent keyboard opening. This way, the test is functional again, and we can continue the investigation in a dedicated and prioritized issue.

Copy link
Contributor

@matanlurey matanlurey left a comment

Choose a reason for hiding this comment

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

LGTM to help deflake with the added TODOs/issues filed for follow-up.

@harri35
Copy link
Contributor Author

harri35 commented Feb 19, 2025

@matanlurey I filed an issue for further investigation: #163606
I probably should have also set the team-tool label, but I do not have access to do it :)

@harri35 harri35 added the t: flutter driver "flutter driver", flutter_drive, or a driver test label Feb 20, 2025
@harri35 harri35 added the autosubmit Merge PR when tree becomes green via auto submit App label Mar 5, 2025
@auto-submit auto-submit bot added this pull request to the merge queue Mar 5, 2025
Merged via the queue into flutter:master with commit e4c726a Mar 5, 2025
148 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Mar 5, 2025
@harri35 harri35 linked an issue Mar 5, 2025 that may be closed by this pull request
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 6, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 6, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 6, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Mar 6, 2025
flutter/flutter@2578d97...321fbc0

2025-03-06 [email protected] Roll Skia from fefecd49e03a to ccd8cc23aa94 (1 revision) (flutter/flutter#164712)
2025-03-06 [email protected] [web] Detect scrollable semantics nodes more reliably (flutter/flutter#164491)
2025-03-06 [email protected] [windows] wire the focus request and the focus events through the Windows platform (flutter/flutter#164296)
2025-03-06 [email protected] Roll Skia from 02897747c7d5 to fefecd49e03a (1 revision) (flutter/flutter#164701)
2025-03-06 [email protected] Roll Skia from e315b0ab7c84 to 02897747c7d5 (1 revision) (flutter/flutter#164677)
2025-03-06 [email protected] Roll Skia from 0c3880f94970 to e315b0ab7c84 (1 revision) (flutter/flutter#164669)
2025-03-06 [email protected] [Impeller] use device private on non-iOS devices. (flutter/flutter#164601)
2025-03-05 [email protected] Roll Skia from 43294a662fd0 to 0c3880f94970 (1 revision) (flutter/flutter#164661)
2025-03-05 [email protected] Add a workflow (only triggered from rest events) for hasing experiment (flutter/flutter#164657)
2025-03-05 [email protected] Roll Skia from 4cf9f0b77d41 to 43294a662fd0 (4 revisions) (flutter/flutter#164649)
2025-03-05 [email protected] Adds animateToItem to the CarouselController (flutter/flutter#162694)
2025-03-05 [email protected] Cleanup content context (flutter/flutter#164229)
2025-03-05 [email protected] Fix: Update CupertinoSheetRoute transition rounded corner (flutter/flutter#163700)
2025-03-05 [email protected] [Impeller] fix macOS managed memory. (flutter/flutter#164635)
2025-03-05 [email protected] [skwasm] Clear font collection cache when font is loaded manually. (flutter/flutter#164588)
2025-03-05 [email protected] Fix race condition causing crash when interacting with an animating scrollable (flutter/flutter#164392)
2025-03-05 [email protected] Use dwds 24.3.6 and pass uri for the reload scripts path to FrontendServerDdcLibraryBundleProvider (flutter/flutter#164582)
2025-03-05 [email protected] Roll Packages from 9e4684e to abba683 (8 revisions) (flutter/flutter#164630)
2025-03-05 [email protected] Roll Skia from 7e4323f72c9d to 4cf9f0b77d41 (1 revision) (flutter/flutter#164622)
2025-03-05 [email protected] Fix to Linux_pixel_7pro integration_ui_keyboard_resize test flakiness (flutter/flutter#162308)
2025-03-05 [email protected] Roll Skia from 03a3f653d64e to 7e4323f72c9d (1 revision) (flutter/flutter#164599)
2025-03-05 [email protected] Implement `clipPath` Mutator for hcpp (flutter/flutter#164525)
2025-03-05 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] use DeviceLocal textures for gifs on non-iOS devices. (#164573)" (flutter/flutter#164600)
2025-03-05 [email protected] [macos] prefer integrated GPU. (flutter/flutter#164569)
2025-03-05 [email protected] Enforce minSdk constraint for Android Flutter (flutter/flutter#164251)
2025-03-05 [email protected] Add `clipRSuperellipse`, and use them for dialogs (flutter/flutter#161111)
2025-03-05 [email protected] Roll Skia from 46705a22edc3 to 03a3f653d64e (1 revision) (flutter/flutter#164590)
2025-03-05 [email protected] when resetting FlutterPlatformViewsController, clear out some additional internal state to prevent it from carrying over across a Hot Restart (flutter/flutter#164456)
2025-03-05 [email protected] Roll Fuchsia Linux SDK from Rt6pxGFLVAJHduM0V... to fhm5z889sA5T1AQao... (flutter/flutter#164583)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 20, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 20, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 21, 2025
androidseb pushed a commit to androidseb/packages that referenced this pull request Jun 8, 2025
flutter/flutter@2578d97...321fbc0

2025-03-06 [email protected] Roll Skia from fefecd49e03a to ccd8cc23aa94 (1 revision) (flutter/flutter#164712)
2025-03-06 [email protected] [web] Detect scrollable semantics nodes more reliably (flutter/flutter#164491)
2025-03-06 [email protected] [windows] wire the focus request and the focus events through the Windows platform (flutter/flutter#164296)
2025-03-06 [email protected] Roll Skia from 02897747c7d5 to fefecd49e03a (1 revision) (flutter/flutter#164701)
2025-03-06 [email protected] Roll Skia from e315b0ab7c84 to 02897747c7d5 (1 revision) (flutter/flutter#164677)
2025-03-06 [email protected] Roll Skia from 0c3880f94970 to e315b0ab7c84 (1 revision) (flutter/flutter#164669)
2025-03-06 [email protected] [Impeller] use device private on non-iOS devices. (flutter/flutter#164601)
2025-03-05 [email protected] Roll Skia from 43294a662fd0 to 0c3880f94970 (1 revision) (flutter/flutter#164661)
2025-03-05 [email protected] Add a workflow (only triggered from rest events) for hasing experiment (flutter/flutter#164657)
2025-03-05 [email protected] Roll Skia from 4cf9f0b77d41 to 43294a662fd0 (4 revisions) (flutter/flutter#164649)
2025-03-05 [email protected] Adds animateToItem to the CarouselController (flutter/flutter#162694)
2025-03-05 [email protected] Cleanup content context (flutter/flutter#164229)
2025-03-05 [email protected] Fix: Update CupertinoSheetRoute transition rounded corner (flutter/flutter#163700)
2025-03-05 [email protected] [Impeller] fix macOS managed memory. (flutter/flutter#164635)
2025-03-05 [email protected] [skwasm] Clear font collection cache when font is loaded manually. (flutter/flutter#164588)
2025-03-05 [email protected] Fix race condition causing crash when interacting with an animating scrollable (flutter/flutter#164392)
2025-03-05 [email protected] Use dwds 24.3.6 and pass uri for the reload scripts path to FrontendServerDdcLibraryBundleProvider (flutter/flutter#164582)
2025-03-05 [email protected] Roll Packages from 9e4684e to abba683 (8 revisions) (flutter/flutter#164630)
2025-03-05 [email protected] Roll Skia from 7e4323f72c9d to 4cf9f0b77d41 (1 revision) (flutter/flutter#164622)
2025-03-05 [email protected] Fix to Linux_pixel_7pro integration_ui_keyboard_resize test flakiness (flutter/flutter#162308)
2025-03-05 [email protected] Roll Skia from 03a3f653d64e to 7e4323f72c9d (1 revision) (flutter/flutter#164599)
2025-03-05 [email protected] Implement `clipPath` Mutator for hcpp (flutter/flutter#164525)
2025-03-05 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] use DeviceLocal textures for gifs on non-iOS devices. (#164573)" (flutter/flutter#164600)
2025-03-05 [email protected] [macos] prefer integrated GPU. (flutter/flutter#164569)
2025-03-05 [email protected] Enforce minSdk constraint for Android Flutter (flutter/flutter#164251)
2025-03-05 [email protected] Add `clipRSuperellipse`, and use them for dialogs (flutter/flutter#161111)
2025-03-05 [email protected] Roll Skia from 46705a22edc3 to 03a3f653d64e (1 revision) (flutter/flutter#164590)
2025-03-05 [email protected] when resetting FlutterPlatformViewsController, clear out some additional internal state to prevent it from carrying over across a Hot Restart (flutter/flutter#164456)
2025-03-05 [email protected] Roll Fuchsia Linux SDK from Rt6pxGFLVAJHduM0V... to fhm5z889sA5T1AQao... (flutter/flutter#164583)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
FMorschel pushed a commit to FMorschel/packages that referenced this pull request Jun 9, 2025
flutter/flutter@2578d97...321fbc0

2025-03-06 [email protected] Roll Skia from fefecd49e03a to ccd8cc23aa94 (1 revision) (flutter/flutter#164712)
2025-03-06 [email protected] [web] Detect scrollable semantics nodes more reliably (flutter/flutter#164491)
2025-03-06 [email protected] [windows] wire the focus request and the focus events through the Windows platform (flutter/flutter#164296)
2025-03-06 [email protected] Roll Skia from 02897747c7d5 to fefecd49e03a (1 revision) (flutter/flutter#164701)
2025-03-06 [email protected] Roll Skia from e315b0ab7c84 to 02897747c7d5 (1 revision) (flutter/flutter#164677)
2025-03-06 [email protected] Roll Skia from 0c3880f94970 to e315b0ab7c84 (1 revision) (flutter/flutter#164669)
2025-03-06 [email protected] [Impeller] use device private on non-iOS devices. (flutter/flutter#164601)
2025-03-05 [email protected] Roll Skia from 43294a662fd0 to 0c3880f94970 (1 revision) (flutter/flutter#164661)
2025-03-05 [email protected] Add a workflow (only triggered from rest events) for hasing experiment (flutter/flutter#164657)
2025-03-05 [email protected] Roll Skia from 4cf9f0b77d41 to 43294a662fd0 (4 revisions) (flutter/flutter#164649)
2025-03-05 [email protected] Adds animateToItem to the CarouselController (flutter/flutter#162694)
2025-03-05 [email protected] Cleanup content context (flutter/flutter#164229)
2025-03-05 [email protected] Fix: Update CupertinoSheetRoute transition rounded corner (flutter/flutter#163700)
2025-03-05 [email protected] [Impeller] fix macOS managed memory. (flutter/flutter#164635)
2025-03-05 [email protected] [skwasm] Clear font collection cache when font is loaded manually. (flutter/flutter#164588)
2025-03-05 [email protected] Fix race condition causing crash when interacting with an animating scrollable (flutter/flutter#164392)
2025-03-05 [email protected] Use dwds 24.3.6 and pass uri for the reload scripts path to FrontendServerDdcLibraryBundleProvider (flutter/flutter#164582)
2025-03-05 [email protected] Roll Packages from 9e4684e to abba683 (8 revisions) (flutter/flutter#164630)
2025-03-05 [email protected] Roll Skia from 7e4323f72c9d to 4cf9f0b77d41 (1 revision) (flutter/flutter#164622)
2025-03-05 [email protected] Fix to Linux_pixel_7pro integration_ui_keyboard_resize test flakiness (flutter/flutter#162308)
2025-03-05 [email protected] Roll Skia from 03a3f653d64e to 7e4323f72c9d (1 revision) (flutter/flutter#164599)
2025-03-05 [email protected] Implement `clipPath` Mutator for hcpp (flutter/flutter#164525)
2025-03-05 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] use DeviceLocal textures for gifs on non-iOS devices. (#164573)" (flutter/flutter#164600)
2025-03-05 [email protected] [macos] prefer integrated GPU. (flutter/flutter#164569)
2025-03-05 [email protected] Enforce minSdk constraint for Android Flutter (flutter/flutter#164251)
2025-03-05 [email protected] Add `clipRSuperellipse`, and use them for dialogs (flutter/flutter#161111)
2025-03-05 [email protected] Roll Skia from 46705a22edc3 to 03a3f653d64e (1 revision) (flutter/flutter#164590)
2025-03-05 [email protected] when resetting FlutterPlatformViewsController, clear out some additional internal state to prevent it from carrying over across a Hot Restart (flutter/flutter#164456)
2025-03-05 [email protected] Roll Fuchsia Linux SDK from Rt6pxGFLVAJHduM0V... to fhm5z889sA5T1AQao... (flutter/flutter#164583)

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

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

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

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

Labels

t: flutter driver "flutter driver", flutter_drive, or a driver test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Linux_pixel_7pro integration_ui_keyboard_resize is 2.17% flaky

5 participants