Daniel Schädler
8951070a15
fix: refresh RuboCop cleanup
2026-05-06 12:06:19 +02:00
Daniel Schädler
0bd675ccbd
Merge branch 'codex/tur-210-playoff-deletion' into 'master'
...
TUR-210 Playoff deletion
See merge request turniere/turniere-backend!81
2026-05-04 17:07:28 +00:00
Daniel Schädler
e26bc50ce3
Merge remote-tracking branch 'origin/master' into codex/tur-223-match-metadata
2026-05-04 17:41:24 +02:00
Daniel Schädler
0cbcb64066
feat(matches): add match metadata updates
2026-05-04 15:10:11 +02:00
Daniel Schädler
bbaca69265
feat: allow unplayed playoff deletion
2026-05-04 15:06:08 +02:00
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
54975d969b
Merge remote-tracking branch 'origin/master' into codex/tur-30-transaction-log
2026-04-30 14:07:12 +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
2b63e61475
fix(sync): protect follower sync tokens
...
Store read-only receiver tokens as keyed digests and expose only sync_auth_configured in owner responses. Keep leader push tokens write-only in API responses because outbound sync still needs to send them.
Refs TUR-84
2026-04-30 09:32:37 +02:00
Daniel Schädler
b2064a03b6
fix(group matches): start lowest pending wave
2026-04-29 19:37:28 +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
6db6442205
Merge remote-tracking branch 'origin/master' into codex/TUR-113-fix-rubocop
...
# Conflicts:
# spec/e2e/http/api_surface_spec.rb
# spec/e2e/http/tournament_follow_sync_beamers_websocket_spec.rb
2026-04-27 10:55:29 +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
cfb07e82fc
fix: clear RuboCop offenses
2026-04-26 15:46:31 +02:00
Daniel Schädler
3dcc9727a5
Clean up live websocket style
2026-04-24 15:49:45 +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
13acbad55f
refactor: clean timer api routes
2026-04-24 11:24:56 +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
7151976d26
feat: add backend beamer live updates
2026-04-23 14:35:16 +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
883638f4fd
feat: add websocket team action updates
2026-04-23 10:19:47 +02:00
Daniel Schädler
f81a8fb83e
test: cover team action list update flows
2026-04-23 10:11:43 +02: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
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
7da30df291
Defer decider checks until groups finish
2026-04-15 10:43:21 +02:00
Daniel Schädler
a92337013e
Move profiling out of prod image
2026-04-15 10:16:18 +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
c4f182a6a8
Stabilize follow sync CI network checks
2026-04-14 22:11:34 +02:00
Daniel Schädler
4d9255354b
Reset sync retries on new snapshots
2026-04-14 21:34:04 +02:00
Daniel Schädler
871ad84a48
Reload tournament before sync snapshot
2026-04-14 15:49:02 +02:00
Daniel Schädler
8ab53fa854
Fix follower sync E2E helper
2026-04-14 14:27:34 +02:00