myheats

Live heats, scoring and leaderboard for sport events
git clone https://git.in0rdr.ch/myheats.git
Log | Files | Refs | Pull requests |Archive | README | LICENSE

commit 3ddd368093593dd26ad3895c08b45628c01dc65d
parent 43d574f447e1f9f22a947bf9116586cc2a494a6c
Author: Andreas Gruhler <agruhl@gmx.ch>
Date:   Mon, 16 Mar 2026 18:44:45 +0100

feat: release version 0.9

Diffstat:
MCHANGELOG.md | 25+++++++++++++++++++++++--
Mpackage.json | 2+-
Msrc/frontend/App.jsx | 2+-
3 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md @@ -1,6 +1,12 @@ -## [0.9 Unreleased] +## [0.10 Unreleased] ### Added -* `private` heats only visible to judges. DB migrations: +### Changed +### Fixed + +## [0.9] - 2026-03-16 +### Added +* `private` heats only visible to judges. Toggle heat visibility. DB + migrations: - [`schema/migrations/01-heats.sql`](schema/migrations/01-heats.sql) - [`schema/migrations/02-distinct-startlist-private-heats.sql`](schema/migrations/02-distinct-startlist-private-heats.sql) - [`schema/migrations/03-score-summary-function.sql`](schema/migrations/03-score-summary-function.sql) @@ -8,8 +14,23 @@ ### Changed * PostgreSQL 17 in docker-compose dev setup * Remove API echo endpoint +* feat(leaderboard): cleanup websocket on component change + - This stores the websocket connection in the Leaderboard as a state + variable. The variable is cleaned up when the component Leaderboard is + exited. For example, when a judge switches to a different tab/component (e.g., + Scoring), the socket to the server is closed and only recreated when the + tab/component is changed again (to the Leaderboard). +* Swap navigation active colors for styles (darker is active) +* feat: new title setting (see [`README.md`](./README.md)) and slightly change + blue color style ### Fixed +* Fix input alignment, align checkboxes +* fix(139): first scoring js error +* fix(141): undefined input var + - Lead to strange behavior for different API paths, where the POST body of a + first request was used as "input" for a subsequent request +* Fix unreachable return (introduced in `ddf659b0`) ## [0.8] - 2026-01-07 * fix: CVE-2024-47764 and CVE-2024-21538 diff --git a/package.json b/package.json @@ -1,7 +1,7 @@ { "name": "myheats", "private": true, - "version": "0.9.0-nightly", + "version": "0.9.0", "type": "module", "scripts": { "dev": "vite", diff --git a/src/frontend/App.jsx b/src/frontend/App.jsx @@ -112,7 +112,7 @@ function Layout() { <footer> <br /> {showVersion === 'true' ? - <span>MyHeats <a href="https://code.in0rdr.ch/myheats/refs.html">v0.9-nightly</a></span> : '' } + <span>MyHeats <a href="https://code.in0rdr.ch/myheats/refs.html">v0.9</a></span> : '' } {showLogo === 'true' ? <span className="logo"><img src={logoUrl} alt="Logo" /></span> : '' } <span>