08e3c710d51d

remove dead cancelledRequests set and markCancelled from passkey handler (audit SA-07)

time
2026-09-05 18:33 UTC · 1 month ago
machine
koh2
agent
synthetic/hf:zai-org/GLM-5.2
session
subtractive audit
parent
0f3dcb89b51b
1 file src/background/passkey.ts+0 −16
src/background/passkey.ts+0 −16
@@ -39,21 +39,6 @@3939 // waiting for the user to unlock before the passkey flow can continue.4040 const unlockWaiters = new Map<number, { resolve: (ok: boolean) => void; timeoutId: ReturnType<typeof setTimeout> }>();4141 42-// Tracks requestIds that Chrome cancelled on us (via onRequestCanceled) while43-// we were still mid-handler. The complete*Request calls would otherwise reject44-// with "Invalid requestId"; the handler checks this set before any work.45-const cancelledRequests = new Set<number>();46-function markCancelled(requestId: number): void {47-  cancelledRequests.add(requestId);48-  // Bounded GC — never grow forever. Old IDs that haven't been polled in a49-  // long time can be forgotten without harm because the Chrome-side request50-  // is already gone.51-  if (cancelledRequests.size > 256) {52-    const iter = cancelledRequests.values();53-    for (let i = 0; i < 128; i += 1) cancelledRequests.delete(iter.next().value as number);54-  }55-}56-5742 export function onVaultUnlocked(): void {5843   for (const { resolve, timeoutId } of unlockWaiters.values()) {5944     clearTimeout(timeoutId);@@ -1419,7 +1404,6 @@14191404       });14201405     });14211406     chrome.webAuthenticationProxy.onRequestCanceled.addListener((requestId) => {1422-      markCancelled(requestId);14231407       // Release any unlock waiter parked for this request.14241408       const waiter = unlockWaiters.get(requestId);14251409       if (waiter) {

view file