Show a pending page and a retrying error page from the router #412

Closed
opened 2026-10-15 12:33:31 +00:00 by root · 2 comments
root commented 2026-10-15 12:33:31 +00:00 (Migrated from gitlab.core-project.space)

Parent

#407

What to build

A Player waiting on a slow page sees a pending state after a short delay, never a flash. A Player whose page failed to load reads why, in their language, and can press "Try again" to load it again in place.

Seam: S1 — the app's router through the router harness; S4 — apps/e2e, the first read behind a page failed once with Playwright's request interception.

Acceptance criteria

  • A router-wide pending component shows only when a loader outlasts the router's pending delay.
  • The router-wide error component resets Query's error boundary on mount and offers "Try again", which invalidates the router and shows the page once the read succeeds.
  • A retry that fails again keeps the error and the retry.
  • The error is announced, and "Try again" is reachable by name.
  • New copy is in the Paraglide catalogue in English and French.
  • A router test covers the pending delay, the error and the successful retry.
  • An e2e test fails one read, sees the error, retries and sees the page; no hook is added to the front or the API for it.
## Parent #407 ## What to build A Player waiting on a slow page sees a pending state after a short delay, never a flash. A Player whose page failed to load reads why, in their language, and can press "Try again" to load it again in place. Seam: S1 — the app's router through the router harness; S4 — `apps/e2e`, the first read behind a page failed once with Playwright's request interception. ## Acceptance criteria - [ ] A router-wide pending component shows only when a loader outlasts the router's pending delay. - [ ] The router-wide error component resets Query's error boundary on mount and offers "Try again", which invalidates the router and shows the page once the read succeeds. - [ ] A retry that fails again keeps the error and the retry. - [ ] The error is announced, and "Try again" is reachable by name. - [ ] New copy is in the Paraglide catalogue in English and French. - [ ] A router test covers the pending delay, the error and the successful retry. - [ ] An e2e test fails one read, sees the error, retries and sees the page; no hook is added to the front or the API for it.
root commented 2026-10-15 12:33:31 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #407

marked this issue as related to #407
root commented 2026-10-15 12:33:32 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #411

marked this issue as related to #411
root (Migrated from gitlab.core-project.space) closed this issue 2026-10-16 06:34:36 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
amaurycoudr/chess-project#412
No description provided.