diff --git a/pwvault.js b/pwvault.js index a654345..a9a198a 100644 --- a/pwvault.js +++ b/pwvault.js @@ -93,8 +93,9 @@ async function createSend(uid, b, key) { } async function status(uid) { - let st = { status: 'unauthenticated' }; try { st = parse(await bw(uid, ['status'], { timeout: 15e3 })); } catch {} - const s = sessions.get(uid); + const s = sessions.get(uid); // (bw only reports "unlocked" when it is handed the session key) + let st = { status: 'unauthenticated' }; try { st = parse(await bw(uid, ['status'], { session: s && s.key, timeout: 15e3 })); } catch {} + if (s && st.status === 'unlocked') s.last = Date.now(); // coming back to the tab counts as using the vault return { enabled: true, url: URL_, unlocked: !!s && st.status === 'unlocked', email: st.userEmail || '', loggedIn: st.status !== 'unauthenticated' }; }