Daniel Schädler
df227f9397
feat(matches): stop in-progress matches
2026-04-29 19:56:25 +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
8855532660
Merge remote-tracking branch 'origin/master' into codex/tur-130-dependency-update-a31c
2026-04-29 12:14:34 +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
7461ae27aa
Restore image versioning and auth safety
2026-04-28 23:51:36 +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
90e71a068c
Merge master and fix e2e service env
2026-04-28 22:58:09 +02:00
Daniel Schädler
fe0f3c868e
TUR-130 update dependencies and ruby
2026-04-28 13:55:47 +02:00
Daniel Schädler
3008b9fd50
TUR-137 add timer reasons
2026-04-28 12:28:01 +02:00
Daniel Schädler
d0d20ed292
Fix team action list not found responses
2026-04-27 19:58:06 +02:00
Daniel Schädler
2bc39ad692
Fix version reporting ACME-122
2026-04-27 11:49:14 +02:00
Daniel Schädler
988171097c
Merge branch 'codex/tur-112-version-endpoint' into 'master'
...
TUR-112: Version endpoint
See merge request turniere/turniere-backend!58
2026-04-26 20:59:07 +00: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
bab28adb15
Add version endpoint
2026-04-26 15:36:15 +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
05e4372250
Fix team action not-found responses
2026-04-23 19:59:19 +02:00
Daniel Schädler
f81a8fb83e
test: cover team action list update flows
2026-04-23 10:11:43 +02:00
Daniel Schädler
fa83923bf2
docs: add team action list frontend guide
2026-04-23 10:08:19 +02:00
Daniel Schädler
443b7ff869
fix: sync team action item updates
2026-04-23 09:39:39 +02:00
Daniel Schädler
7d65e4df82
feat: track team action list completion
2026-04-22 16:51:17 +02:00
Daniel Schädler
99538a3343
Add backend group match swap endpoint
2026-04-22 15:48:06 +02:00
Daniel Schädler
af7beb193a
fix: stabilize sync privacy and e2e coverage
2026-04-20 22:08:49 +02:00
Daniel Schädler
b65dd35654
fix: add sync roundtrip verification
2026-04-20 19:36:40 +02:00
Daniel Schädler
85cff5ef85
Fix merged tournament sync schema in tests
2026-04-16 16:15:45 +02:00
Daniel Schädler
03947ac0ca
Sync beamer state to followers
2026-04-16 15:55:20 +02:00
Daniel Schädler
8789c2cb2e
Merge origin/master into follower sync
2026-04-16 15:54:32 +02:00
Daniel Schädler
761bb8daea
Simplify default beamer handling
2026-04-16 13:02:40 +02:00
Tobias Huber
2ceba1dfcf
Merge branch 'master' into TUR-32_backend-beamer
2026-04-16 08:11:02 +02:00
Daniel Schädler
07b7a78bd5
Merge origin/master into follower sync
2026-04-15 16:43:38 +02:00
Daniel Schädler
a92337013e
Move profiling out of prod image
2026-04-15 10:16:18 +02:00
Daniel Schädler
43aa0e11ba
Restrict render profiling to non-prod
2026-04-15 10:02:26 +02:00
Daniel Schädler
2d273f067c
Optimize tournament render hot path
2026-04-15 09:36:56 +02:00
Daniel Schädler
8bdd7fd1be
Enqueue sync after transaction commit
2026-04-14 20:59:30 +02:00
Daniel Schädler
3cbeff617a
Allow follower takeover updates
2026-04-14 20:11:42 +02:00
Tobias Huber
58267b6b3a
Fix timer timezone handling
2026-04-14 07:10:51 +02:00
Tobias Huber
19f744daeb
Add Beamer entity with CRUD API and name-based lookup
...
New Beamer model scoped to tournaments for multi-projector display control.
Includes migration, validations, serializer, controller with by_name
fallback endpoint, routing, and full RSpec test coverage.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 07:10:44 +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
b02857782f
Restore legacy 403 for unauthenticated match updates
2026-04-12 19:38:35 +02:00
Daniel Schädler
4713a020fa
Implement TUR-58 group stage decider matches
2026-04-12 19:13:52 +02:00