diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c41e49..eda0569 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ follows [Semantic Versioning](https://semver.org). ## [Unreleased] +### Fixed + +- **Signing in no longer ends the account's other admin sessions (#30).** Login revoked every existing session of the + user, so using the admin in two browsers or on two devices logged you out of the first one, with no hint why. + Sessions now end on logout, password change and expiry only. + ## [4.0.1] — 2026-11-11 ### Fixed diff --git a/src/admin/routes/login.tsx b/src/admin/routes/login.tsx index 7cfa79c..fa00e23 100644 --- a/src/admin/routes/login.tsx +++ b/src/admin/routes/login.tsx @@ -239,7 +239,9 @@ export const handler = { } } - await sessions.revokeAll(user.id); + // Deliberately no revokeAll here: signing in on a second browser or device + // must not end the first. Sessions are revoked on logout, password change + // and expiry. const session = await sessions.create(user.id, ip === "unknown" ? undefined : ip); // Successful login resets the per-account failure counter.