From 2a8aea64ede6cbf5a5cf27db9087281dac97eca2 Mon Sep 17 00:00:00 2001 From: Kayla Fitzsimmons Date: Fri, 20 Sep 2024 11:31:13 -0700 Subject: [PATCH] move ports higher in file and return true in the correct place to keep connections open --- .../src/pages/background/index.ts | 53 +++++++++---------- 1 file changed, 24 insertions(+), 29 deletions(-) diff --git a/apps/mocksi-lite-next/src/pages/background/index.ts b/apps/mocksi-lite-next/src/pages/background/index.ts index 9265479..c1d703f 100644 --- a/apps/mocksi-lite-next/src/pages/background/index.ts +++ b/apps/mocksi-lite-next/src/pages/background/index.ts @@ -13,6 +13,26 @@ const MOCKSI_AUTH = "mocksi-auth"; let fallbackTab: null | chrome.tabs.Tab = null; let prevLayoutEvent = ""; +let mainIframeSrcPort: null | chrome.runtime.Port = null; +let topIframeSrcPort: null | chrome.runtime.Port = null; + +addEventListener("install", () => { + // TODO test if this works on other browsers + chrome.tabs.create({ + url: import.meta.env.VITE_NEST_APP, + }); +}); + +chrome.runtime.onConnectExternal.addListener((port) => { + console.log("connecting...", port); + if (port.name === "extension/main") { + mainIframeSrcPort = port; + } + if (port.name === "extension/top") { + topIframeSrcPort = port; + } +}); + const getAuth = async (): Promise { - // TODO test if this works on other browsers - chrome.tabs.create({ - url: import.meta.env.VITE_NEST_APP, - }); -}); - -let mainIframeSrcPort: null | chrome.runtime.Port = null; -let topIframeSrcPort: null | chrome.runtime.Port = null; - -chrome.runtime.onConnectExternal.addListener((port) => { - console.log("connecting...", port); - if (port.name === "extension/main") { - mainIframeSrcPort = port; - } - if (port.name === "extension/top") { - topIframeSrcPort = port; - } -}); - // when user clicks toolbar mount extension chrome.action.onClicked.addListener((tab) => { if (!tab?.id) { console.log("No tab exits click, could not mount extension"); - return; + return true; } // store the tab they clicked on to open the extension // so we can use it as a fallback @@ -147,6 +147,7 @@ chrome.action.onClicked.addListener((tab) => { }); prevLayoutEvent = LayoutEvents.HIDE; } + return true; }); chrome.runtime.onMessageExternal.addListener( @@ -199,12 +200,7 @@ chrome.runtime.onMessageExternal.addListener( } else { const tab = await getCurrentTab(); if (!tab?.id) { - sendResponse({ - message: LayoutEvents.NO_TAB, - source: "background", - status: "ok", - }); - console.error("No tab found"); + console.error("No tab found: "); return true; } @@ -259,11 +255,10 @@ chrome.runtime.onMessageExternal.addListener( } sendResponse(response); + return true; }); - return true; } })(); - return true; }, );