Commit Graph

1805 Commits

Author SHA1 Message Date
Kalle
fb86b9f24d Change scrim notification text not to include timestamp
Some checks are pending
E2E Tests / e2e (push) Waiting to run
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
Closes #2998
2026-04-26 13:05:48 +03:00
Kalle
ed0467f98e Fix tournament chats expiring too early
Some checks are pending
E2E Tests / e2e (push) Waiting to run
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
In round robin, all matches are set to have both participants at the start.
If the bracket is larger e.g. 5 rounds then later rounds might have chat
disappearing before teams get a chance to play it.

Closes #3005
2026-04-25 21:15:17 +03:00
Kalle
9f38719fc3 Handle race when two groups match up with same target
Some checks are pending
E2E Tests / e2e (push) Waiting to run
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
GroupMatch has unique constraints on both alphaGroupId and bravoGroupId
(a group can only be in one match). If two managers click MATCH_UP at
nearly the same moment against overlapping groups, the second INSERT
trips SQLITE_CONSTRAINT_UNIQUE and bubbles up as a 500.

Translate that error into a SendouQError inside SQMatchRepository.create
so the q/looking action's existing SendouQError catch treats it like
any other stale-state error and returns null, which causes the loader
to re-run and the user sees the fresh state instead of an error page.
2026-04-24 21:44:33 +03:00
Kalle
f216423089 Validate builds page limit search param
A crawler hitting /builds/:slug?limit=48%27 (URL-encoded single quote,
likely an SQL injection probe) was triggering SQLITE_MISMATCH errors
server-side. The loader was calling Number() on the raw string, which
returned NaN, and then forwarding NaN as the LIMIT bind parameter on
the underlying Kysely query. No injection was possible (params are
bound), but the bad value only failed at the DB boundary.

