AmanTahiliani
c0d1cf2892
fix( #76 ): preserve worst availability truth and inactive SSE recovery
...
Aggregate conflicting freshness by severity so Local cannot mask Stale/Partial,
treat authoritative inactive SSE as valid state, honor Weekend focus headers,
and prove Limited Retry busy accessibility with deferred supplements.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-12 20:55:52 -04:00
AmanTahiliani
01d291507d
fix( #76 ): correct frontend availability, retry, and live recovery semantics
...
Make response freshness React Query-safe, retry the failed Weekend/Preview/Briefing resources with busy gating, preserve distinct embedded Preview notices, and clear fatal Live errors once SSE supplies usable timing.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-12 20:43:51 -04:00
AmanTahiliani
eabf87a2b8
fix( #76 ): keep embedded Preview from stacking freshness notices
...
Weekend shell already discloses context availability; a second Preview banner
from shared championship headers produced conflicting Partial/Stale vocabulary.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-12 20:32:44 -04:00
AmanTahiliani
5534ebf82c
fix( #76 ): surface truthful availability across primary routes
2026-07-12 20:29:02 -04:00
AmanTahiliani
b3d1730324
feat( #76 ): bound primary-route fetches and local-first driver summary
...
Add shared apiFetch timeouts/abort/typed errors with in-flight dedupe, a
RouteState UI for loading/empty/timeout/error+retry, and wire it through
Weekend (Data Health), Championship, Driver Profile, Briefing, Live, and
Race Hub. Driver summary is local-first with bounded optional OpenF1
enrichment so a hung remote call cannot block the profile.
Spike note: parseSourceMode defaults to openf1; driver summary now treats
omitted ?source= as auto so local season data is preferred.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-12 19:53:39 -04:00
AmanTahiliani
e8de2068c1
feat(frontend): add next-race preview page ( #25 )
...
Assemble /preview from existing schedule, track-outline, results, and
championship hub endpoints with client-side preview.ts helpers, section
loading/empty states, and Vitest coverage for lib + page render paths.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-11 17:59:00 -04:00