Commit graph

7 commits

Author SHA1 Message Date
Matt Sykes
76b4c35d59 Prevent error redirect loops with beforeEach circuit breaker
This adds a circuit breaker for uncaught failures in beforeEach. The first failure still goes through the normal ERROR/RESTART recovery path; a second consecutive failure redirects to the static error page instead of looping.
- New before-each-error-recovery module tracks recovery attempts in sessionStorage (with an in-memory fallback).
- ERROR/RESTART routes skip normal guard logic so the counter can accumulate across bounce-backs.
- The counter clears only after a fully successful navigation.
- redirectToStaticErrorPage centralizes hard-error bailout: logs, clears poisoned sessionStorage keys (submittedState, heritage redirect count, recovery count, externalParameterState), then navigates to /fmg/static/error.
- The static error page RESTART flow clears the same sessionStorage keys so bad state does not re-enter the funnel.
- Session storage key strings are centralized in session-storage.js.
- Unit tests cover recovery counting, bailout clearing, and navigation fallbacks.
Expected impact: Stops repeated ERROR → RESTART → ERROR cycles (including corrupt submittedState JSON.parse failures and recurring automation errors in us-east-1/us-east-2) by bailing out to the static error page after one failed recovery attempt.
2026-06-10 15:48:29 -04:00
Chloe Herd
f7b452351d Organization + Delete Cookies + Send Pageview request 2025-11-10 12:50:10 -05:00
Chloe Herd
7aecf03856 Handle no info scenario better + styling 2025-10-21 13:33:35 -04:00
Chloe Herd
487f380c1e Change behavior by environment, and send api logging call. 2025-10-21 13:05:15 -04:00
Chloe Herd
bc0b2f6c6c Retain diagnostic info across refresh 2025-10-21 13:05:14 -04:00
Chloe Herd
9375b6b2a6 Add styling to page 2025-10-21 13:05:12 -04:00
Chloe Herd
e22f66eb83 Stub error page 2025-10-21 13:05:10 -04:00