Skip to content

Conversation

@bkonyi
Copy link
Contributor

@bkonyi bkonyi commented Oct 20, 2025

The DWDS websocket mode used by the Flutter web-server device provides a limited subset of the service protocol that doesn't include debugging capabilities, expression evaluation support, or object inspection. This change adds detection for applications running in this limited mode and hides screens that rely on unsupported functionality (e.g., debugger).

The DWDS websocket mode used by the Flutter `web-server` device provides
a limited subset of the service protocol that doesn't include debugging
capabilities, expression evaluation support, or object inspection. This
change adds detection for applications running in this limited mode and
hides screens that rely on unsupported functionality (e.g., debugger).
@bkonyi bkonyi requested a review from elliette October 20, 2025 15:45
@bkonyi bkonyi requested review from a team and kenzieschmoll as code owners October 20, 2025 15:45
@bkonyi bkonyi requested a review from elliette October 22, 2025 17:02
Copy link
Member

@elliette elliette left a comment

Choose a reason for hiding this comment

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

Some small nits but otherwise LGTM!

visibleScreenTypes,
equals([
HomeScreen,
// InspectorScreen,
Copy link
Member

Choose a reason for hiding this comment

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

Remove commented out code 😃 (here and below)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Just confirming we actually want to do this, since I think these were intentionally added to make it clear which screens should be omitted. I'm happy to remove them though if you'd prefer 😄

Copy link
Member

Choose a reason for hiding this comment

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

Ah didn't realize the test was already using this pattern. Fine by me to keep!

Updated comment to clarify web app debugging support.
@bkonyi bkonyi added the autosubmit Merge PR when tree becomes green via auto submit App label Oct 24, 2025
@bkonyi bkonyi merged commit 1f8b3f5 into flutter:master Oct 24, 2025
36 checks passed
@bkonyi bkonyi deleted the addition_dwds_websocket_protocol_support branch October 24, 2025 17:42
srawlins pushed a commit that referenced this pull request Oct 28, 2025
The DWDS websocket mode used by the Flutter `web-server` device provides
a limited subset of the service protocol that doesn't include debugging
capabilities, expression evaluation support, or object inspection. This
change adds detection for applications running in this limited mode and
hides screens that rely on unsupported functionality (e.g., debugger).
copybara-service bot pushed a commit to dart-lang/sdk that referenced this pull request Oct 28, 2025
Cherry-picked commits in DevTools repo include:

* flutter/devtools@1b39a2e
  "Add basic support for Flutter web applications served with -d web-server"
  flutter/devtools#9468
* flutter/devtools@fb4fa1f
  "Handle shortcuts for actions like copy/paste when embedded inside VS Code"
  flutter/devtools#9472
* flutter/devtools@cd14e27
  "Fix position and width of "error count" badge in Network in app bar"
  flutter/devtools#9470
* flutter/devtools@6b9ba48
  "Add a horizontal scrollbar to DevTools tables"
  flutter/devtools#9482
* flutter/devtools@1f8b3f5
  "Disable screens not compatible with DWDS websocket mode"
  flutter/devtools#9481
* flutter/devtools@8a42447
  "Table columns are resizable"
  flutter/devtools#9485
* flutter/devtools@5c0b17a
  "Network panel: disable Header ExpansionTiles when no data"
  flutter/devtools#9492
* flutter/devtools@0dbead1
  "Network: add a banner indicating when we are not logging network requests"
  flutter/devtools#9495

Issue description: Users were unable to use various functions in the
DevTools Network screen, including copy+paste, view requests, and
view the request table when embedded in a small window.
What is the fix: Various fixes are included for these user issues.
Why cherry-pick: Users reported these issues in the user survey pre-dating Flutter 3.35; it is important for user trust to fix these in
Flutter 3.38.
Risk: Low, this fix only affects DevTools.
Issue link(s): Dart-Code/Dart-Code#3488, flutter/devtools#7253, flutter/devtools#9435, flutter/devtools#8920, flutter/devtools#9465, flutter/devtools#9488, flutter/devtools#9464
Cherry-pick: flutter/devtools@v2.51.0...2.51.1
Change-Id: Iae696151778849fdb6faf6bf83a123f518fee77c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/458020
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Elliott Brooks <elliottbrooks@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App release-notes-not-required

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants