fix(PROJ-11): BUG-23 (real fix, second attempt) and BUG-25 — QA round 4 gate
BUG-25: DashboardPage header ran ~200px past the viewport at 375px, "Abmelden" unreachable without horizontal scroll. flex-col/flex-wrap so it stacks on narrow screens instead of overflowing. BUG-23: the previous fix (logout_all admin endpoint) never worked — that route doesn't exist on Synapse (404, swallowed by try/catch). A second attempt (list + bulk-delete devices) also did nothing, because loginAsUser()'s admin puppet-login issues a deviceless token that never appears in the devices list. Live-tested both failures via account/whoami with the "revoked" token still returning 200. Actual fix: revokeAccessToken() calls the plain Client-Server /logout endpoint authenticated as the token being revoked, not as the backend's admin token — the only mechanism that invalidates a deviceless token. invalidateMatrixAccessToken() now returns the token it removed so the route can pass it along. Verified: whoami returns 200 before logout, 401 M_UNKNOWN_TOKEN with the same token right after. QA round 4 (first with real cross-browser access — Chromium/Firefox/ WebKit at 375/768/1440px) found no remaining Critical or functional High findings once these two land: production-ready. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0143yYvjesjHndBACoweyK67
This commit is contained in:
1 parent
edc05d4d1e
commit
dc1ba9ae27
6 files changed
+281
-14
No files matched your search
@@ -13,13 +13,16 @@ export function DashboardPage() {
|
||||
|
||||
return (
|
||||
<main className="min-h-screen p-6 space-y-6">
|
||||
<div className="flex items-center justify-between">
|
||||
{/* BUG-25: this used to be a single non-wrapping flex row — at 375px the
|
||||
three buttons ran ~200px past the viewport edge with no way to reach
|
||||
"Abmelden" short of horizontal scrolling. Stack on narrow screens. */}
|
||||
<div className="flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between">
|
||||
<div className="space-y-2">
|
||||
<h1 className="text-2xl font-semibold">TalkTime Dashboard</h1>
|
||||
{user && <p className="text-sm text-muted-foreground">Angemeldet als {user.email}</p>}
|
||||
<OrganizationSwitcher />
|
||||
</div>
|
||||
<div className="flex gap-2">
|
||||
<div className="flex flex-wrap gap-2">
|
||||
<Button variant="outline" asChild>
|
||||
<Link to="/roles">Rollen & Rechte</Link>
|
||||
</Button>
|
||||
|
||||
Reference in new issue
Block a user