Commit Graph

68 Commits

Author SHA1 Message Date
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 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 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 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 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 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 69bd43b288 refactor: rename timer API field to timestamp 2026-04-24 10:13:44 +02:00
Daniel Schädler afff813994 feat: add timer modes and websocket updates 2026-04-23 23:29:03 +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 8789c2cb2e Merge origin/master into follower sync 2026-04-16 15:54:32 +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
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 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 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
Daniel Schädler c3af6f9232
Rubocop -A 2021-08-15 14:31:50 +02:00
Thor77 d317585168
Add "simple" parameter to tournament show 2019-10-25 23:17:08 +02:00
Daniel Schädler 4925ea9d83 Make teams added to PlayoffStage configurable 2019-06-18 22:22:10 +02:00
Thor77 2baefb9ae6 Associate teams only on interactor success 2019-06-18 13:29:31 +02:00
Thor77 3109308817 Fix teams not associated with created tournament
when choosing a group stage
2019-06-18 13:29:31 +02:00
Daniel Schädler 5004dec39a Change playoff transition relevant attributes of tournament on update
They are only updated when playoff_teams_amount changed alone
2019-06-13 13:21:24 +02:00
Daniel Schädler e936fd40b2 Convert integer parameters to actual integers
Apparently rails thinks this is the way to do it.
2019-06-13 13:21:24 +02:00
Daniel Schädler b408d1dd37 Ignore validity of matching params if only playoff_teams_amount changed
If only playoff_teams_amount changed, the other two will be overwritten
anyways.
2019-06-13 13:21:24 +02:00