Commit Graph

124 Commits

Author SHA1 Message Date
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
Daniel Schädler c8b0f1a7a3 Syntax improvements 2025-03-16 12:41:47 +01:00
Daniel Schädler b1cc300d98 Merge branch 'first_vs_second_with_offset' into 'master'
First vs second with offset

See merge request turniere/turniere-backend!29
2025-03-14 12:35:17 +00:00
Daniel Schädler f71c7ec57f Merge branch 'timer' into 'master'
Timer

See merge request turniere/turniere-backend!30
2025-03-14 12:00:29 +00:00
Daniel Schädler fafc4d3937 Rubocop 2025-03-13 12:35:27 +01:00
Daniel Schädler 5ab18063dd Fix bug where uneven groups cause 500 when requesting beamer view 2025-03-13 12:34:05 +01:00
Daniel Schädler 16e65a3b03 Fix missing checks 2025-03-10 12:56:20 +01:00
Daniel Schädler 4d1e2c5164 Add option to also pass seconds to timer_end 2025-03-10 12:37:19 +01:00
Daniel Schädler 7b9a454cb6 Fix syntax in tournaments_controller.rb 2025-03-10 11:49:51 +01:00
Daniel Schädler c5dd8beb00 Typo 2025-03-08 17:39:51 +01:00
Tobias Huber 3c1168212e add timer_end to tournaments model 2025-03-08 17:08:48 +01:00