From 675452a9efdf0e68570258abbff6a8774af650a2 Mon Sep 17 00:00:00 2001 From: adlee-was-taken Date: Sun, 31 May 2026 22:11:02 -0400 Subject: [PATCH] fix(ext/sw): null gitHost on explicit lock (Plan C Phase 6) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The explicit lock message handler nulled state.manifest but left state.gitHost (now carrying the cached lastSyncAt) intact, so a lock then re-unlock within one service-worker lifetime surfaced a stale sync time. Null gitHost here too — symmetric with the session-expiry path (index.ts) and completing Plan C Phase 5's don't-leak-git-host-across-a-lock intent; unlock rebuilds it on demand. Co-Authored-By: Claude Opus 4.8 --- extension/src/service-worker/router/popup-only.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/extension/src/service-worker/router/popup-only.ts b/extension/src/service-worker/router/popup-only.ts index a069d01..bbc6036 100644 --- a/extension/src/service-worker/router/popup-only.ts +++ b/extension/src/service-worker/router/popup-only.ts @@ -59,6 +59,9 @@ export async function handle( case 'lock': session.clearCurrent(); state.manifest = null; + // Don't leak the cached git-host (incl. lastSyncAt) across a lock — + // symmetric with the session-expiry path (index.ts); unlock rebuilds it. + state.gitHost = null; return { ok: true }; case 'list_items': {