Skip to content

Conversation

@srawlins
Copy link
Contributor

@srawlins srawlins commented Nov 3, 2025

No description provided.

bkonyi and others added 9 commits October 27, 2025 18:19
…rver` (#9468)

Fixes issues where DevTools tries to perform expression evaluation on `dart:io` to determine profile mode status.

The DWDS web socket protocol is used with the web-server device, which allows for a subset of the VM service protocol to be made available when a Chrome debug port is unavailable.
…Code (#9472)

On macOS, short-cut keys like Cmd+C, Cmd+V don't work in embedded iframes. This happens because VS Code calls `setIgnoreMenuShortcuts(true)` and disables the OS/browser functionality for these actions. For the top-level webviews, it handles keypresses, passes them up to VS Code, and VS Code then passes back down commands for copy/paste/etc.

However for our nested iframes, this keypress handling (and command passing) does not occur.

I wasn't able to find any way to fix this inside VS Code (it can't reach into our iframes because they're a different origin) but I found that we can simulate what it's doing itself. I thought I'd tried this in the past and determined this wouldn't work, however it seems to work fine today (maybe I was trying to handle the Copy/Paste events rather than the keys? 🤔)

I can't write automated tests for this because we need to verify the actual behaviour of pressing keys, but I've tested on both my Mac and Windows (it already worked on Windows and doesn't need this, but I've left this code to run for all platforms in case there is a difference between using VS Code's native menus vs not) by using `dart.customDevTools` and in both of them, I can copy/paste/select-all/undo.

Fixes Dart-Code/Dart-Code#3488
Fixes #7253
Fixes #9435
See #8190 (I don't know if we still want to do other work here)
See microsoft/vscode#129178 (comment)

cc @elliette
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).
@srawlins srawlins requested review from a team, bkonyi and kenzieschmoll as code owners November 3, 2025 18:30
@srawlins srawlins requested a review from elliette November 3, 2025 18:32
@srawlins srawlins changed the title Merge commit for cherry-pick release 2.29.1 Merge commit for cherry-pick release 2.51.1 Nov 3, 2025
@elliette elliette merged commit b5c6460 into master Nov 3, 2025
37 checks passed
@elliette elliette deleted the 2.51.1 branch November 3, 2025 19:16
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.

4 participants