Commit Graph

154 Commits

Author SHA1 Message Date
Daniel Schädler 8951070a15 fix: refresh RuboCop cleanup 2026-05-06 12:06:19 +02:00
Daniel Schädler 27ed1e191c Merge remote-tracking branch 'origin/master' into codex/tur-225-user-organizer-accounts
# Conflicts:
#	db/schema.rb
#	spec/e2e/http/api_surface_spec.rb
2026-05-04 19:21:01 +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 8985918d25 Merge branch 'codex/TUR-224-tournament-metadata' into 'master'
TUR-224: Tournament metadata

Closes TUR-224

See merge request turniere/turniere-backend!79
2026-05-04 13:50:35 +00:00
Daniel Schädler aba4c1c23d Merge remote-tracking branch 'origin/master' into codex/tur-225-user-organizer-accounts 2026-05-04 15:25:45 +02:00
Daniel Schädler ed299aba57 feat(accounts): support multiple team players
Teams now use a join table so organizers can attach more than one player account while players still get public profile data.
2026-05-04 15:25:26 +02:00
Daniel Schädler 61856aab1f Merge remote-tracking branch 'origin/master' into codex/tur-223-match-metadata 2026-05-04 15:10:23 +02:00
Daniel Schädler 0cbcb64066 feat(matches): add match metadata updates 2026-05-04 15:10:11 +02:00
Daniel Schädler b930ff574f Merge remote-tracking branch 'origin/master' into codex/tur-210-playoff-deletion 2026-05-04 15:06:21 +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 995a2cc250 feat(accounts): add player team profiles
Teams can link to player accounts by email while keeping profile tournament data public unless viewed by the account owner.
2026-05-04 14:52:59 +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 7fae7e2d95 feat(timer): update reason without restart 2026-05-04 14:40:04 +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 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 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 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 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 cfb07e82fc fix: clear RuboCop offenses 2026-04-26 15:46:31 +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