Skip to content

Conversation

@loic-sharma
Copy link
Member

@loic-sharma loic-sharma commented May 8, 2025

The keyboard hot restart test does these steps:

  1. It launches an app that forces the keyboard to be visible
  2. It checks that the keyboard is visible by examining the app's logs
  3. It updates the app to no longer force the keyboard to be visible and hot restarts the app
  4. It checks that the keyboard is no longer visible by examining the app's logs

Previously, the test app printed the keyboard status whenever the app rebuilt. The test would move on as soon as it saw a log that indicates the keyboard was in the expected state. However, since the app could log the keyboard's visibility before the Dart VM was available, hot restart commands could be ignored (or at least, that's my theory from the DeviceLab logs).

Now, the test app prints the keyboard status non-stop. The test now waits until the Dart VM is available before checking if the logs indicate the keyboard is open. Also, the test now waits until the hot restart has completed before checking if the keyboard is closed. In theory, this should ensure that hot restart does not happen until after the Dart VM is available.

Follow-up to: #167013
Part of: #10713

Pre-launch Checklist

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

@loic-sharma loic-sharma marked this pull request as ready for review May 8, 2025 18:31
@loic-sharma loic-sharma requested a review from matanlurey as a code owner May 8, 2025 18:31
@loic-sharma loic-sharma requested a review from justinmc May 8, 2025 18:31
@loic-sharma loic-sharma requested a review from hellohuanlin May 16, 2025 23:27
Copy link
Contributor

@justinmc justinmc left a comment

Choose a reason for hiding this comment

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

LGTM 👍 . Sorry I missed this notification, thanks for pinging me. Hopefully this stops the flakiness.


