You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
web (copy stale TOTP after rotation): v0.3.5 fixed the closure-stale bug but left a second race: tickCountdown detects rotation locally and triggers refreshSecrets(), but state.secrets isn't replaced until the fetch resolves. Clicking copy during that window returned the previous round's code. The handler now copies btn.textContent directly — the button text is updated by updateRow on every tick + refresh, so it's always the displayed-current code. Restoration after 900ms reads from the (now fresh) state.secrets, with a previous fallback if the row was removed.