Skip to content

feat(fe): Session timeout re-authentication dialog#3723

Merged
sea-snake merged 4 commits intomainfrom
sea-snake/re-auth-on-session-expiry
Apr 2, 2026
Merged

feat(fe): Session timeout re-authentication dialog#3723
sea-snake merged 4 commits intomainfrom
sea-snake/re-auth-on-session-expiry

Conversation

@sea-snake
Copy link
Copy Markdown
Contributor

After the 30-minute delegation expires, all dashboard requests used to fail with no way to recover.

Changes

  • Re-auth dialog shown 5 minutes before delegation expiry, deferred if another dialog is open (force-shown at actual expiry).
  • Re-authenticates via AuthLastUsedFlow with the current auth method, keeping the user on the same page.
  • New ReauthPrompt component.

Tests

  • Two Playwright e2e tests using page.clock to fast-forward: re-auth sign-in and cancel/sign-out flows.

@sea-snake sea-snake requested a review from a team as a code owner March 31, 2026 13:45
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a front-end “session timeout” re-authentication UX on the authenticated Manage/Dashboard area so users can recover when their delegation expires (instead of dashboard requests failing indefinitely).

Changes:

  • Adds a delegation-expiry timer in the authenticated manage layout to show a re-auth prompt ~5 minutes before expiration (with deferral while other dialogs are open).
  • Introduces a new ReauthPrompt dialog component with “Sign in” and “Cancel” (sign out) actions.
  • Adds Playwright e2e coverage for the re-authenticate and cancel/sign-out flows using page.clock.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
src/frontend/tests/e2e-playwright/routes/manage/index.spec.ts Adds e2e tests covering re-auth prompt behavior and outcomes.
src/frontend/src/routes/(new-styling)/manage/(authenticated)/+layout.svelte Implements expiry detection + deferred dialog presentation + re-auth action wiring.
src/frontend/src/lib/components/ui/ReauthPrompt.svelte New UI component for the session timeout re-auth prompt.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Collaborator

@aterga aterga left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Testing that this works as expected on Staging B.

@sea-snake sea-snake enabled auto-merge April 2, 2026 08:34
@sea-snake sea-snake added this pull request to the merge queue Apr 2, 2026
Merged via the queue into main with commit 1a1c356 Apr 2, 2026
52 checks passed
@sea-snake sea-snake deleted the sea-snake/re-auth-on-session-expiry branch April 2, 2026 08:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants