-
Notifications
You must be signed in to change notification settings - Fork 340
Experimental: Support embedding DevTools in Sidebar views instead of Editor views #5367
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
5d3fe3a to
e31de8c
Compare
|
@kenzieschmoll while testing this on Flutter master, I frequently trigger this crash (DevTools entirely stops rendering and the console filles with tons of errors): However, I can't repro when running from latest source with For reasons I can't explain, it only happens when embedded in the sidebar, and not embedded as an editor (even though I can't think of any reason these should differ, they've both just iframes hosted somewhere inside VS Code's UI). |
|
(I'm also curious about the |
|
does this happen if you disable the wasm setting from the DevTools settings menu? You can also delete |
|
Ok, it appears that:
I was surprised that we're seeing wasm load here - microsoft/vscode#186614 is still open, but I see a change that seems like it might have enabled this. I've pinged on there to find out what the exact status is. I'll do some more testing and see if I can repro this from source. I don't think this issue is related to moving to the sidebar anymore though, so it shouldn't hold this up. |
|
@kenzieschmoll still failing to repro this when running from source. Is there much different that |
|
@kenzieschmoll does This makes me wonder if the errors seen here are a result of not supporting everything wasm needs (which might be why I can't repro outside of VS Code, since Chrome does support it?). |
|
If wasm is not supported, the JS fallback should automatically be used. If this is not happening, then maybe there is a bug in the fallback logic, @eyebrowsoffire? |
This doesn't seem to be happening - we seem to be getting the wasm version anyway. Disabling the DevTools experiment does stop it from happening. Does |
|
All that the query parameter does is determine whether we set When |
|
Skwasm has a (recently added) single-threaded renderer mode that works in a non-COI context, so in a Chromium browser with a non-COI context, we will fall back to the single-threaded renderer instead of falling all the way back to dart2js+canvaskit. So that fallback behavior is expected. |
|
If you're reproducing this while building from source, is it possible to build devtools with |
@DanTup if you pass |
Ah, that explains that then :)
So far I haven't been able to repro from source, only a pre-built SDK. However I don't see why that should matter, so I will keep trying. I only see this crash inside VS Code and when using WASM, so I wonder if it may be related to that mode. Is there any way to force it (the single-threaded rendered) in normal Chrome? Debugging inside VS Code is a bit of a pain :-) (I guess it's also possible the Chrome version difference is related - VS Code is Electron and lags a bit behind Chrome - it's currently Chromium 128) |
Yes! You can pass the |
There was actually an issue in Chromium 128, I'm not sure if a hotfix was put in or if it's the same thing you're seeing: |
Oh, interesting. Also - I'm struggling to repro right now... There was a VS Code update yesterday, and I also pulled latest changes from Flutter. I wonder if one of those has affected it. I'll see if I can get back to a broken state and figure out if one of those fixed it (if so, there might be no issue here now). |
|
I've tried multiple versions of Flutter and have been unable to repro. According to https://github.com/ewanharris/vscode-versions, the version of Chromium is the same in yesterday's release as the whole of the previous month, so I'm not sure that explains it (unless something in VS Code itself changed that might impact this). I'll keep trying to repro as I work further on this, and if I see it again I'll open a specific issue for it (since it's not related to this PR). |
e31de8c to
530f652
Compare
530f652 to
b2c8b95
Compare
b2c8b95 to
12392ec
Compare
12392ec to
130a0e3
Compare
|
I managed to work around the VS Code issue that was blocking this so I'm merging as-is (it's behind a flag so it will be possible for others to try it out) and using #5396 to track the remaining issues. |

This adds a new experiment flag for trying out DevTools embedded in the sidebar, where it can dragged around and docked on either side (it requires both the flag and using "sidebar" in
dart.devToolsLocation):TODO:Moved to #5396