From afa4d78a0bf30d34ee90abe0dd55e459ab5a10da Mon Sep 17 00:00:00 2001 From: lolcat Date: Wed, 29 Jul 2026 19:10:27 -0400 Subject: [PATCH] stability fixes --- ext/bg.js | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/ext/bg.js b/ext/bg.js index dee1df1..190ed1f 100644 --- a/ext/bg.js +++ b/ext/bg.js @@ -338,7 +338,7 @@ function attach_ws_events(ws){ send(ws, seqid, {"status": true, "result": result}); }catch(err){ - send(ws, seqid, {"status": err.name + ": " + err.message}); + send(ws, seqid, {"status": err.name + ": " + err.message, "result": null}); } break; @@ -551,6 +551,8 @@ async function buff2b64(uint8Array) { browser.webRequest.onBeforeRequest.addListener( function(details){ + if(global_ws === null){ return; } + if(!web_response_whitelist.includes(details.type)){ return; @@ -565,7 +567,6 @@ browser.webRequest.onBeforeRequest.addListener( } var resolve_func = null; - var reject_func = null; webreq_completed.set( details.requestId, @@ -636,6 +637,8 @@ browser.webRequest.onBeforeRequest.addListener( browser.webRequest.onCompleted.addListener( async function(details){ + if(global_ws === null){ return; } + var pending_req = null; pending_req = await webreq_completed.get(details.requestId); @@ -679,11 +682,7 @@ browser.webRequest.onCompleted.addListener( browser.webRequest.onErrorOccurred.addListener( async function(page){ - if(connected === false){ - - // disconnect ws handler should clean old payloads - return; - } + if(global_ws === null){ return; } var pending_req = webreq_completed.get(page.requestId); @@ -734,7 +733,7 @@ browser.proxy.onRequest.addListener(function(request){ browser.tabs.onUpdated.addListener(function(tabid, event, tab){ - if(connected === false){ return; } + if(global_ws === null){ return; } if(event.status === "complete"){ @@ -756,9 +755,12 @@ browser.tabs.onUpdated.addListener(function(tabid, event, tab){ } }); -browser.webRequest.onHeadersReceived.addListener(function(page){ +browser.webRequest.onHeadersReceived.addListener( + function(page){ - if(page.type != "main_frame"){ + if(global_ws === null){ return; } + + if(!web_response_whitelist.includes(page.type)){ return };