Releases: adn8naiagent/F1ReplayTiming
Releases · adn8naiagent/F1ReplayTiming
v2.0.1 Brodcast delay extended & auto download configurable
Improvements
- Broadcast delay up to 5 minutes — Live Timing Offset slider now extends to -5m (previously -60s) to accommodate longer streaming-service lag, with M:SS formatting and ±30s quick-adjust buttons
- Configurable auto-precompute — new
AUTO_PRECOMPUTEenv var controls which session types the background task fetches during race weekends. Acceptsoff,race,race+qual(default), orall. Self-hosters who don't watch practice can avoid downloading FP1/FP2/FP3 data; sessions outside the configured set are still available on-demand
v2.0.0 - Unified single-container architecture
2.0.0
Migrating from v1.x
The Docker image has changed. The old f1replaytiming-backend and f1replaytiming-frontend images will no longer receive updates. The new image is ghcr.io/adn8naiagent/f1replaytiming:latest (single unified image).
To migrate:
- Pull the new image:
docker pull ghcr.io/adn8naiagent/f1replaytiming:latest - Copy
.env.exampleto.envand configure (most defaults work out of the box) - Replace your
docker-compose.ymlwith the one from the repo. It's now a single service on one port docker compose up
You no longer need NEXT_PUBLIC_API_URL, FRONTEND_URL, or any CORS settings. Your session data volume carries over as-is, no reprocessing needed.
Breaking Changes
- Single container architecture — frontend and backend are now merged into a single Docker container serving everything from one port. The separate frontend and backend containers have been removed
- Simplified configuration — all config is now in a single
.envfile.NEXT_PUBLIC_API_URL,FRONTEND_URL, and CORS configuration are no longer needed - Static frontend — Next.js switched from
output: 'standalone'tooutput: 'export', producing static HTML/CSS/JS served by FastAPI. No Node.js runtime in the final image - URL format change — dynamic routes (
/replay/2026/5) replaced with query parameters (/replay?year=2026&round=5&type=R). Old URLs redirect automatically
Improvements
- No CORS — frontend and API are the same origin, eliminating all cross-origin issues
- Reverse proxy friendly — single port means Traefik, nginx, and Cloudflare tunnels just work with no special configuration
- WebSocket reliability — same-origin WebSocket connections no longer break behind TLS termination or mixed protocol proxies
- Screen wake lock — prevents screen dimming and device sleep during replay playback and live sessions
1.3.2.2 Fix Replay timing drift
Fix
- Replay timing drift — replaced fixed-duration sleeps with wall-clock-anchored playback to prevent timing drift during sessions (contributed by @stephenwilley)
1.3.2.1
Fixes
- Lap analysis lap number — fixed showing incomplete current lap data; now only displays completed laps
1.3.2
Improvements
- Practice sector indicators — live sector colours and track map sector overlay now available in practice sessions. Requires recompute
- Last lap time for all sessions — now available in practice and qualifying. Requires recompute
- Last lap colour coding — purple for fastest lap, green for personal best
- Processing feedback — real-time status messages during on-demand processing
- Broadcast delay modal — redesigned with quick adjust buttons and exact entry
- Open all data panels — toggle in Settings > Other to open telemetry, race control, and lap analysis (race only) in a single click. Closes automatically when any panel is hidden
- Persistent panel layout — panel states (telemetry, race control, lap analysis, sectors) are remembered per session type (race, qualifying, practice) across page loads
- High contrast text — toggle in Settings > Other for white text on muted elements
Fixes
- Practice session precompute — fixed timestamp alignment for practice sessions causing leaderboard to show future data. Requires recompute
- Practice session time — countdown aligned to 60-minute session duration, not overall replay length
- Mobile qualifying time — now shows remaining time counting down, matching desktop
- PiP leaderboard scroll — leaderboard no longer cut off by playback controls
- Minor UI layout fixes — spacing and alignment across mobile, tablet, and desktop
v1.3.2.1 fix: current lap times showing in lap analysis panel
fix: showing current lap data in lap analysis panel before lap is completed) - now only displays completed laps
1.3.2
Improvements
- Practice sector indicators — live sector colours and track map sector overlay now available in practice sessions. Requires recompute
- Last lap time for all sessions — now available in practice and qualifying. Requires recompute
- Last lap colour coding — purple for fastest lap, green for personal best
- Processing feedback — real-time status messages during on-demand processing
- Broadcast delay modal — redesigned with quick adjust buttons and exact entry
- Open all data panels — toggle in Settings > Other to open telemetry, race control, and lap analysis (race only) in a single click. Closes automatically when any panel is hidden
- Persistent panel layout — panel states (telemetry, race control, lap analysis, sectors) are remembered per session type (race, qualifying, practice) across page loads
- High contrast text — toggle in Settings > Other for white text on muted elements
Fixes
- Practice session precompute — fixed timestamp alignment for practice sessions causing leaderboard to show future data. Requires recompute
- Practice session time — countdown aligned to 60-minute session duration, not overall replay length
- Mobile qualifying time — now shows remaining time counting down, matching desktop
- PiP leaderboard scroll — leaderboard no longer cut off by playback controls
- Minor UI layout fixes — spacing and alignment across mobile, tablet, and desktop
v1.3.2 Practice session improvements, all-panel view, and layout persistence
Improvements
- Practice sector indicators — live sector colours and track map sector overlay now available in practice sessions. Requires recompute
- Last lap time for all sessions — now available in practice and qualifying. Requires recompute
- Last lap colour coding — purple for fastest lap, green for personal best
- Processing feedback — real-time status messages during on-demand processing
- Broadcast delay modal — redesigned with quick adjust buttons and exact entry
- Open all data panels — toggle in Settings > Other to open telemetry, race control, and lap analysis (race only) in a single click. Closes automatically when any panel is hidden
- Persistent panel layout — panel states (telemetry, race control, lap analysis, sectors) are remembered per session type (race, qualifying, practice) across page loads
- High contrast text — toggle in Settings > Other for white text on muted elements
Fixes
- Practice session precompute — fixed timestamp alignment for practice sessions causing leaderboard to show future data. Requires recompute
- Practice session time — countdown aligned to 60-minute session duration, not overall replay length
- Mobile qualifying time — now shows remaining time counting down, matching desktop
- PiP leaderboard scroll — leaderboard no longer cut off by playback controls
- Minor UI layout fixes — spacing and alignment across mobile, tablet, and desktop
1.3.1 - UI Bug Fixes
- Tablet/Medium screen UI improvements
1.3.0 Lap analysis, last lap times, and mobile refinements
New Features
- Lap Analysis panel (Beta) — compare lap times for up to two drivers with a line chart and full lap-by-lap history. Accessible via the Laps button on the track map on desktop, or as a collapsible section on mobile. Race replay only
- Last lap time column — shows each driver's most recently completed lap time on the race leaderboard, toggleable in settings. Race replay only
- Leaderboard tooltips — hover over any column value to see what it is (e.g. "Interval to car ahead", "Tyre age", "Last lap time")
Improvements
- Info button on mobile — the features/info link is now visible in the mobile header
- Features page opens in new tab — no longer interrupts an active replay session
Fixes
- Mobile qualifying sectors — sector overlay toggle and driver selection buttons now available on mobile track map, previously desktop-only
- Mobile leaderboard spacing — improved UI layout for mobile Leaderboard
1.2.3 Track detail, telemetry expansion, and race finish improvements
New Features
- Marshal sector flags — localised yellow/double yellow flags on the track map at marshal sector positions. Requires recompute
- Corner numbers — turn numbers shown on the track map from FastF1 circuit data. Toggleable in settings. Requires recompute
- Expanded telemetry — unlimited driver selection. 3+ drivers open a moveable side panel with pinnable race control
- Draggable race control — RC panel can be repositioned anywhere on the track map
- RC sound notification — optional alert sound for new race control messages
- Full screen mode — hides session banner and enters browser fullscreen
- Imperial units — toggle for °F, mph in settings
- Pit stop timer — live count-up shown in gap column while driver is in pit lane. Requires recompute
Improvements
- Pit prediction accuracy — recalculated using precise pit lane timestamps. Unified 73% SC/VSC factor
- Qualifying sector selection — sector overlay buttons for all selected drivers
- Settings modal — redesigned as tabbed sidebar (Leaderboard, Weather, Track Map, Race Control, Other)
- Features page — consolidated with info panel content
Fixes
- Race finish — drivers stay on leaderboard at classified position with chequered flag icon. Requires recompute
- Track map bounds — drivers no longer fly off screen with invalid position data
- iPad viewport — layout accounts for browser address bar
- PiP on iOS — hidden on unsupported devices
1.2.2 Memory management, live timing fixes, UI improvements
Improvements
- Mobile race control added collapsible race control messages section to mobile view for both live and replay
- <1sec interval highlight intervals under 1 second are highlighted in green during race sessions (toggleable in settings)
- Live session styling improved pulse animation on live indicators and cleaner live session button layout (contributed by @Clav3rbot)
- Broadcast delay added manual input field for exact delay value
- UI/UX improvements main page layout changed to expandable list, fixed minor UI bugs on navigation
Fixes
- Memory management replay session data is now evicted from memory 5 minutes after the last client disconnects (thanks @matze939939 for raising and @Clav3rbot for contributing fix).
- Live race control messages fixed race control messages not updating during live sessions when broadcast delay is set
- Phantom tyre compounds fixed incorrect tyre history in live sessions caused by interim/placeholder compound updates from the F1 feed
- Live qualifying sectors fixed sector indicators not clearing after lap completion (now clears after 5 seconds) and fixed multiple drivers showing purple in the same sector by computing colours from actual times
- Session times corrected session times to display local date with time
Fix self-hosting connection and Docker URL issues
Fixes
- Connection error screen - when the frontend cannot reach the backend, a clear error message is now shown instead of the passphrase screen, with the attempted URL and troubleshooting tips
- Runtime API URL for Docker -
NEXT_PUBLIC_API_URLcan now be set as a runtime environment variable on the frontend container, so pre-built Docker images work with any backend URL without rebuilding. See the README for details - Fixed loading overlay staying visible when navigating back to the session picker
New Features
- Red flag countdown and skip - during red flag periods in replay mode, a countdown timer shows how long until the session resumes, with a button to skip ahead to the restart