diff --git a/extension/src/service-worker/index.ts b/extension/src/service-worker/index.ts index 8adbb56..84bb225 100644 --- a/extension/src/service-worker/index.ts +++ b/extension/src/service-worker/index.ts @@ -1,8 +1,8 @@ /// Thin service-worker entry: loads WASM, constructs the router state, and /// forwards every message into router/index.route(). -import type { Request, Response } from '../shared/messages'; -import type { SessionTimeoutConfig } from '../shared/messages'; +import type { Request, Response, SessionTimeoutConfig } from '../shared/messages'; +import { CONTENT_CALLABLE_TYPES } from '../shared/messages'; import type { RouterState } from './router/index'; import { route } from './router/index'; import * as vault from './vault'; @@ -58,16 +58,18 @@ sessionTimer.onExpired(() => { }); // Restore saved session config from chrome.storage.local on SW startup. -chrome.storage.local.get('sessionTimeoutConfig').then((r) => { - if (r.sessionTimeoutConfig) { - sessionTimer.setConfig(r.sessionTimeoutConfig as SessionTimeoutConfig); +chrome.storage.local.get('session_timeout').then((r) => { + if (r.session_timeout) { + sessionTimer.setConfig(r.session_timeout as SessionTimeoutConfig); } }).catch(() => {}); chrome.runtime.onMessage.addListener( (request: Request, sender: chrome.runtime.MessageSender, sendResponse: (r: Response) => void) => { (async () => { - sessionTimer.resetTimer(); + if (!CONTENT_CALLABLE_TYPES.has(request.type as never)) { + sessionTimer.resetTimer(); + } if (!state.wasm) { // eslint-disable-next-line no-console console.log('[relicario sw] initializing WASM on first message'); diff --git a/extension/src/service-worker/router/popup-only.ts b/extension/src/service-worker/router/popup-only.ts index 20fa71c..00da03d 100644 --- a/extension/src/service-worker/router/popup-only.ts +++ b/extension/src/service-worker/router/popup-only.ts @@ -361,7 +361,7 @@ export async function handle( case 'update_session_config': { sessionTimer.setConfig(msg.config); sessionTimer.resetTimer(); - await chrome.storage.local.set({ sessionTimeoutConfig: msg.config }); + await chrome.storage.local.set({ session_timeout: msg.config }); return { ok: true }; } }