Skip to content

Conversation

@jyameo
Copy link
Contributor

@jyameo jyameo commented May 6, 2025

This PR makes the following improvements to web hot reload support and related tests:

  • The --start-paused flag is now silently added when running with -d web-server --web-experimental-hot-reload if it is not already present.
  • Refactored test infrastructure to allow specifying the device parameter (e.g., 'chrome', 'web-server') when running integration tests.
  • Added a new web_run_web_server_test to run flows on the web-server device.
  • Updated existing tests to explicitly pass the correct device parameter where needed.
  • We are currently not able to test hot reload on the web-server device as this is not yet supported.

Fixes dart-lang/sdk#60289

@github-actions github-actions bot added the tool Affects the "flutter" command-line tool. See also t: labels. label May 6, 2025
@jyameo jyameo requested a review from srujzs May 6, 2025 18:44
Copy link
Contributor

@srujzs srujzs left a comment

Choose a reason for hiding this comment

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

This generally looks okay to me, but I'm still not sure if this is the right answer. I'm okay with this landing to unblock now, but perhaps we should file a follow-up bug here.

@jyameo
Copy link
Contributor Author

jyameo commented May 8, 2025

Hi @srujzs, any idea what is causing the failures above? I made sure to run dart format on the files I have made changes in but looks like there is still some analyzer related failures. Also the tool_integration tests do not give enough details to know what caused the failures. Any idea how to tackle this?

@srujzs
Copy link
Contributor

srujzs commented May 8, 2025

Yeah, they're quite hidden. If you click "view details" on the Linux analyze bot, click "View more details on flutter-dashboard" on the bottom of the new window, click "stdout" in the new window (under "run test.dart for analyze shard and subshard None"), you'll see the full logs: https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8715503385278324001/+/u/run_test.dart_for_analyze_shard_and_subshard_None/stdout

In there, you'll see:

warning • The library 'package:flutter_tools/src/web/web_device.dart' doesn't export a member with the shown name 'kChromeDeviceId' • packages/flutter_tools/test/integration.shard/test_data/hot_reload_test_common.dart:8:81 • undefined_shown_name
warning • The library 'package:flutter_tools/src/web/web_device.dart' doesn't export a member with the shown name 'kWebServerDeviceId' • packages/flutter_tools/test/web.shard/web_run_web_server_test.dart:10:78 • undefined_shown_name

@jyameo
Copy link
Contributor Author

jyameo commented May 8, 2025

Yeah, they're quite hidden. If you click "view details" on the Linux analyze bot, click "View more details on flutter-dashboard" on the bottom of the new window, click "stdout" in the new window (under "run test.dart for analyze shard and subshard None"), you'll see the full logs: https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8715503385278324001/+/u/run_test.dart_for_analyze_shard_and_subshard_None/stdout

In there, you'll see:

warning • The library 'package:flutter_tools/src/web/web_device.dart' doesn't export a member with the shown name 'kChromeDeviceId' • packages/flutter_tools/test/integration.shard/test_data/hot_reload_test_common.dart:8:81 • undefined_shown_name
warning • The library 'package:flutter_tools/src/web/web_device.dart' doesn't export a member with the shown name 'kWebServerDeviceId' • packages/flutter_tools/test/web.shard/web_run_web_server_test.dart:10:78 • undefined_shown_name

Ah! Got it! Thank you very much @srujzs

@flutter-dashboard
Copy link

Golden file changes have been found for this pull request. Click here to view and triage (e.g. because this is an intentional change).

If you are still iterating on this change and are not ready to resolve the images on the Flutter Gold dashboard, consider marking this PR as a draft pull request above. You will still be able to view image results on the dashboard, commenting will be silenced, and the check will not try to resolve itself until marked ready for review.

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.

Changes reported for pull request #168400 at sha b9d9790

@flutter-dashboard flutter-dashboard bot added the will affect goldens Changes to golden files label May 12, 2025
@jyameo jyameo added this pull request to the merge queue May 13, 2025
Merged via the queue into flutter:master with commit 8e8671b May 13, 2025
141 of 143 checks passed
@jyameo jyameo deleted the yj-web-server-bug branch May 13, 2025 17:18
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 14, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request May 14, 2025
flutter/flutter@336a7ec...0b9f928

