index.ts

661 B · raw

1import { setupMessageHandler } from "./messages";2import { setupAutoLock } from "./alarms";3import { getSettings, isUnlocked, lock } from "./vault";45setupMessageHandler();6void setupAutoLock();78// Lock-on-close via port disconnect. chrome.runtime.sendMessage in `pagehide`9// is unreliable in MV3 — the popup context tears down before the message lands.10// A persistent port survives the unload; the SW locks when it sees the disconnect.11chrome.runtime.onConnect.addListener((port) => {12  if (port.name !== "popup") return;13  port.onDisconnect.addListener(() => {14    if (isUnlocked() && getSettings().lockOnClose !== false) {15      lock();16    }17  });18});