v0.31.3: admin Users "Last seen" = Never for unclaimed invites
An admin-created invite row showed a Last-seen timestamp identical to
Signed-up, implying the invitee had visited. users.last_seen_at is
NOT NULL DEFAULT (datetime('now')) and the invite INSERT sets neither
timestamp, so both default to row-creation time; last_seen_at only
advances on real authentication. An unclaimed invite has provably never
authenticated (the unclaimed state drives the PENDING INVITE badge), so
the Users tab now renders "Never" for the Last-seen cell of a pending
row. Signed-up (invite-created date) unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -23,6 +23,26 @@ skip versions are the composition of each intervening adjacent
|
||||
release's steps in order — no A-to-B path is pre-computed beyond
|
||||
that.
|
||||
|
||||
## 0.31.3 — 2026-05-30
|
||||
|
||||
**Patch — admin Users tab: "Last seen" reads "Never" for unclaimed
|
||||
invites. Visual/logic only in `Admin.jsx`. A plain frontend rebuild
|
||||
applies it.**
|
||||
|
||||
An admin-created invite row showed a real-looking "Last seen" timestamp
|
||||
identical to "Signed up," implying the invitee had visited when they
|
||||
hadn't. Cause: `users.last_seen_at` is `NOT NULL DEFAULT (datetime('now'))`
|
||||
(`migrations/001_users_and_audit.sql`) and the invite INSERT
|
||||
(`invites.py`) sets neither timestamp, so both default to the
|
||||
row-creation instant; `last_seen_at` only advances on a real
|
||||
authentication. Since an unclaimed invite has provably never
|
||||
authenticated (that unclaimed state is exactly what drives the
|
||||
"PENDING INVITE" badge), the Users tab now renders **"Never"** for the
|
||||
Last-seen cell of a pending-invite row instead of the misleading
|
||||
default. Signed-up (the invite-created date) is unchanged.
|
||||
|
||||
Upgrade steps: none. **SHOULD** deploy as a normal code deploy.
|
||||
|
||||
## 0.31.2 — 2026-05-29
|
||||
|
||||
**Patch — landing (`/`) welcome panel spacing. Visual only: CSS in
|
||||
|
||||
Reference in New Issue
Block a user