You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Support openDevTools over sidebar API without a debug session ID #5147
Turns out we already support this. The types did not suggest so (which was fixed in 04dbe4e) but the code was all good (since in TS, debugSessionId as string doesn't do anything, and allows the null/undefined through!).
I tested this by forcing a null debug session ID in DevTools sidebar:
Then launched two debug sessions and tried to open Inspector from the DevTools sidebar. It prompted for a debug session as expected:
This is because it goes through the usual code path for launching DevTools pages and that checks whether the target page requires a debug session and if one wasn't provided will prompt.
@kenzieschmoll the DevTools API classes already allow for null here too, so this is implementable today. If you pull the DevTools buttons up to the top level and pass null here, it'll do what we want.
So if we don't recognise the page, we'll assume a session is not required. This will be problematic for extensions (which Dart-Code doesn't know about).
So we need an API change to allow DevTools to dictate whether we prompt for a session or if one is not necessary (because it's a static tool). I'll look at adding something to support this distinction.
Activity
DanTup commentedon Jun 18, 2024
Turns out we already support this. The types did not suggest so (which was fixed in 04dbe4e) but the code was all good (since in TS,
debugSessionId as stringdoesn't do anything, and allows the null/undefined through!).Just needs some testing from DevTools.
DanTup commentedon Jun 18, 2024
I tested this by forcing a null debug session ID in DevTools sidebar:
Then launched two debug sessions and tried to open Inspector from the DevTools sidebar. It prompted for a debug session as expected:
This is because it goes through the usual code path for launching DevTools pages and that checks whether the target page requires a debug session and if one wasn't provided will prompt.
@kenzieschmoll the DevTools API classes already allow for null here too, so this is implementable today. If you pull the DevTools buttons up to the top level and pass
nullhere, it'll do what we want.DanTup commentedon Jun 18, 2024
Actually, that's not the full story... The check for whether we need require a debug session / VM Service looks like this:
So if we don't recognise the
page, we'll assume a session is not required. This will be problematic for extensions (which Dart-Code doesn't know about).So we need an API change to allow DevTools to dictate whether we prompt for a session or if one is not necessary (because it's a static tool). I'll look at adding something to support this distinction.
Accept "requiresDebugSession" flag for openDevTools in API