Commit Graph

937 Commits

Author SHA1 Message Date
Daniel Schädler b5f7d47684 Merge branch 'codex/tur-225-user-organizer-accounts' into 'master'
TUR-225: User and organizer accounts

See merge request turniere/turniere-backend!80
2026-05-04 18:13:06 +00: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 5d6e0b7305 Merge branch 'codex/tur-223-match-metadata' into 'master'
TUR-223: Match metadata

See merge request turniere/turniere-backend!82
2026-05-04 17:06:26 +00:00
Daniel Schädler 0d46664995 fix(db): avoid duplicate migration version 2026-05-04 17:47:12 +02:00
Daniel Schädler bcc93099bf test: assert playoff recreation matchups 2026-05-04 17:42:38 +02: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 9c006e57d2 docs(matches): document metadata API 2026-05-04 17:41:13 +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 e0d2944b17 Merge branch 'codex/tur-218-timer-reason' into 'master'
TUR-218: Timer reason updates without restart

See merge request turniere/turniere-backend!78
2026-05-04 13:01:39 +00: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 547e1c3933 Merge branch 'codex/tur-30-transaction-log' into 'master'
TUR-30: Add tournament transaction log

See merge request turniere/turniere-backend!77
2026-04-30 12:26:26 +00:00
Daniel Schädler 431f0a6640 docs: document transaction log API 2026-04-30 14:09:45 +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 40e0f12969 Merge branch 'codex/tur-84-sync-token' into 'master'
TUR-84: Protect sync token

See merge request turniere/turniere-backend!76
2026-04-30 10:14:12 +00:00
Daniel Schädler 8f965ad99e fix: preserve timer broadcast after logging 2026-04-30 12:08:00 +02:00
Daniel Schädler fe6533a40c Merge remote-tracking branch 'origin/master' into codex/tur-30-transaction-log 2026-04-30 10:05:21 +02:00
Daniel Schädler 21e1463b64 feat: add tournament transaction log 2026-04-30 10:04:56 +02:00
Daniel Schädler a95fabacf7 Merge remote-tracking branch 'origin/master' into codex/tur-84-sync-token 2026-04-30 09:33:01 +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 5ace19eeea Merge branch 'codex/TUR-174-backend-image-scaling' into 'master'
TUR-174: Backend image scaling

Closes TUR-174

See merge request turniere/turniere-backend!75
2026-04-30 07:32:31 +00:00
Daniel Schädler 2c16a9bad1 ci: run blackbox checks single-worker 2026-04-30 09:15:05 +02:00
Daniel Schädler bc928688ad feat(docker): make scaling env configurable 2026-04-30 08:58:22 +02:00
Daniel Schädler 6c01343d3a Merge branch 'codex/tur-159-load-tests' into 'master'
TUR-159: Load tests

See merge request turniere/turniere-backend!74
2026-04-29 20:56:53 +00:00
Daniel Schädler 1fbd5084fc Merge branch 'codex/tur-166-match-stopping' into 'master'
TUR-166: Stop accidentally started matches

See merge request turniere/turniere-backend!73
2026-04-29 20:50:02 +00:00
Daniel Schädler 1394889087 Merge remote-tracking branch 'origin/master' into codex/tur-159-load-tests 2026-04-29 22:34:39 +02:00
Daniel Schädler 3627c1a3ce feat(load): add load smoke tests 2026-04-29 22:34:32 +02:00
Daniel Schädler 650631d3b3 Merge remote-tracking branch 'origin/master' into codex/tur-166-match-stopping 2026-04-29 22:33:47 +02:00
Daniel Schädler df227f9397 feat(matches): stop in-progress matches 2026-04-29 19:56:25 +02:00
Daniel Schädler 2c5b696963 Merge branch 'codex/tur-151-group-match-starting-fix' into 'master'
TUR-151: Fix group match catch-up start

See merge request turniere/turniere-backend!72
2026-04-29 17:55:10 +00:00
Daniel Schädler b2064a03b6 fix(group matches): start lowest pending wave 2026-04-29 19:37:28 +02:00
Daniel Schädler 0141d78e4e Merge branch 'codex/tur-130-production-seed-faker' into 'master'
fix(docker): skip demo seeds in production

See merge request turniere/turniere-backend!71
2026-04-29 15:31:22 +00:00
Daniel Schädler e588090906 ci: retry backend image build 2026-04-29 17:16:16 +02:00
Daniel Schädler 6fc7be1fe6 chore(docker): use noninteractive apt 2026-04-29 17:08:39 +02:00
Daniel Schädler 7b8fc67593 fix(docker): skip demo seeds in production 2026-04-29 17:02:10 +02:00
Daniel Schädler 08cefb1ace Merge branch 'codex/tur-130-dependency-update-a31c' into 'master'
TUR-130: Dependency update

See merge request turniere/turniere-backend!68
2026-04-29 14:15:08 +00: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 51a8fcb425 Merge branch 'codex/tur-160-metrics' into 'master'
TUR-160 Metrics endpoint

See merge request turniere/turniere-backend!70
2026-04-29 08:15:21 +00:00
Daniel Schädler 1bedc87210 feat(metrics): add Prometheus metrics endpoint 2026-04-29 09:44:06 +02:00