Parse the param through a zod schema that coerces to a positive int,
falls back to the default batch size on any invalid input, and clamps
to the page max.
2026-04-24 21:34:44 +03:00
Kalle
6bc7eac117 Allow tier list labels to wrap again
Originally this was removed to "fix" the img download being wonky.
But the underlying library got a lot of updates since so maybe it's good now?
Couldn't at least reproduce the bug anymore.
2026-04-24 21:28:04 +03:00
Kalle
53d2b41ec6 Add to contributions 2026-04-24 20:24:30 +03:00
Kalle
540ae58a89 Update Typescript 2026-04-24 20:12:43 +03:00
Kalle
d2440c4a32
Round robin only tournament support (#2996) 2026-04-24 18:03:53 +03:00
benny B franklin
002a03e86d
badge: add badge for OCE Open Series (#2993) 2026-04-24 18:02:40 +03:00
Cafy
1a7d865848
badge: add badge for Bubbly's Birthdays (#3000) 2026-04-24 18:02:02 +03:00
Kalle
ab5cb9d91e Drag to reorder weapons in comp analyzer
Some checks failed
E2E Tests / e2e (push) Has been cancelled
Tests and checks on push / run-checks-and-tests (push) Has been cancelled
Updates translation progress / update-translation-progress-issue (push) Has been cancelled
2026-04-21 08:59:58 +03:00
Kalle
8b576bc0b4 Fix hydration error with rotations component 2026-04-21 08:59:58 +03:00
Kalle
b6d0f7fe1c Check points are sent if required by the bracket 2026-04-21 08:59:58 +03:00
Kalle
bebf23e55e Fix tournament register tab map pool styles 2026-04-21 08:59:58 +03:00
Kalle
b5a3dfd0e5 Attempt to fix notifications not arriving right away by setting urgency
Closes #2980
2026-04-21 08:59:58 +03:00
Rosi-Splat
95b4f50bae
badge: add badge for Dream Team (#2987) 2026-04-21 08:59:34 +03:00
Kalle
83b44e2bbf Fix server error when match does not yet have both teams set 2026-04-21 07:32:51 +03:00
Kalle
88072f8b02 No LFG tab/prompt if tournament is invitational
Some checks are pending
E2E Tests / e2e (push) Waiting to run
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
2026-04-20 21:29:08 +03:00
Kalle
51c94d2229 Don't show own messages as unread in chat 2026-04-19 14:36:56 +03:00
Kalle
a3a03c0c4b Chat room for tournament pick-ups (LFG feature) 2026-04-19 14:36:48 +03:00
Kalle
493f6c01e0 Don't show global chat for tournament team subs 2026-04-19 12:18:06 +03:00
Kalle
3d7f24d2ee Allow TO's to read chats after tournament has finalized 2026-04-19 10:29:54 +03:00
Kalle
793ebfe4a4 Fix avgSeedingSkillOrdinal condition in autoseed
Basically this should never happen so this is not fixing any known bug
2026-04-19 07:10:49 +03:00
Kalle
a4eda293e7 User results page search
Some checks are pending
E2E Tests / e2e (push) Waiting to run
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
2026-04-18 18:14:07 +03:00
Kalle
c0395cc1bc
Map planner ranges (#2986) 2026-04-18 17:31:08 +03:00
Kalle
2ed02f757d
A/B (bipartite) round robin variation (#2985) 2026-04-18 14:21:28 +03:00
Kalle
f5688d3493 Validate image extensions serverside 2026-04-15 21:09:20 +03:00
Kalle
6102fb34cc Use Node.js globSync method to check for valid article 2026-04-15 20:55:37 +03:00
Kalle
e75836e598 Tournament teams list page team members' name styling tweaks
Some checks failed
E2E Tests / e2e (push) Has been cancelled
Tests and checks on push / run-checks-and-tests (push) Has been cancelled
Updates translation progress / update-translation-progress-issue (push) Has been cancelled
2026-04-15 20:39:34 +03:00
Kalle
1f71338184 Backend check to ensure in-game name set when registering
Some checks are pending
E2E Tests / e2e (push) Waiting to run
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
There are also other checks but one final gate to make sure it won't happen
2026-04-14 20:47:46 +03:00
Kalle
f3e660917d
Various tournament queries migrated to Kysely (#2978) 2026-04-14 20:26:48 +03:00
Kalle
d35661a4bc Fix test tournaments showing on /events page after being finalized 2026-04-14 19:55:56 +03:00
Kalle
7086adfa0a Fix wrong banner showing in the UI when using WINNER/LOSER rule
Closes #2975
2026-04-14 19:54:44 +03:00
Kalle
1a02c6b35f More actionable auth error messages for user
Closes #2438
2026-04-12 17:07:14 +03:00
Cafy
23d8f18023
badge: add badge for Without Warning (#2964) 2026-04-12 17:02:31 +03:00
Josiah Glosson
922cf2c0e0
Hide tournaments from Streams section if it has no streams (#2968)
Some checks are pending
E2E Tests / e2e (push) Waiting to run
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
2026-04-12 07:22:55 +03:00
Kalle
0fbd851b91 Allow 1v1/2v2/3v3 tournaments to show on the sidebar for streams
Some checks are pending
E2E Tests / e2e (push) Waiting to run
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
2026-04-11 16:34:55 +03:00
Kalle
824a00bd40 Fix Map Planner top nav location on PWA
Closes #2951
2026-04-11 16:03:29 +03:00
Kalle
a213c882fc Admin only setting to have enough SQ sets to sign up for the tournament 2026-04-11 14:56:32 +03:00
Kalle
3d7ea4447a Revalidate match pages on team drop 2026-04-11 13:34:16 +03:00
Kalle
fa9ac427bd Don't modify chat messages array in place
Some checks are pending
E2E Tests / e2e (push) Waiting to run
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
2026-04-11 11:20:56 +03:00
Kalle
2d92f2fc45 Show tournament tier pills on team results page 2026-04-11 07:28:12 +03:00
Kalle
8e658f2146 Lock tier heights when dragging to prevent infinite loop
The bug is that when a tier is about to wrap
(increase in height), especially on mobile it will loop the drop preview
for the lower and upper tier till the page crashes.

Example crash page (user report): /tier-list-maker?type=stage-mode&canAddDuplicates=false&state=('Vs!%5BHxJXj4655_sJSj8c42_aJAjd23f_bJBGbfe84d_cJCG5dbb63_wJDG20b2aa_zJFG4169e1W~VItems!%5B%5B'V-zK0O1-SZEwK1k3O5O4q4k5u5PEcK1q1u4u4O3q6O5q6QEbK0k2u2QEaK2O3k6PEsK0u2k6UExK0q3Uv%5D)*('typehstage-mode'~idh.')%2CEvY'V-G'~colorh%23H('idhV-J'~namehK'Y*L1775494063N.*O-SZNP-TCQ-CBU-RMVtierW')%5DY%2C%5B_.Hh!'jGffkPNqQNuUNvW%5DwL330zL553%01zwvuqkjh_YWVUQPONLKJHGE.*_
2026-04-11 07:19:55 +03:00
Kalle
e1da2741db Fix switching tabs making the item pool unresponsive
Some checks are pending
E2E Tests / e2e (push) Waiting to run
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
Probably this is hiding the underlying issue but at least it
does fix it from testing.
Anyway they would not be mid-drag when switching
tabs so this should be harmless to do.
2026-04-10 17:34:40 +03:00
Kalle
c4a4322eb5 Move related functions to TournamentTeamRepository
Some checks are pending
E2E Tests / e2e (push) Waiting to run
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
2026-04-09 21:24:33 +03:00
Kalle
3eeb25b486 Make team edit page bio textarea full width 2026-04-09 21:11:05 +03:00
Kalle
19f80e15a8 Fix team custom colors reset when updating team profile
Closes #2956
2026-04-09 21:09:15 +03:00
Kalle
b3b5e1ff96 Simplify BuildRepository.allByWeaponId 2026-04-09 20:37:11 +03:00
Kalle
d872be4d75 Fix sidebar showing stale groups 2026-04-09 20:26:23 +03:00
Kalle
b3123aa7ee Scrims random fixes 2026-04-09 20:03:50 +03:00