diff --git a/extension/src/background/store/apiMiddleware.ts b/extension/src/background/store/apiMiddleware.ts index ffedb286..ac072f0e 100644 --- a/extension/src/background/store/apiMiddleware.ts +++ b/extension/src/background/store/apiMiddleware.ts @@ -644,7 +644,8 @@ function onConnect>(port: chrome.runtime.Port) { connections.panel[id] = port; monitorInstances(true, port.name); monitors++; - listener = (msg: BackgroundAction) => { + listener = (msg: BackgroundAction | 'heartbeat') => { + if (msg === 'heartbeat') return; store.dispatch(msg); }; port.onMessage.addListener(listener); diff --git a/extension/src/devpanel/index.tsx b/extension/src/devpanel/index.tsx index 34271f84..75a6ae0c 100644 --- a/extension/src/devpanel/index.tsx +++ b/extension/src/devpanel/index.tsx @@ -103,9 +103,15 @@ let splitMessage: SplitUpdateStateRequest>; function init(id: number) { renderNA(); + bgConnection = chrome.runtime.connect({ name: id ? id.toString() : undefined, }); + + setInterval(() => { + bgConnection.postMessage('heartbeat'); + }, 15000); + bgConnection.onMessage.addListener( >( message: PanelMessageWithSplitAction,