console.log("hello my name is backblaze-session-keepalive"); let timeout; const resetTimeout = () => { //console.log("backblaze-session-keepalive: resetTimeout"); if(timeout) { clearTimeout(timeout); } timeout = setTimeout(async () => { console.log("backblaze-session-keepalive: step1"); await browser.storage.local.set({"returnToURL": String(window.location)}); const navLinks = document.querySelectorAll(".left_nav_links a"); const bucketsButton = Array.from(navLinks).filter(x => x.textContent == "Buckets")[0]; if(bucketsButton) { bucketsButton.click(); } }, 4*60*1000); }; const onPageLoaded = async () => { const returnToURL = (await browser.storage.local.get("returnToURL")).returnToURL; const returnToURL2 = (await browser.storage.local.get("returnToURL2")).returnToURL2; const navigateFilesButton = document.querySelectorAll('.storage-buckets .button_restore')[0]; if(navigateFilesButton && returnToURL) { console.log("backblaze-session-keepalive: step2"); await browser.storage.local.set({"returnToURL": null, "returnToURL2": returnToURL}); navigateFilesButton.click(); } if(returnToURL2) { console.log("backblaze-session-keepalive: step3"); await browser.storage.local.set({"returnToURL": null, "returnToURL2": null}); window.location = returnToURL2; } window.addEventListener("mousemove", () => { resetTimeout(); }); resetTimeout(); }; onPageLoaded();