Files
Live_RC/CHANGELOG.md
2026-09-09 07:52:07 +02:00

4.7 KiB

Changelog

User-visible changes to RC RaceCore are recorded here, starting with the 1.1.0 baseline. Earlier development has not been reconstructed as individual releases.

The application version is maintained in package.json and displayed in the administration menu. Add changes under Unreleased as they are made. When preparing a release, move those entries into a dated version section and update the version in both package.json and package-lock.json.

Unreleased

Added

  • Personal mobile profiles show last successful data retrieval, stale-data and failed-update warnings, and a Retry button without replacing loaded statistics or active forms. Requests time out after 15 seconds and cannot overlap.
  • Browser coverage for Race Day start/pause/resume/finish and switching to the next queued heat, against a simulated decoder socket.
  • Browser coverage for opening the OBS overlay as a real popup window (not a direct URL load): compact layout, and live clock updates that freeze on pause, polling independently of the admin page.

Fixed

  • Open Practice sessions on a sponsor (track-mode) event could show a ready/green Race Day preflight yet refuse to start, blocked by a stricter assignment check the preflight never warned about. Open Practice is now exempt from that check everywhere, matching the preflight.
  • The Race Day view did not refresh when the decoder connected, disconnected, or errored, so its Start button and preflight checklist could stay stale after a page load until something else triggered a re-render.
  • Printing or exporting start lists, results, heat sheets and team reports always showed a false "popup blocked" error and produced nothing, in every modern browser. Opening the OBS overlay as a popup had the same false "blocked" check and its window never received focus. Both used window.open(..., "noopener,noreferrer,..."), which returns null even on success by current browser standards; both now open without those flags.

1.1.2 - 2026-09-08

Reliability checks

  • Browser coverage for sponsor-event edits, endurance race creation, team membership changes/deletion, session-type conversion and lap-limit persistence.
  • Overlay sorting headings share the same column tracks as driver rows. Narrow displays scroll the headings and values together.

Added

  • Browser-local decoder/socket diagnostics in Settings: per-channel counters, bounded logs, pause/clear/copy and independent updates that preserve form drafts.
  • A prioritized ROADMAP.md with completion checklists.
  • Server/save status, last load/save times, stale/offline warnings and manual retry of local changes.
  • Isolated browser regression checks for class/driver/car creation and editing, retained drafts, reload persistence and offline save recovery (npm run test:browser).

Fixed

  • New browser profiles connect to the page origin rather than assuming backend port 8081.
  • Correct chronological sorting of zero-padded times and deterministic ordering of distinct numeric-looking driver/car names. Name and identifier columns are explicitly treated as text.
  • OBS race-info and standings panels wrap on narrow sources. Driver names retain space and timing fields wrap instead of overflowing.

1.1.1 - 2026-09-07

Added

  • Sortable columns in the leaderboard, recent passings, and training tables/lists, with each list remembering its own sort choice.
  • OBS overlay leaderboard layout split into a race-info panel (left) and a driver-stats panel (right), so each can be positioned independently on stream.

Fixed

  • Sorting by driver or car name no longer merges differently zero-padded numbers (e.g. "09" and "9") into the same position.
  • Sorting the interactive overlay no longer changes the row order shown on the OBS broadcast source.

1.1.0 - 2026-09-05

Added

  • Visible application version in the menu, read from the running server's package version.
  • This changelog as the starting point for tracking future changes.

Baseline

The existing feature set includes race and sponsor-event setup, team racing, AMMC timing, Race Day preflight, overlays and OBS views, Swedish and English race audio, training statistics, personal mobile profiles, import/export, and backups. See the README and in-app guide for configuration and usage.

Recent improvements included in this baseline:

  • More compact mobile training profiles and consistent class-selector text sizing.
  • Mobile refresh protection while entering data, selecting a class, or saving a car change.
  • Separate unsaved car-change notes per class during page updates and class switching.
  • Preservation of loaded mobile statistics during temporary refresh failures.
  • Race Day preflight lists blockers first and provides shortcuts to the relevant configuration.