stability fixes

This commit is contained in:
2026-07-29 19:10:27 -04:00
parent d5d8c89280
commit afa4d78a0b

View File

@@ -338,7 +338,7 @@ function attach_ws_events(ws){
send(ws, seqid, {"status": true, "result": result}); send(ws, seqid, {"status": true, "result": result});
}catch(err){ }catch(err){
send(ws, seqid, {"status": err.name + ": " + err.message}); send(ws, seqid, {"status": err.name + ": " + err.message, "result": null});
} }
break; break;
@@ -551,6 +551,8 @@ async function buff2b64(uint8Array) {
browser.webRequest.onBeforeRequest.addListener( browser.webRequest.onBeforeRequest.addListener(
function(details){ function(details){
if(global_ws === null){ return; }
if(!web_response_whitelist.includes(details.type)){ if(!web_response_whitelist.includes(details.type)){
return; return;
@@ -565,7 +567,6 @@ browser.webRequest.onBeforeRequest.addListener(
} }
var resolve_func = null; var resolve_func = null;
var reject_func = null;
webreq_completed.set( webreq_completed.set(
details.requestId, details.requestId,
@@ -636,6 +637,8 @@ browser.webRequest.onBeforeRequest.addListener(
browser.webRequest.onCompleted.addListener( browser.webRequest.onCompleted.addListener(
async function(details){ async function(details){
if(global_ws === null){ return; }
var pending_req = null; var pending_req = null;
pending_req = await webreq_completed.get(details.requestId); pending_req = await webreq_completed.get(details.requestId);
@@ -679,11 +682,7 @@ browser.webRequest.onCompleted.addListener(
browser.webRequest.onErrorOccurred.addListener( browser.webRequest.onErrorOccurred.addListener(
async function(page){ async function(page){
if(connected === false){ if(global_ws === null){ return; }
// disconnect ws handler should clean old payloads
return;
}
var pending_req = webreq_completed.get(page.requestId); 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){ browser.tabs.onUpdated.addListener(function(tabid, event, tab){
if(connected === false){ return; } if(global_ws === null){ return; }
if(event.status === "complete"){ 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 return
}; };