do not send CDP commands too soon.

This commit is contained in:
Tommy D. Rossi
2025-12-21 17:20:07 +01:00
parent a298112437
commit 12dbad1ab4
5 changed files with 31 additions and 14 deletions
+14 -2
View File
@@ -280,8 +280,18 @@ function onDebuggerEvent(source: chrome.debugger.DebuggerSession, method: string
}
if (method === 'Target.detachedFromTarget' && params?.sessionId) {
logger.debug('Child target detached:', params.sessionId)
childSessions.delete(params.sessionId)
const mainTab = getTabBySessionId(params.sessionId)
if (mainTab) {
logger.debug('Main tab detached via CDP event:', mainTab.tabId, 'sessionId:', params.sessionId)
store.setState((state) => {
const newTabs = new Map(state.tabs)
newTabs.delete(mainTab.tabId)
return { tabs: newTabs }
})
} else {
logger.debug('Child target detached:', params.sessionId)
childSessions.delete(params.sessionId)
}
}
sendMessage({
@@ -340,6 +350,8 @@ async function attachTab(tabId: number): Promise<Protocol.Target.TargetInfo> {
await chrome.debugger.attach(debuggee, '1.3')
logger.debug('Debugger attached successfully to tab:', tabId)
await new Promise((resolve) => setTimeout(resolve, 400))
const result = (await chrome.debugger.sendCommand(
debuggee,
'Target.getTargetInfo',