Commit Graph

96 Commits

Author SHA1 Message Date
Daniel Schädler 794f835148 fix(tournaments): keep owner data out metadata
Tournament metadata remains optional and tournament-scoped.
2026-05-04 14:55:48 +02:00
Daniel Schädler 9b10cc12d2 feat(tournaments): add metadata fields
Add typed tournament metadata to API payloads and follower sync.
2026-05-04 14:43:20 +02:00
Daniel Schädler 8f965ad99e fix: preserve timer broadcast after logging 2026-04-30 12:08:00 +02:00
Daniel Schädler 21e1463b64 feat: add tournament transaction log 2026-04-30 10:04:56 +02:00
Daniel Schädler b2064a03b6 fix(group matches): start lowest pending wave 2026-04-29 19:37:28 +02:00
Daniel Schädler 6df5cb2502 fix(ci): restore Rails 8 spec suite
Confirm factory users for real Devise auth in request specs and use Rails 8-compatible status and route calls to remove deprecation warnings.
2026-04-29 15:48:20 +02:00
Daniel Schädler 49379f4c80 Merge branch 'codex/tur-151-group-next-match-start' into 'master'
TUR-151: group next match start

See merge request turniere/turniere-backend!69
2026-04-29 08:15:48 +00:00
Daniel Schädler 1bedc87210 feat(metrics): add Prometheus metrics endpoint 2026-04-29 09:44:06 +02:00
Daniel Schädler fcfdead118 feat: start group matches by catch-up position 2026-04-28 23:46:00 +02:00
Daniel Schädler 3008b9fd50
TUR-137 add timer reasons 2026-04-28 12:28:01 +02:00
Daniel Schädler 244952093c Merge branch 'codex/tur-117-match-filters' into 'master'
TUR-117: Add match endpoint filters

See merge request turniere/turniere-backend!60
2026-04-26 20:23:27 +00:00
Daniel Schädler acdef9f5b4 feat(beamers): replace asset URLs with config
Add beamer config JSON, drop obsolete asset URL fields, and narrow display_state to the new beamer API states. Migration maps legacy display states to supported values and initializes config to {}.
2026-04-26 16:13:12 +02:00
Daniel Schädler 0ccce16849 feat: add match endpoint filters 2026-04-26 16:03:55 +02:00
Daniel Schädler 35e66f6aeb Keep group identity in live match payload 2026-04-24 16:12:43 +02:00
Daniel Schädler 63757c6b5c Add live tournament match websockets 2026-04-24 13:47:19 +02:00
Daniel Schädler e9ef73c230 refactor: rename timer db column 2026-04-24 11:39:26 +02:00
Daniel Schädler 8b17bc0608 Merge remote-tracking branch 'origin/codex/tur-55-tur-56-timer-websocket' into codex/tur-55-tur-56-timer-websocket
# Conflicts:
#	README.md
2026-04-24 10:15:14 +02:00
Daniel Schädler 69bd43b288 refactor: rename timer API field to timestamp 2026-04-24 10:13:44 +02:00
Daniel Schädler b0bbbb8ce5 Merge branch 'master' into 'codex/tur-55-tur-56-timer-websocket'
# Conflicts:
#   e2e/lib/action_cable_client.rb
#   tasks.py
2026-04-23 21:57:14 +00:00
Daniel Schädler afff813994 feat: add timer modes and websocket updates 2026-04-23 23:29:03 +02:00
Daniel Schädler b40e64cde8 feat: add manual team action list creation 2026-04-23 22:47:51 +02:00
Daniel Schädler e41ef870f9 Merge branch 'codex/TUR-80-team-action-lists' into 'master'
TUR-80 playoff token collection tracking

Closes TUR-80

See merge request turniere/turniere-backend!49
2026-04-23 11:46:41 +00:00
Daniel Schädler 7d65e4df82 feat: track team action list completion 2026-04-22 16:51:17 +02:00
Daniel Schädler 201abe5145 Merge branch 'codex/TUR-45-third-place-match' into 'master'
TUR-45 add third-place playoff match

Closes TUR-45

See merge request turniere/turniere-backend!47
2026-04-22 14:36:27 +00:00
Daniel Schädler 57aecd7cc5 feat: add third place playoff match 2026-04-22 15:46:48 +02:00
Daniel Schädler 2912645499 fix: require deciders for advancing ties 2026-04-22 15:19:53 +02:00
Daniel Schädler 03947ac0ca Sync beamer state to followers 2026-04-16 15:55:20 +02:00
Daniel Schädler e52fb2897a Add large sync roundtrip coverage 2026-04-16 10:25:32 +02:00
Daniel Schädler 5126e94c26 Add sync schema contract guardrails 2026-04-16 10:23:52 +02:00
Daniel Schädler 07b7a78bd5 Merge origin/master into follower sync 2026-04-15 16:43:38 +02:00
Daniel Schädler 24d4c0a253 Hide live tie metadata and stream CI logs 2026-04-15 14:35:00 +02:00
Daniel Schädler 3e2400616b Stabilize backend test fixtures 2026-04-15 12:29:32 +02:00
Daniel Schädler 7da30df291 Defer decider checks until groups finish 2026-04-15 10:43:21 +02:00
Daniel Schädler 2d273f067c Optimize tournament render hot path 2026-04-15 09:36:56 +02:00
Daniel Schädler 26679d87c2 Add sync snapshot tracking 2026-04-14 22:36:39 +02:00
Daniel Schädler 4d9255354b Reset sync retries on new snapshots 2026-04-14 21:34:04 +02:00
Daniel Schädler bbb1ad97ef Make follower sync asynchronous 2026-04-13 20:54:28 +02:00
Daniel Schädler 133ebae847 Add read-only tournament follower sync 2026-04-13 20:32:34 +02:00
Daniel Schädler 4713a020fa Implement TUR-58 group stage decider matches 2026-04-12 19:13:52 +02:00
Daniel Schädler 6d21dad5d7 Fix final match completion after group stage 2026-04-12 18:07:08 +02:00
Daniel Schädler eedafe1276 Add ranking decision metadata for group scores 2026-04-12 17:47:28 +02:00
Daniel Schädler 7cef4a9b5e Fix group score direct comparison tiebreak 2026-04-12 17:03:33 +02:00
Daniel Schädler f00c5ac8dc Merge branch 'annotate_advancing_teams' into 'master'
Annotate advancing teams

See merge request turniere/turniere-backend!28
2025-03-14 14:23:58 +00:00
Daniel Schädler d1c6ee2da5 Fix split and rotate call 2025-03-13 12:56:20 +01:00
Daniel Schädler d1cbe8a354 Fix tests 2025-03-13 12:52:12 +01:00
Daniel Schädler 3bb8afeae6 Remove focused tests 2025-03-09 21:14:18 +01:00
Daniel Schädler cf3cc9cebb Add tests about the advancing teams 2025-03-09 20:14:34 +01:00
Daniel Schädler 5786607b7f Reload group_scores from database after update 2025-03-09 20:04:00 +01:00
Daniel Schädler a74236982d Generate a valid tournament like at bpwstr 2025-03-09 19:34:49 +01:00
Daniel Schädler 5c6b683526 All groups are created equal 2025-03-08 17:46:55 +01:00