Future<void> printKeyboardState() async {
while (true) {
await Future<void>.delayed(const Duration(seconds: 1));
Copy link
Contributor

Choose a reason for hiding this comment

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

Do you have any idea how long this typically has to wait?

Copy link
Member Author

Choose a reason for hiding this comment

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

On my machine, this usually takes 1-2 for each of the checks: initial open keyboard check and the final closed keyboard check

@loic-sharma loic-sharma added the autosubmit Merge PR when tree becomes green via auto submit App label May 19, 2025
@auto-submit auto-submit bot added this pull request to the merge queue May 19, 2025
Merged via the queue into flutter:master with commit 4b1d264 May 19, 2025
150 of 151 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label May 19, 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 20, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 21, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 21, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 21, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 21, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 21, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request May 21, 2025
Roll Flutter from 9a78af5eb067 to 33cdd8ef31dc (60 revisions)

flutter/flutter@9a78af5...33cdd8e

2025-05-21 34465683+rkishan516@users.noreply.github.com Feat: Add persistentFooterDecoration for scaffold (flutter/flutter#167524)
2025-05-21 34270884+ferraridamiano@users.noreply.github.com Removed repeated entry in `CHANGELOG.md` (flutter/flutter#165273)
2025-05-21 dacoharkes@google.com [native assets] Graduate to preview (flutter/flutter#169194)
2025-05-21 jonahwilliams@google.com [Impeller] disable gl ext render to texture on vivante. (flutter/flutter#169153)
2025-05-21 mu7ammadkamel@hotmail.com fix(widget_inspector): add null check for flex factor property to prevent exception (flutter/flutter#167890)
2025-05-21 polinach@google.com Unpin leak_tracker. (flutter/flutter#169079)
2025-05-21 69134234+sutes-work@users.noreply.github.com runtime/dart: fuchsia::io::MODE_TYPE_FILE -> V_TYPE_FILE (flutter/flutter#168952)
2025-05-21 matanlurey@users.noreply.github.com Remove `isExplicitPackageDependenciesEnabled: true`, it is the default. (flutter/flutter#169156)
2025-05-21 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#169181)
2025-05-20 ybz975218925@gmail.com Fix the issue with Tooltip (flutter/flutter#168546)
2025-05-20 dacoharkes@google.com [native assets] Roll dependencies (flutter/flutter#169073)
2025-05-20 matanlurey@users.noreply.github.com Add documentation for experimental branches, update artifacts. (flutter/flutter#169109)
2025-05-20 kevmoo@users.noreply.github.com [flutter_tool] Remove unused environment flags in JS compiler (flutter/flutter#169097)
2025-05-20 bkonyi@google.com Add support for hiding widget subtrees from the widget inspector (flutter/flutter#169007)
2025-05-20 engine-flutter-autoroll@skia.org Roll Fuchsia GN SDK from jsZSHIOmQAs3URvWU... to _tkqOQZ2qB5CxDe57... (flutter/flutter#169113)
2025-05-20 matanlurey@users.noreply.github.com Skip running `Linux fuchsia_test` on non-master channel. (flutter/flutter#169106)
2025-05-19 engine-flutter-autoroll@skia.org Roll Skia from c97451da059f to 13a299964c9f (61 revisions) (flutter/flutter#169099)
2025-05-19 maRci002@users.noreply.github.com Shared element transition for predictive back (flutter/flutter#154718)
2025-05-19 58529443+srujzs@users.noreply.github.com Fix DDC library bundle format test files to correctly pass flags (flutter/flutter#169095)
2025-05-19 8847263+littleGnAl@users.noreply.github.com Clean up redundant new line in the GPUSurfaceGLSkia constructor initializer list (flutter/flutter#169031)
2025-05-19 737941+loic-sharma@users.noreply.github.com Fix keyboard_hot_restart_ios flakes (flutter/flutter#168518)
2025-05-19 mohellebiabdessalem@gmail.com fix android studio lint about lambda argument (flutter/flutter#168901)
2025-05-19 8847263+littleGnAl@users.noreply.github.com Fix typo in gpu_surface_gl_impeller.cc (flutter/flutter#168395)
2025-05-19 emmanuelferdman@gmail.com Modernize system executable detection across components (flutter/flutter#169018)
2025-05-19 56335976+stuuupidcat@users.noreply.github.com Update documentation for `Size` and `Rect` classes (flutter/flutter#168031)
2025-05-19 48603081+TahaTesser@users.noreply.github.com Update the `RangeSlider` widget to the 2024 Material Design appearance (flutter/flutter#163736)
2025-05-19 engine-flutter-autoroll@skia.org Roll Packages from 58d4016 to af0b9a9 (5 revisions) (flutter/flutter#169075)
2025-05-19 sigurdm@google.com Only bundle assets and plugins from transitive closure of dependencies (flutter/flutter#160443)
2025-05-19 15619084+vashworth@users.noreply.github.com Make FlutterGeneratedPluginSwiftPackage an Xcode root package (flutter/flutter#168789)
2025-05-19 huy@nevercode.io docs: Update deprecation message for Slider.year2023 (flutter/flutter#169053)
2025-05-18 chris@bracken.jp macOS: port ResizeSynchronizer to Swift (flutter/flutter#168959)
2025-05-17 engine-flutter-autoroll@skia.org Roll Dart SDK from dc323ec0c1a3 to 7c40eba6bf77 (3 revisions) (flutter/flutter#169024)
2025-05-17 parlough@gmail.com [tool] Remove unused `reportNullSafety` getter (flutter/flutter#168484)
2025-05-17 jsimionato@google.com Add flag to skip bundling extension safe builds in frameworks for DDM (flutter/flutter#168955)
2025-05-16 47866232+chunhtai@users.noreply.github.com Fixes Navigator calls onPopInvokedWithResult when onPopPage return false (flutter/flutter#168567)
2025-05-16 34871572+gmackall@users.noreply.github.com [hcpp/hc] Fix talkback for HC and HCPP Android platform views (flutter/flutter#168939)
2025-05-16 jonahwilliams@google.com [Impeller] separate immutable sampler descriptors. (flutter/flutter#169011)
2025-05-16 51901607+O-Hannonen@users.noreply.github.com TextField magnifier stuck on long press cancel (flutter/flutter#167881)
2025-05-16 bruno.leroux@gmail.com Fix Chip delete button semantic bounds (flutter/flutter#168310)
2025-05-16 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Jj-iDG5uPOsFgY2_H... to XtPp9bBW49iDJ0wbA... (flutter/flutter#169009)
2025-05-16 bkonyi@google.com [ Widget Preview ] Refactor `@Preview()` detection and code generation (flutter/flutter#168307)
2025-05-16 engine-flutter-autoroll@skia.org Roll Packages from 2dff621 to 58d4016 (2 revisions) (flutter/flutter#168999)
2025-05-16 matanlurey@users.noreply.github.com Remove `unittests` from `windows_host_engine` GN targets. (flutter/flutter#168991)
2025-05-16 jessy.yameogo@gmail.com Fix bug with debugging support code not getting injected on edge devices (flutter/flutter#168073)
2025-05-16 engine-flutter-autoroll@skia.org Roll Dart SDK from a1db62a5dd14 to dc323ec0c1a3 (4 revisions) (flutter/flutter#168989)
2025-05-16 58190796+MitchellGoodwin@users.noreply.github.com Resolve Cupertino textstyle in MaterialBasedCupertinoThemeData (flutter/flutter#167597)
...
FMorschel pushed a commit to FMorschel/packages that referenced this pull request Jun 9, 2025
…r#9305)

Roll Flutter from 9a78af5eb067 to 33cdd8ef31dc (60 revisions)

flutter/flutter@9a78af5...33cdd8e

2025-05-21 34465683+rkishan516@users.noreply.github.com Feat: Add persistentFooterDecoration for scaffold (flutter/flutter#167524)
2025-05-21 34270884+ferraridamiano@users.noreply.github.com Removed repeated entry in `CHANGELOG.md` (flutter/flutter#165273)
2025-05-21 dacoharkes@google.com [native assets] Graduate to preview (flutter/flutter#169194)
2025-05-21 jonahwilliams@google.com [Impeller] disable gl ext render to texture on vivante. (flutter/flutter#169153)
2025-05-21 mu7ammadkamel@hotmail.com fix(widget_inspector): add null check for flex factor property to prevent exception (flutter/flutter#167890)
2025-05-21 polinach@google.com Unpin leak_tracker. (flutter/flutter#169079)
2025-05-21 69134234+sutes-work@users.noreply.github.com runtime/dart: fuchsia::io::MODE_TYPE_FILE -> V_TYPE_FILE (flutter/flutter#168952)
2025-05-21 matanlurey@users.noreply.github.com Remove `isExplicitPackageDependenciesEnabled: true`, it is the default. (flutter/flutter#169156)
2025-05-21 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#169181)
2025-05-20 ybz975218925@gmail.com Fix the issue with Tooltip (flutter/flutter#168546)
2025-05-20 dacoharkes@google.com [native assets] Roll dependencies (flutter/flutter#169073)
2025-05-20 matanlurey@users.noreply.github.com Add documentation for experimental branches, update artifacts. (flutter/flutter#169109)
2025-05-20 kevmoo@users.noreply.github.com [flutter_tool] Remove unused environment flags in JS compiler (flutter/flutter#169097)
2025-05-20 bkonyi@google.com Add support for hiding widget subtrees from the widget inspector (flutter/flutter#169007)
2025-05-20 engine-flutter-autoroll@skia.org Roll Fuchsia GN SDK from jsZSHIOmQAs3URvWU... to _tkqOQZ2qB5CxDe57... (flutter/flutter#169113)
2025-05-20 matanlurey@users.noreply.github.com Skip running `Linux fuchsia_test` on non-master channel. (flutter/flutter#169106)
2025-05-19 engine-flutter-autoroll@skia.org Roll Skia from c97451da059f to 13a299964c9f (61 revisions) (flutter/flutter#169099)
2025-05-19 maRci002@users.noreply.github.com Shared element transition for predictive back (flutter/flutter#154718)
2025-05-19 58529443+srujzs@users.noreply.github.com Fix DDC library bundle format test files to correctly pass flags (flutter/flutter#169095)
2025-05-19 8847263+littleGnAl@users.noreply.github.com Clean up redundant new line in the GPUSurfaceGLSkia constructor initializer list (flutter/flutter#169031)
2025-05-19 737941+loic-sharma@users.noreply.github.com Fix keyboard_hot_restart_ios flakes (flutter/flutter#168518)
2025-05-19 mohellebiabdessalem@gmail.com fix android studio lint about lambda argument (flutter/flutter#168901)
2025-05-19 8847263+littleGnAl@users.noreply.github.com Fix typo in gpu_surface_gl_impeller.cc (flutter/flutter#168395)
2025-05-19 emmanuelferdman@gmail.com Modernize system executable detection across components (flutter/flutter#169018)
2025-05-19 56335976+stuuupidcat@users.noreply.github.com Update documentation for `Size` and `Rect` classes (flutter/flutter#168031)
2025-05-19 48603081+TahaTesser@users.noreply.github.com Update the `RangeSlider` widget to the 2024 Material Design appearance (flutter/flutter#163736)
2025-05-19 engine-flutter-autoroll@skia.org Roll Packages from 58d4016 to af0b9a9 (5 revisions) (flutter/flutter#169075)
2025-05-19 sigurdm@google.com Only bundle assets and plugins from transitive closure of dependencies (flutter/flutter#160443)
2025-05-19 15619084+vashworth@users.noreply.github.com Make FlutterGeneratedPluginSwiftPackage an Xcode root package (flutter/flutter#168789)
2025-05-19 huy@nevercode.io docs: Update deprecation message for Slider.year2023 (flutter/flutter#169053)
2025-05-18 chris@bracken.jp macOS: port ResizeSynchronizer to Swift (flutter/flutter#168959)
2025-05-17 engine-flutter-autoroll@skia.org Roll Dart SDK from dc323ec0c1a3 to 7c40eba6bf77 (3 revisions) (flutter/flutter#169024)
2025-05-17 parlough@gmail.com [tool] Remove unused `reportNullSafety` getter (flutter/flutter#168484)
2025-05-17 jsimionato@google.com Add flag to skip bundling extension safe builds in frameworks for DDM (flutter/flutter#168955)
2025-05-16 47866232+chunhtai@users.noreply.github.com Fixes Navigator calls onPopInvokedWithResult when onPopPage return false (flutter/flutter#168567)
2025-05-16 34871572+gmackall@users.noreply.github.com [hcpp/hc] Fix talkback for HC and HCPP Android platform views (flutter/flutter#168939)
2025-05-16 jonahwilliams@google.com [Impeller] separate immutable sampler descriptors. (flutter/flutter#169011)
2025-05-16 51901607+O-Hannonen@users.noreply.github.com TextField magnifier stuck on long press cancel (flutter/flutter#167881)
2025-05-16 bruno.leroux@gmail.com Fix Chip delete button semantic bounds (flutter/flutter#168310)
2025-05-16 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Jj-iDG5uPOsFgY2_H... to XtPp9bBW49iDJ0wbA... (flutter/flutter#169009)
2025-05-16 bkonyi@google.com [ Widget Preview ] Refactor `@Preview()` detection and code generation (flutter/flutter#168307)
2025-05-16 engine-flutter-autoroll@skia.org Roll Packages from 2dff621 to 58d4016 (2 revisions) (flutter/flutter#168999)
2025-05-16 matanlurey@users.noreply.github.com Remove `unittests` from `windows_host_engine` GN targets. (flutter/flutter#168991)
2025-05-16 jessy.yameogo@gmail.com Fix bug with debugging support code not getting injected on edge devices (flutter/flutter#168073)
2025-05-16 engine-flutter-autoroll@skia.org Roll Dart SDK from a1db62a5dd14 to dc323ec0c1a3 (4 revisions) (flutter/flutter#168989)
2025-05-16 58190796+MitchellGoodwin@users.noreply.github.com Resolve Cupertino textstyle in MaterialBasedCupertinoThemeData (flutter/flutter#167597)
...
Ortes pushed a commit to Ortes/packages that referenced this pull request Jun 25, 2025
…r#9305)

Roll Flutter from 9a78af5eb067 to 33cdd8ef31dc (60 revisions)

flutter/flutter@9a78af5...33cdd8e

2025-05-21 34465683+rkishan516@users.noreply.github.com Feat: Add persistentFooterDecoration for scaffold (flutter/flutter#167524)
2025-05-21 34270884+ferraridamiano@users.noreply.github.com Removed repeated entry in `CHANGELOG.md` (flutter/flutter#165273)
2025-05-21 dacoharkes@google.com [native assets] Graduate to preview (flutter/flutter#169194)
2025-05-21 jonahwilliams@google.com [Impeller] disable gl ext render to texture on vivante. (flutter/flutter#169153)
2025-05-21 mu7ammadkamel@hotmail.com fix(widget_inspector): add null check for flex factor property to prevent exception (flutter/flutter#167890)
2025-05-21 polinach@google.com Unpin leak_tracker. (flutter/flutter#169079)
2025-05-21 69134234+sutes-work@users.noreply.github.com runtime/dart: fuchsia::io::MODE_TYPE_FILE -> V_TYPE_FILE (flutter/flutter#168952)
2025-05-21 matanlurey@users.noreply.github.com Remove `isExplicitPackageDependenciesEnabled: true`, it is the default. (flutter/flutter#169156)
2025-05-21 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#169181)
2025-05-20 ybz975218925@gmail.com Fix the issue with Tooltip (flutter/flutter#168546)
2025-05-20 dacoharkes@google.com [native assets] Roll dependencies (flutter/flutter#169073)
2025-05-20 matanlurey@users.noreply.github.com Add documentation for experimental branches, update artifacts. (flutter/flutter#169109)
2025-05-20 kevmoo@users.noreply.github.com [flutter_tool] Remove unused environment flags in JS compiler (flutter/flutter#169097)
2025-05-20 bkonyi@google.com Add support for hiding widget subtrees from the widget inspector (flutter/flutter#169007)
2025-05-20 engine-flutter-autoroll@skia.org Roll Fuchsia GN SDK from jsZSHIOmQAs3URvWU... to _tkqOQZ2qB5CxDe57... (flutter/flutter#169113)
2025-05-20 matanlurey@users.noreply.github.com Skip running `Linux fuchsia_test` on non-master channel. (flutter/flutter#169106)
2025-05-19 engine-flutter-autoroll@skia.org Roll Skia from c97451da059f to 13a299964c9f (61 revisions) (flutter/flutter#169099)
2025-05-19 maRci002@users.noreply.github.com Shared element transition for predictive back (flutter/flutter#154718)
2025-05-19 58529443+srujzs@users.noreply.github.com Fix DDC library bundle format test files to correctly pass flags (flutter/flutter#169095)
2025-05-19 8847263+littleGnAl@users.noreply.github.com Clean up redundant new line in the GPUSurfaceGLSkia constructor initializer list (flutter/flutter#169031)
2025-05-19 737941+loic-sharma@users.noreply.github.com Fix keyboard_hot_restart_ios flakes (flutter/flutter#168518)
2025-05-19 mohellebiabdessalem@gmail.com fix android studio lint about lambda argument (flutter/flutter#168901)
2025-05-19 8847263+littleGnAl@users.noreply.github.com Fix typo in gpu_surface_gl_impeller.cc (flutter/flutter#168395)
2025-05-19 emmanuelferdman@gmail.com Modernize system executable detection across components (flutter/flutter#169018)
2025-05-19 56335976+stuuupidcat@users.noreply.github.com Update documentation for `Size` and `Rect` classes (flutter/flutter#168031)
2025-05-19 48603081+TahaTesser@users.noreply.github.com Update the `RangeSlider` widget to the 2024 Material Design appearance (flutter/flutter#163736)
2025-05-19 engine-flutter-autoroll@skia.org Roll Packages from 58d4016 to af0b9a9 (5 revisions) (flutter/flutter#169075)
2025-05-19 sigurdm@google.com Only bundle assets and plugins from transitive closure of dependencies (flutter/flutter#160443)
2025-05-19 15619084+vashworth@users.noreply.github.com Make FlutterGeneratedPluginSwiftPackage an Xcode root package (flutter/flutter#168789)
2025-05-19 huy@nevercode.io docs: Update deprecation message for Slider.year2023 (flutter/flutter#169053)
2025-05-18 chris@bracken.jp macOS: port ResizeSynchronizer to Swift (flutter/flutter#168959)
2025-05-17 engine-flutter-autoroll@skia.org Roll Dart SDK from dc323ec0c1a3 to 7c40eba6bf77 (3 revisions) (flutter/flutter#169024)
2025-05-17 parlough@gmail.com [tool] Remove unused `reportNullSafety` getter (flutter/flutter#168484)
2025-05-17 jsimionato@google.com Add flag to skip bundling extension safe builds in frameworks for DDM (flutter/flutter#168955)
2025-05-16 47866232+chunhtai@users.noreply.github.com Fixes Navigator calls onPopInvokedWithResult when onPopPage return false (flutter/flutter#168567)
2025-05-16 34871572+gmackall@users.noreply.github.com [hcpp/hc] Fix talkback for HC and HCPP Android platform views (flutter/flutter#168939)
2025-05-16 jonahwilliams@google.com [Impeller] separate immutable sampler descriptors. (flutter/flutter#169011)
2025-05-16 51901607+O-Hannonen@users.noreply.github.com TextField magnifier stuck on long press cancel (flutter/flutter#167881)
2025-05-16 bruno.leroux@gmail.com Fix Chip delete button semantic bounds (flutter/flutter#168310)
2025-05-16 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Jj-iDG5uPOsFgY2_H... to XtPp9bBW49iDJ0wbA... (flutter/flutter#169009)
2025-05-16 bkonyi@google.com [ Widget Preview ] Refactor `@Preview()` detection and code generation (flutter/flutter#168307)
2025-05-16 engine-flutter-autoroll@skia.org Roll Packages from 2dff621 to 58d4016 (2 revisions) (flutter/flutter#168999)
2025-05-16 matanlurey@users.noreply.github.com Remove `unittests` from `windows_host_engine` GN targets. (flutter/flutter#168991)
2025-05-16 jessy.yameogo@gmail.com Fix bug with debugging support code not getting injected on edge devices (flutter/flutter#168073)
2025-05-16 engine-flutter-autoroll@skia.org Roll Dart SDK from a1db62a5dd14 to dc323ec0c1a3 (4 revisions) (flutter/flutter#168989)
2025-05-16 58190796+MitchellGoodwin@users.noreply.github.com Resolve Cupertino textstyle in MaterialBasedCupertinoThemeData (flutter/flutter#167597)
...
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants