Skip to content

renderError pages have no recovery CTA #151

Description

@lukesmmr

Summary

Both error surfaces shipped/touched in PR #128 and audited in #139 communicate the failure clearly but have no clickable affordance to retry or return. The user's only option is browser back, which itself trips into issue 1.

Affected pages

  • pds-core /oauth/epds-callback — "Your sign-in took too long to complete and timed out. Please start sign-in again."
  • auth-service /auth/complete — "Authentication session expired. Please try again."

(Both render via packages/shared/src/render-error.ts per #139's audit.)

Expected

A primary action on each page that returns the user to a sensible restart point:

  • Where clientId / redirect_uri is in scope, link back to the client (mirrors the RFC 6749 §4.1.2.1 redirect path PR fix: graceful OAuth error when PAR has expired (no more raw JSON leak) #128 uses when the PAR row was readable).
  • Where it isn't, link to the originating client's homepage if recoverable, or at minimum a "Restart sign-in" button that reinitiates the flow on the same auth surface.

Notes

Activity

  1. added a commit that references this issue on May 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions