- Render lists, h5/h6, definitions, and sanitized html in markdown (e19743c)
- Render team icons as lucide components in player list and form (6e97929)
- Wire ManageLabels into Settings page (41093b1)
- Add multi-select checkboxes to team list (23ead0b)
- Correct dashboard test queries and round fixture shape (ac90e8a)
- Fix Create GitHub Release step (2635fed)
- Update release workflow name dynamically (e3c6da1)
- Remove release-it (82e4063)
- Update package-lock.json (bf1119a)
- Remove pack script clutter (49d85e5)
- In-game progress indicator with round pills and question circles (60c1049)
- Add unit and integration test coverage for gamemaster logic (d1549db)
- Tri-state action button display mode setting (585b2aa)
- Changelog output (6ba981c)
- Sadly can't be updated dynamically (cd9cf3b)
- Replace full-screen timer overlay with toast system (c823ac4)
- Redesign dashboard with 3 tiles and structural footers (f896e9c)
- Fix QR payload race — fold queries into single useLiveQuery (5a290a0)
- Use pull_request_target for dependabot automerge workflow (16086c8)
- Add legacy-peer-deps again (6349ed5)
- Run npm install --legacy-peer-deps (e3adc92)
- Linter issue (cdbaa99)
- Fix QR scan lint and typecheck errors (cf4d9ed)
- Removed unused imports (b225f0e)
- Lint and typecheck errors (5a2386a)
- Resolve TS2769 tuple destructure in game-lifecycle test (0b4b512)
- Yaml indentation (b8ef858)
- Update eslint.config to ignore some folders (e53378e)
- Bump the dev-dependencies group with 9 updates (#141) (e35ccc6)
- Bump dependabot/fetch-metadata from 2 to 3 (d0ea003)
- Update dependencies (8356254)
- Add CI-driven release workflow (1bff442)
- Remove automerge workflow as it is always skipped (1efa147)
- Remove unnecessary workflow (8c1e357)
- Bulk actions for player selection (6eee621)
- Add manual ci workflow dispatch (5b4b03c)
- Player roster, team management, and away status (5e5f083)
- Player roster, team management, and away status (00d1242)
- Team badges, icon picker, import from managed, join URL copy (ee68f12)
- Add useGameLifecycle hook for pause/resume/end (502d890)
- Pause/resume/end controls and reconnect sync (8f235fc)
- Change release gh workflow to manual (2bfd820)
- Single workflow CI-driven release (61099ba)
- Single workflow CI-driven release (a47ad7c)
- Add game-lifecycle tests for pause/resume/end (c6fd2c3)
- Add --skip-if-exists to gh release create (af8625d)
- Fix automerge workflow trigger (a67a9c7)
- Move libs to components (ffa58b6)
- Tighten PR and issue templates (5d2b1b3)
- Bump basic-ftp from 5.2.1 to 5.2.2 (81ef6ba)
- Bump node to 24 in ci (1db520b)
- Replace coverage artifact with summary script (d0acca1)
- Add project-status.sh script for git-cliff status updates (4b0d70c)
- Fix pack.sh permissions (958af40)
- Remove reveal.js and gun from dependencies (227b649)
- Add bundle size check to CI (b66ca44)
- Update package-lock.json (86d11d9)
- Add bundlesize2 (5212bb7)
- Optimise PWA icons with palette quantisation (1200193)
- Skip tests when no code files changed (8077677)
- Add import/export Notes functions to db/snapshot.ts (20ccb42)
- Add import/export functionality to Notes page (098d0ea)
- Open notes directly via /admin/notes/:id (a9e4977)
- Add managed players, teams, and labels schema (09195d4)
- Label CRUD component and tests (9050c7b)
- Player CRUD, page scaffold, and routing (ce2dda1)
- Team CRUD component and tests (7ec291f)
- Dual-pane management view (91d2522)
- For smaller source tarballs (3a76fae)
- Add coverage thresholds and ci upload (a22ca0c)
- Add coverage thresholds and coverage notes (a15ce67)
- Remove lcov, add json and script to parse it (da7e132)
- Fix tryTransport test timing after dynamic import (896c10d)
- Add snapshot-notes test suite for importNoteFile / exportNote (8505f2d)
- Exclude archives and deploy folders from tests (8826df4)
- Remove docs workflow, docs are build in deploy.yml (f6eff0f)
- Fix git-cliff typo in release workflow (2e638c8)
- Bump version and add lucide-react (d947ca5)
- Remove git-cliff installation, use npx (ffc51f3)
- Add Lucide React icon set across all screens (1b89924)
- Install commitlint packages in lint-title before running (a876318)
- Update Game and BuzzEvent fixtures for new buzzer schema fields (1fc3621)
- Replace Math.random() with crypto.getRandomValues() (4424b02)
- Use question difficulty score on adjudication (7a0b7c4)
- Re-fire expiry notifications on each natural expiry (#84) (354c1f3)
- Resume paused timer instead of resetting it (#86) (1226583)
- Make API docs browseable on GitHub Pages (fe0cbb3)
- Serve API docs via deploy.yml artifact instead of gh-pages branch (61a0ca6)
- Update .gitignore to include archive and scripts (2660246)
- Add scripts folder to .gitignore (e9bfe53)
- Add cache-dependency-path and align ci.yml with other workflows (9e9dbd8)
- Fix deploy/release collision and align all three workflows (8676940)
- Bump basic-ftp from 5.2.0 to 5.2.1 (ca614c4)
- Add branch protection script, Dependabot auto-merge, update PR template (5045489)
- Expand commitlint scope-enum to match actual usage (ac5d19f)
- Add pr-title workflow and scope release notes to git-cliff (01acae7)
- Merge lint-title into CI workflow, fix git-cliff lockfile error (34fef3f)
- Trigger automerge on workflow_run instead of pull_request (deeb1fa)
- Remove explicit pull_request types to fix check name mismatch (0123e41)
- Run prettier (55c89ef)
- Add epic as commitlint type (7e41ed6)
- Add docs to commitlint scope (b1910a3)
- Ignore archive and deploy folders for tests (ca5659c)
- Warn commit-lint scope instead of fail (4683afa)
- Publish TypeDoc to GitHub Pages on push to master (f2523ed)
- Update gitignore (5a0b242)
- Remove docs and ci from commit types (b5e11f1)
- Update package-lock.json (b360ee9)
- Align CI/CD and release sections with actual tooling (490ca27)
- Rewrite CI/CD section to reflect current workflow setup (47dc675)
- Note that scripts/ is gitignored and requires --force (135bb05)
- Update README for current project state (08f91a4)
- Add TSDoc comments to transport layer (5eb70ce)
- Add TSDoc comments to db schema and hooks (aa0a22b)
- Write host flow guide with examples (448755b)
- Write player flow guide including offline QR scenario (5ce7f03)
- Write ADRs for existing architectural decisions (1e0a213)
- Fix npm run docs warnings (d11ee30)
- Add HostQuestionHeader with title, type and status badges (c2e2654)
- Add HostQuestionAnswers with per-type rendering (bb6e334)
- Add HostQuestionMedia for image/audio/video display (538f44e)
- Add visibility toggles and useGameVisibility hook (e7c020b)
- Compose HostQuestionPanel from sub-components (f273aca)
- Nav sequence and position logic (13aa513)
- UseNavigation hook — DB persist, SLIDE_CHANGE emit (7fe0e5e)
- NavHeader — round label, Q counter, progress bar (7f7f778)
- RoundBoundary — full-screen round transition overlay (e88b982)
- UseKeyNav — arrow key navigation with modal guard (0f74c35)
- Wire navigation into active game view (c760494)
- Extend BuzzEvent and Game with buzzer config fields, add v4 migration (a543f37)
- Lock/unlock, false-start guard, adjudication, auto-lock, score emit (06ab116)
- BuzzerLockButton, BuzzList, BuzzerPanel GM components (fc96ae3)
- Wire BuzzerPanel, route BUZZ events, Space shortcut, clear on nav (b5d5e8e)
- Add buzzer config toggles to game setup wizard (f6c3201)
- Add useScoreboard hook (7ab32f9)
- Add ScoreboardPanel component (2ad1910)
- Render ScoreboardPanel in active game view (ffe228a)
- Host-controlled countdown with pause/resume and broadcast (609a9dc)
- Audio/visual expiry cues and auto-reset on nav (60efad3)
- Add Resume all bulk action (#85) (cca673e)
- Add TypeDoc for automated API documentation (cd62d6c)
- Merge Pause all / Resume all into a single toggle button (4a3e695)
- Unit and integration coverage for buzzer epic (293fc76)
- Cover useGameVisibility non-Error rollback branch (#51) (484f6d4)
- Cover importQuestions per-row catch path (#50) (b99831b)
- Cover DB v3/v4 upgrade callbacks (#49) (16cab34)
- Cover ManageTags validation, save-error, and keyboard paths (#48) (81870de)
- Cover ManageDifficulties drag-to-reorder, cancel, and keyboard paths (#47) (7e3a951)
- Smoke tests for GunTransport and PeerJSTransport with mocked externals (#46) (59b27f5)
- Fix act warning in ManageDifficulties order test (8854158)
- Fix tryTransport test timing by awaiting Peer instantiation (8f5dad2)
- Cover remaining snapshot branches and PeerJS player send path (61d6bf5)
- Drop unreachable type-fallback test in snapshot-error (b81b325)
- Add unit tests for scoreboard logic (2909605)
- Enable GFM for table and strikethrough support (26ff23f)
- Constrain question form modal height, tighten layout (98ea649)
- Pin undici to >=6.24.0 to fix CVEs (4626756)
- Add round rename and delete (f951197)
- Add manage categories and difficulties (bc4a1fd)
- Purge database action; fix double-seed guard (017891f)
- Lobby — connection, QR code, player list, start (edd0e18)
- Replace categories with tags; add tri-state tag filtering (0c4305d)
- Bump action versions to v6 and pre-create dist dir (bc6bc80)
- Skip deploy for non-app changes (5c6e3f2)
- Collapsible admin sidebar, styled note markdown (acceb10)
- Theme switcher; fix sidebar collapse persistence (e56a97d)
- Implement Notes page with markdown viewer and editor (a9d33cd)
- Switch favicon to PNG-only, remove SVG references (bb2a0ca)
- Resolve all 18 ESLint errors (74fa80f)
- Resolve tsconfig.test.json type resolution errors (0585bcf)
- Compact game wizard Step 1 so buttons are always visible (a5e0ae8)
- Add full workflow suite and GitHub config (c945eca)
- Fix reusable workflow trigger, release PAT, add pre-commit hooks (b0336b1)
- Opt into Node 24, fix favicon paths, update README (d3cc1bc)
- Simplify workflows — merge CI into deploy, PRs-only for ci.yml (1ff00f7)
- Wire tests into deploy workflow and document testing setup (a180498)
- Add Dependabot for npm and GitHub Actions (271be31)
- Bump actions/deploy-pages from 4 to 5 (a57e547)
- Add CI workflow for PRs (1051c61)
- Bump actions/upload-pages-artifact from 3 to 4 (44c951a)
- Bump actions/checkout from 4 to 6 (a12d183)
- Bump actions/setup-node from 4 to 6 (fe89c21)
- Add overrides for vite-plugin-pwa and serialize-javascript (91c0cfd)
- Add pack.sh to build release tarball (e0ab20a)
- Add ci.yml to workflows table in README (e0c783d)