Merge feature/offline-clip-cache into dev

This commit is contained in:
Codex
2026-04-23 16:40:51 -05:00
32 changed files with 897 additions and 136 deletions

View File

@@ -20,6 +20,12 @@
- Game titles in the UI now include a day parenthetical such as `(sun 5/3)` wherever the shared formatter is used.
- TeamSnap gameday lineup reads now prefer the SDK `bulkLoad` path for `eventLineup` and `eventLineupEntry`, with rel-based fallback for accounts where bulk results are incomplete.
## Completed Offline Cache Work
- Client-side clip and assignment reads now persist locally and revalidate against server ETags.
- Normalized playback media is cacheable for offline clip playback.
- Auth and session responses remain `no-store` so cached data is limited to app-owned clip state.
- TeamSnap read queries now use cached-first stale-while-revalidate behavior on the client.
## Storage Status
- Backend media persists in the `backend-media` named Docker volume.