2025-05-14 [email protected] Fix Linux Impeller support broken by incorrect deletion of stencil buffer. (flutter/flutter#168668)
2025-05-14 [email protected] Roll Fuchsia Linux SDK from 6J81agNhuK4q255Jj... to fSvuEJgRmHxnewRJr... (flutter/flutter#168794)
2025-05-14 [email protected] Run `{Platform} flutter_packaging` builders on release candidates. (flutter/flutter#168762)
2025-05-14 [email protected] Remove `docs_deploy_beta`, fix `docs_publish`, add comments. (flutter/flutter#168754)
2025-05-14 [email protected] Add `titleAlignment` to `CheckboxListTile` and `RadioListTile`  (flutter/flutter#168666)
2025-05-14 [email protected] Remove deprecated todo about caching (flutter/flutter#168534)
2025-05-13 [email protected] Replace hardcoded host and app level build.gradle paths with `AndroidProject`-level getters in `gradle_errors.dart` (flutter/flutter#167949)
2025-05-13 [email protected] Improve documentation for KeyedSubtree constructor (flutter/flutter#167198)
2025-05-13 [email protected] Wire up the system text scaler from `PlatformDispatcher` (flutter/flutter#159999)
2025-05-13 [email protected] Roll Dart SDK from 645d04a7a964 to b3520981e0f0 (3 revisions) (flutter/flutter#168721)
2025-05-13 [email protected] [a11y] Semanctis flag refactor step 3: framework part (flutter/flutter#167771)
2025-05-13 [email protected] Remove/replace the `team` label with `c: contributor-productivity`. (flutter/flutter#168702)
2025-05-13 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Clip search artifacts in CupertinoSliverNavigationBar searchable-to-searchable transitions (#168510)" (flutter/flutter#168775)
2025-05-13 [email protected] Use live region in error text input decorator for Android (flutter/flutter#165531)
2025-05-13 [email protected] [tool] Fix deprecated API calls within tool (flutter/flutter#168200)
2025-05-13 [email protected] Clip search artifacts in CupertinoSliverNavigationBar searchable-to-searchable transitions (flutter/flutter#168510)
2025-05-13 [email protected] Fixes hero not shown when remove pages without animation (flutter/flutter#168617)
2025-05-13 [email protected] [iOS] Do not hide selection handles when platform hides system context menu (flutter/flutter#168678)
2025-05-13 [email protected] Updated execution path to silently include --start-paused and updated tests (flutter/flutter#168400)
2025-05-13 [email protected] Roll Packages from 6a28ad9 to 2e166de (2 revisions) (flutter/flutter#168736)
2025-05-13 [email protected] [web] Fix multiline input selection in Chrome. (flutter/flutter#168217)
2025-05-13 [email protected] Call xcode_backend.dart from macos_assemble.sh (flutter/flutter#168108)

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] 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
…r#9251)

flutter/flutter@336a7ec...0b9f928

2025-05-14 [email protected] Fix Linux Impeller support broken by incorrect deletion of stencil buffer. (flutter/flutter#168668)
2025-05-14 [email protected] Roll Fuchsia Linux SDK from 6J81agNhuK4q255Jj... to fSvuEJgRmHxnewRJr... (flutter/flutter#168794)
2025-05-14 [email protected] Run `{Platform} flutter_packaging` builders on release candidates. (flutter/flutter#168762)
2025-05-14 [email protected] Remove `docs_deploy_beta`, fix `docs_publish`, add comments. (flutter/flutter#168754)
2025-05-14 [email protected] Add `titleAlignment` to `CheckboxListTile` and `RadioListTile`  (flutter/flutter#168666)
2025-05-14 [email protected] Remove deprecated todo about caching (flutter/flutter#168534)
2025-05-13 [email protected] Replace hardcoded host and app level build.gradle paths with `AndroidProject`-level getters in `gradle_errors.dart` (flutter/flutter#167949)
2025-05-13 [email protected] Improve documentation for KeyedSubtree constructor (flutter/flutter#167198)
2025-05-13 [email protected] Wire up the system text scaler from `PlatformDispatcher` (flutter/flutter#159999)
2025-05-13 [email protected] Roll Dart SDK from 645d04a7a964 to b3520981e0f0 (3 revisions) (flutter/flutter#168721)
2025-05-13 [email protected] [a11y] Semanctis flag refactor step 3: framework part (flutter/flutter#167771)
2025-05-13 [email protected] Remove/replace the `team` label with `c: contributor-productivity`. (flutter/flutter#168702)
2025-05-13 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Clip search artifacts in CupertinoSliverNavigationBar searchable-to-searchable transitions (#168510)" (flutter/flutter#168775)
2025-05-13 [email protected] Use live region in error text input decorator for Android (flutter/flutter#165531)
2025-05-13 [email protected] [tool] Fix deprecated API calls within tool (flutter/flutter#168200)
2025-05-13 [email protected] Clip search artifacts in CupertinoSliverNavigationBar searchable-to-searchable transitions (flutter/flutter#168510)
2025-05-13 [email protected] Fixes hero not shown when remove pages without animation (flutter/flutter#168617)
2025-05-13 [email protected] [iOS] Do not hide selection handles when platform hides system context menu (flutter/flutter#168678)
2025-05-13 [email protected] Updated execution path to silently include --start-paused and updated tests (flutter/flutter#168400)
2025-05-13 [email protected] Roll Packages from 6a28ad9 to 2e166de (2 revisions) (flutter/flutter#168736)
2025-05-13 [email protected] [web] Fix multiline input selection in Chrome. (flutter/flutter#168217)
2025-05-13 [email protected] Call xcode_backend.dart from macos_assemble.sh (flutter/flutter#168108)

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] 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
Ortes pushed a commit to Ortes/packages that referenced this pull request Jun 25, 2025
…r#9251)

flutter/flutter@336a7ec...0b9f928

2025-05-14 [email protected] Fix Linux Impeller support broken by incorrect deletion of stencil buffer. (flutter/flutter#168668)
2025-05-14 [email protected] Roll Fuchsia Linux SDK from 6J81agNhuK4q255Jj... to fSvuEJgRmHxnewRJr... (flutter/flutter#168794)
2025-05-14 [email protected] Run `{Platform} flutter_packaging` builders on release candidates. (flutter/flutter#168762)
2025-05-14 [email protected] Remove `docs_deploy_beta`, fix `docs_publish`, add comments. (flutter/flutter#168754)
2025-05-14 [email protected] Add `titleAlignment` to `CheckboxListTile` and `RadioListTile`  (flutter/flutter#168666)
2025-05-14 [email protected] Remove deprecated todo about caching (flutter/flutter#168534)
2025-05-13 [email protected] Replace hardcoded host and app level build.gradle paths with `AndroidProject`-level getters in `gradle_errors.dart` (flutter/flutter#167949)
2025-05-13 [email protected] Improve documentation for KeyedSubtree constructor (flutter/flutter#167198)
2025-05-13 [email protected] Wire up the system text scaler from `PlatformDispatcher` (flutter/flutter#159999)
2025-05-13 [email protected] Roll Dart SDK from 645d04a7a964 to b3520981e0f0 (3 revisions) (flutter/flutter#168721)
2025-05-13 [email protected] [a11y] Semanctis flag refactor step 3: framework part (flutter/flutter#167771)
2025-05-13 [email protected] Remove/replace the `team` label with `c: contributor-productivity`. (flutter/flutter#168702)
2025-05-13 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Clip search artifacts in CupertinoSliverNavigationBar searchable-to-searchable transitions (#168510)" (flutter/flutter#168775)
2025-05-13 [email protected] Use live region in error text input decorator for Android (flutter/flutter#165531)
2025-05-13 [email protected] [tool] Fix deprecated API calls within tool (flutter/flutter#168200)
2025-05-13 [email protected] Clip search artifacts in CupertinoSliverNavigationBar searchable-to-searchable transitions (flutter/flutter#168510)
2025-05-13 [email protected] Fixes hero not shown when remove pages without animation (flutter/flutter#168617)
2025-05-13 [email protected] [iOS] Do not hide selection handles when platform hides system context menu (flutter/flutter#168678)
2025-05-13 [email protected] Updated execution path to silently include --start-paused and updated tests (flutter/flutter#168400)
2025-05-13 [email protected] Roll Packages from 6a28ad9 to 2e166de (2 revisions) (flutter/flutter#168736)
2025-05-13 [email protected] [web] Fix multiline input selection in Chrome. (flutter/flutter#168217)
2025-05-13 [email protected] Call xcode_backend.dart from macos_assemble.sh (flutter/flutter#168108)

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

tool Affects the "flutter" command-line tool. See also t: labels. will affect goldens Changes to golden files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Web hot reload breaks app when running as Web Server (-d web-server)

2 participants