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 [email protected] Feat: Add persistentFooterDecoration for scaffold (flutter/flutter#167524)
2025-05-21 [email protected] Removed repeated entry in `CHANGELOG.md` (flutter/flutter#165273)
2025-05-21 [email protected] [native assets] Graduate to preview (flutter/flutter#169194)
2025-05-21 [email protected] [Impeller] disable gl ext render to texture on vivante. (flutter/flutter#169153)
2025-05-21 [email protected] fix(widget_inspector): add null check for flex factor property to prevent exception (flutter/flutter#167890)
2025-05-21 [email protected] Unpin leak_tracker. (flutter/flutter#169079)
2025-05-21 [email protected] runtime/dart: fuchsia::io::MODE_TYPE_FILE -> V_TYPE_FILE (flutter/flutter#168952)
2025-05-21 [email protected] Remove `isExplicitPackageDependenciesEnabled: true`, it is the default. (flutter/flutter#169156)
2025-05-21 [email protected] Roll pub packages (flutter/flutter#169181)
2025-05-20 [email protected] Fix the issue with Tooltip (flutter/flutter#168546)
2025-05-20 [email protected] [native assets] Roll dependencies (flutter/flutter#169073)
2025-05-20 [email protected] Add documentation for experimental branches, update artifacts. (flutter/flutter#169109)
2025-05-20 [email protected] [flutter_tool] Remove unused environment flags in JS compiler (flutter/flutter#169097)
2025-05-20 [email protected] Add support for hiding widget subtrees from the widget inspector (flutter/flutter#169007)
2025-05-20 [email protected] Roll Fuchsia GN SDK from jsZSHIOmQAs3URvWU... to _tkqOQZ2qB5CxDe57... (flutter/flutter#169113)
2025-05-20 [email protected] Skip running `Linux fuchsia_test` on non-master channel. (flutter/flutter#169106)
2025-05-19 [email protected] Roll Skia from c97451da059f to 13a299964c9f (61 revisions) (flutter/flutter#169099)
2025-05-19 [email protected] Shared element transition for predictive back (flutter/flutter#154718)
2025-05-19 [email protected] Fix DDC library bundle format test files to correctly pass flags (flutter/flutter#169095)
2025-05-19 [email protected] Clean up redundant new line in the GPUSurfaceGLSkia constructor initializer list (flutter/flutter#169031)
2025-05-19 [email protected] Fix keyboard_hot_restart_ios flakes (flutter/flutter#168518)
2025-05-19 [email protected] fix android studio lint about lambda argument (flutter/flutter#168901)
2025-05-19 [email protected] Fix typo in gpu_surface_gl_impeller.cc (flutter/flutter#168395)
2025-05-19 [email protected] Modernize system executable detection across components (flutter/flutter#169018)
2025-05-19 [email protected] Update documentation for `Size` and `Rect` classes (flutter/flutter#168031)
2025-05-19 [email protected] Update the `RangeSlider` widget to the 2024 Material Design appearance (flutter/flutter#163736)
2025-05-19 [email protected] Roll Packages from 58d4016 to af0b9a9 (5 revisions) (flutter/flutter#169075)
2025-05-19 [email protected] Only bundle assets and plugins from transitive closure of dependencies (flutter/flutter#160443)
2025-05-19 [email protected] Make FlutterGeneratedPluginSwiftPackage an Xcode root package (flutter/flutter#168789)
2025-05-19 [email protected] docs: Update deprecation message for Slider.year2023 (flutter/flutter#169053)
2025-05-18 [email protected] macOS: port ResizeSynchronizer to Swift (flutter/flutter#168959)
2025-05-17 [email protected] Roll Dart SDK from dc323ec0c1a3 to 7c40eba6bf77 (3 revisions) (flutter/flutter#169024)
2025-05-17 [email protected] [tool] Remove unused `reportNullSafety` getter (flutter/flutter#168484)
2025-05-17 [email protected] Add flag to skip bundling extension safe builds in frameworks for DDM (flutter/flutter#168955)
2025-05-16 [email protected] Fixes Navigator calls onPopInvokedWithResult when onPopPage return false (flutter/flutter#168567)
2025-05-16 [email protected] [hcpp/hc] Fix talkback for HC and HCPP Android platform views (flutter/flutter#168939)
2025-05-16 [email protected] [Impeller] separate immutable sampler descriptors. (flutter/flutter#169011)
2025-05-16 [email protected] TextField magnifier stuck on long press cancel (flutter/flutter#167881)
2025-05-16 [email protected] Fix Chip delete button semantic bounds (flutter/flutter#168310)
2025-05-16 [email protected] Roll Fuchsia Linux SDK from Jj-iDG5uPOsFgY2_H... to XtPp9bBW49iDJ0wbA... (flutter/flutter#169009)
2025-05-16 [email protected] [ Widget Preview ] Refactor `@Preview()` detection and code generation (flutter/flutter#168307)
2025-05-16 [email protected] Roll Packages from 2dff621 to 58d4016 (2 revisions) (flutter/flutter#168999)
2025-05-16 [email protected] Remove `unittests` from `windows_host_engine` GN targets. (flutter/flutter#168991)
2025-05-16 [email protected] Fix bug with debugging support code not getting injected on edge devices (flutter/flutter#168073)
2025-05-16 [email protected] Roll Dart SDK from a1db62a5dd14 to dc323ec0c1a3 (4 revisions) (flutter/flutter#168989)
2025-05-16 [email protected] 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 [email protected] Feat: Add persistentFooterDecoration for scaffold (flutter/flutter#167524)
2025-05-21 [email protected] Removed repeated entry in `CHANGELOG.md` (flutter/flutter#165273)
2025-05-21 [email protected] [native assets] Graduate to preview (flutter/flutter#169194)
2025-05-21 [email protected] [Impeller] disable gl ext render to texture on vivante. (flutter/flutter#169153)
2025-05-21 [email protected] fix(widget_inspector): add null check for flex factor property to prevent exception (flutter/flutter#167890)
2025-05-21 [email protected] Unpin leak_tracker. (flutter/flutter#169079)
2025-05-21 [email protected] runtime/dart: fuchsia::io::MODE_TYPE_FILE -> V_TYPE_FILE (flutter/flutter#168952)
2025-05-21 [email protected] Remove `isExplicitPackageDependenciesEnabled: true`, it is the default. (flutter/flutter#169156)
2025-05-21 [email protected] Roll pub packages (flutter/flutter#169181)
2025-05-20 [email protected] Fix the issue with Tooltip (flutter/flutter#168546)
2025-05-20 [email protected] [native assets] Roll dependencies (flutter/flutter#169073)
2025-05-20 [email protected] Add documentation for experimental branches, update artifacts. (flutter/flutter#169109)
2025-05-20 [email protected] [flutter_tool] Remove unused environment flags in JS compiler (flutter/flutter#169097)
2025-05-20 [email protected] Add support for hiding widget subtrees from the widget inspector (flutter/flutter#169007)
2025-05-20 [email protected] Roll Fuchsia GN SDK from jsZSHIOmQAs3URvWU... to _tkqOQZ2qB5CxDe57... (flutter/flutter#169113)
2025-05-20 [email protected] Skip running `Linux fuchsia_test` on non-master channel. (flutter/flutter#169106)
2025-05-19 [email protected] Roll Skia from c97451da059f to 13a299964c9f (61 revisions) (flutter/flutter#169099)
2025-05-19 [email protected] Shared element transition for predictive back (flutter/flutter#154718)
2025-05-19 [email protected] Fix DDC library bundle format test files to correctly pass flags (flutter/flutter#169095)
2025-05-19 [email protected] Clean up redundant new line in the GPUSurfaceGLSkia constructor initializer list (flutter/flutter#169031)
2025-05-19 [email protected] Fix keyboard_hot_restart_ios flakes (flutter/flutter#168518)
2025-05-19 [email protected] fix android studio lint about lambda argument (flutter/flutter#168901)
2025-05-19 [email protected] Fix typo in gpu_surface_gl_impeller.cc (flutter/flutter#168395)
2025-05-19 [email protected] Modernize system executable detection across components (flutter/flutter#169018)
2025-05-19 [email protected] Update documentation for `Size` and `Rect` classes (flutter/flutter#168031)
2025-05-19 [email protected] Update the `RangeSlider` widget to the 2024 Material Design appearance (flutter/flutter#163736)
2025-05-19 [email protected] Roll Packages from 58d4016 to af0b9a9 (5 revisions) (flutter/flutter#169075)
2025-05-19 [email protected] Only bundle assets and plugins from transitive closure of dependencies (flutter/flutter#160443)
2025-05-19 [email protected] Make FlutterGeneratedPluginSwiftPackage an Xcode root package (flutter/flutter#168789)
2025-05-19 [email protected] docs: Update deprecation message for Slider.year2023 (flutter/flutter#169053)
2025-05-18 [email protected] macOS: port ResizeSynchronizer to Swift (flutter/flutter#168959)
2025-05-17 [email protected] Roll Dart SDK from dc323ec0c1a3 to 7c40eba6bf77 (3 revisions) (flutter/flutter#169024)
2025-05-17 [email protected] [tool] Remove unused `reportNullSafety` getter (flutter/flutter#168484)
2025-05-17 [email protected] Add flag to skip bundling extension safe builds in frameworks for DDM (flutter/flutter#168955)
2025-05-16 [email protected] Fixes Navigator calls onPopInvokedWithResult when onPopPage return false (flutter/flutter#168567)
2025-05-16 [email protected] [hcpp/hc] Fix talkback for HC and HCPP Android platform views (flutter/flutter#168939)
2025-05-16 [email protected] [Impeller] separate immutable sampler descriptors. (flutter/flutter#169011)
2025-05-16 [email protected] TextField magnifier stuck on long press cancel (flutter/flutter#167881)
2025-05-16 [email protected] Fix Chip delete button semantic bounds (flutter/flutter#168310)
2025-05-16 [email protected] Roll Fuchsia Linux SDK from Jj-iDG5uPOsFgY2_H... to XtPp9bBW49iDJ0wbA... (flutter/flutter#169009)
2025-05-16 [email protected] [ Widget Preview ] Refactor `@Preview()` detection and code generation (flutter/flutter#168307)
2025-05-16 [email protected] Roll Packages from 2dff621 to 58d4016 (2 revisions) (flutter/flutter#168999)
2025-05-16 [email protected] Remove `unittests` from `windows_host_engine` GN targets. (flutter/flutter#168991)
2025-05-16 [email protected] Fix bug with debugging support code not getting injected on edge devices (flutter/flutter#168073)
2025-05-16 [email protected] Roll Dart SDK from a1db62a5dd14 to dc323ec0c1a3 (4 revisions) (flutter/flutter#168989)
2025-05-16 [email protected] 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 [email protected] Feat: Add persistentFooterDecoration for scaffold (flutter/flutter#167524)
2025-05-21 [email protected] Removed repeated entry in `CHANGELOG.md` (flutter/flutter#165273)
2025-05-21 [email protected] [native assets] Graduate to preview (flutter/flutter#169194)
2025-05-21 [email protected] [Impeller] disable gl ext render to texture on vivante. (flutter/flutter#169153)
2025-05-21 [email protected] fix(widget_inspector): add null check for flex factor property to prevent exception (flutter/flutter#167890)
2025-05-21 [email protected] Unpin leak_tracker. (flutter/flutter#169079)
2025-05-21 [email protected] runtime/dart: fuchsia::io::MODE_TYPE_FILE -> V_TYPE_FILE (flutter/flutter#168952)
2025-05-21 [email protected] Remove `isExplicitPackageDependenciesEnabled: true`, it is the default. (flutter/flutter#169156)
2025-05-21 [email protected] Roll pub packages (flutter/flutter#169181)
2025-05-20 [email protected] Fix the issue with Tooltip (flutter/flutter#168546)
2025-05-20 [email protected] [native assets] Roll dependencies (flutter/flutter#169073)
2025-05-20 [email protected] Add documentation for experimental branches, update artifacts. (flutter/flutter#169109)
2025-05-20 [email protected] [flutter_tool] Remove unused environment flags in JS compiler (flutter/flutter#169097)
2025-05-20 [email protected] Add support for hiding widget subtrees from the widget inspector (flutter/flutter#169007)
2025-05-20 [email protected] Roll Fuchsia GN SDK from jsZSHIOmQAs3URvWU... to _tkqOQZ2qB5CxDe57... (flutter/flutter#169113)
2025-05-20 [email protected] Skip running `Linux fuchsia_test` on non-master channel. (flutter/flutter#169106)
2025-05-19 [email protected] Roll Skia from c97451da059f to 13a299964c9f (61 revisions) (flutter/flutter#169099)
2025-05-19 [email protected] Shared element transition for predictive back (flutter/flutter#154718)
2025-05-19 [email protected] Fix DDC library bundle format test files to correctly pass flags (flutter/flutter#169095)
2025-05-19 [email protected] Clean up redundant new line in the GPUSurfaceGLSkia constructor initializer list (flutter/flutter#169031)
2025-05-19 [email protected] Fix keyboard_hot_restart_ios flakes (flutter/flutter#168518)
2025-05-19 [email protected] fix android studio lint about lambda argument (flutter/flutter#168901)
2025-05-19 [email protected] Fix typo in gpu_surface_gl_impeller.cc (flutter/flutter#168395)
2025-05-19 [email protected] Modernize system executable detection across components (flutter/flutter#169018)
2025-05-19 [email protected] Update documentation for `Size` and `Rect` classes (flutter/flutter#168031)
2025-05-19 [email protected] Update the `RangeSlider` widget to the 2024 Material Design appearance (flutter/flutter#163736)
2025-05-19 [email protected] Roll Packages from 58d4016 to af0b9a9 (5 revisions) (flutter/flutter#169075)
2025-05-19 [email protected] Only bundle assets and plugins from transitive closure of dependencies (flutter/flutter#160443)
2025-05-19 [email protected] Make FlutterGeneratedPluginSwiftPackage an Xcode root package (flutter/flutter#168789)
2025-05-19 [email protected] docs: Update deprecation message for Slider.year2023 (flutter/flutter#169053)
2025-05-18 [email protected] macOS: port ResizeSynchronizer to Swift (flutter/flutter#168959)
2025-05-17 [email protected] Roll Dart SDK from dc323ec0c1a3 to 7c40eba6bf77 (3 revisions) (flutter/flutter#169024)
2025-05-17 [email protected] [tool] Remove unused `reportNullSafety` getter (flutter/flutter#168484)
2025-05-17 [email protected] Add flag to skip bundling extension safe builds in frameworks for DDM (flutter/flutter#168955)
2025-05-16 [email protected] Fixes Navigator calls onPopInvokedWithResult when onPopPage return false (flutter/flutter#168567)
2025-05-16 [email protected] [hcpp/hc] Fix talkback for HC and HCPP Android platform views (flutter/flutter#168939)
2025-05-16 [email protected] [Impeller] separate immutable sampler descriptors. (flutter/flutter#169011)
2025-05-16 [email protected] TextField magnifier stuck on long press cancel (flutter/flutter#167881)
2025-05-16 [email protected] Fix Chip delete button semantic bounds (flutter/flutter#168310)
2025-05-16 [email protected] Roll Fuchsia Linux SDK from Jj-iDG5uPOsFgY2_H... to XtPp9bBW49iDJ0wbA... (flutter/flutter#169009)
2025-05-16 [email protected] [ Widget Preview ] Refactor `@Preview()` detection and code generation (flutter/flutter#168307)
2025-05-16 [email protected] Roll Packages from 2dff621 to 58d4016 (2 revisions) (flutter/flutter#168999)
2025-05-16 [email protected] Remove `unittests` from `windows_host_engine` GN targets. (flutter/flutter#168991)
2025-05-16 [email protected] Fix bug with debugging support code not getting injected on edge devices (flutter/flutter#168073)
2025-05-16 [email protected] Roll Dart SDK from a1db62a5dd14 to dc323ec0c1a3 (4 revisions) (flutter/flutter#168989)
2025-05-16 [email protected] 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