Live-reproduced #24 on 0.4.8 driving the Mercari signin token-exchange hop (login.jp.mercari.com): the cross-process nav gives the tab a NEW Chrome tabId while the CDP targetId stays the same. So cb-tab-<oldTabId> can't be recovered — recoverSessionTab parsed the old tabId, chrome.tabs.get(oldTabId) failed (gone), and it gave up → permanent 'stale sessionId ... its tab is gone' until the page settled ~6s later and something re-attached. current/tab <targetId>/daemon restart all failed because the relay still mapped the targetId to the dead session. Fix: remember each session's targetId across detach (sessionTargets map). When recoverSessionTab can't recover by the encoded tabId, fall back to the STABLE targetId — chrome.debugger.getTargets() to find the tab now hosting that target, attach it, and ALIAS the dead cb-tab-<oldTabId> session to the live tab so the daemon's session id keeps resolving. Longer retry window (~6s) since this hop takes seconds to settle. Builds on 0.4.6/0.4.8 reattach; covers the tabId-churn case those missed. Needs dogfood on the real Mercari flow (can't repro the tabId churn synthetically).
31 lines
1.0 KiB
JSON
31 lines
1.0 KiB
JSON
{
|
|
"manifest_version": 3,
|
|
"name": "chrome-use",
|
|
"version": "0.4.9",
|
|
"description": "Let chrome-use drive your logged-in Chrome \u2014 install once, no token, no per-use confirmation.",
|
|
"key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6vQIyscGIPYPZdSpPwPL0+0gxUROyRgCpmvCSDoc8XUm4qm97VbKnD9Ijc1lV22lNWZtE78gaRjt6BeSfuMgnBymnhLKjN1gU6AI5QUU0mrJyeHdWKvrKQR5FmsM2A7Xr1ykE2SiiS8zNUS3Y/6O5l+Nva7wrVy6E4a2dkBVQkOsu+DV+nEZvhIyuDY5D5SPXqNwUTWTaglwj5mjvHz36xSwCWlPmrtJ+ED0AUyrb2z4GIOmvk4kqtBVrh/UD058klLo4CkYOnIybB5aV6WYuwarfPY4bF/dLggPem+ewLNTUNBuwrxj/A4nUv0LJTuRO8rR7f8WR9qnRCY0Ic5saQIDAQAB",
|
|
"icons": {
|
|
"16": "icons/icon16.png",
|
|
"32": "icons/icon32.png",
|
|
"48": "icons/icon48.png",
|
|
"128": "icons/icon128.png"
|
|
},
|
|
"permissions": [
|
|
"debugger",
|
|
"tabs",
|
|
"tabGroups",
|
|
"nativeMessaging",
|
|
"storage",
|
|
"alarms",
|
|
"webNavigation"
|
|
],
|
|
"background": {
|
|
"service_worker": "background.js",
|
|
"type": "module"
|
|
},
|
|
"action": {
|
|
"default_title": "chrome-use",
|
|
"default_popup": "popup.html"
|
|
}
|
|
}
|