Commit Graph

88 Commits

Author SHA1 Message Date
Kalle
6ddc3985ae Initial 2026-09-17 17:34:36 +03:00
Kalle
8f6aec2429 Further db optimizations 2026-09-09 21:37:21 +03:00
Kalle
8f04f3b6cc Enable Biome rules 7 2026-09-06 16:57:29 +03:00
Kalle
16bbb4252b Enable Biome rules 5 2026-09-06 16:57:29 +03:00
Kalle
e5196ca4d5 Enable Biome rules 3 2026-09-06 16:57:28 +03:00
Kalle
8079fceb22 Enable Biome rules 1 2026-09-06 13:46:25 +03:00
Kalle
aae7545da5 Allow every user to pick/ban maps in tournament matches 2026-09-06 13:40:12 +03:00
Kalle
c88db7076b Stabilize E2E tests 2026-09-05 21:34:59 +03:00
Kalle
2e26e1fe81 Migrate away from RAC (#3381) 2026-09-05 15:11:04 +03:00
Kalle
10feace73d Drive layout breakpoints with media and container queries instead of resize listeners
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-09-02 22:04:54 +03:00
Kalle
6a307ce59e Simplify comments 2026-09-02 21:02:01 +03:00
Kalle
f1e6f51d69 Fix observer not seeing messages sent while they were away from the page 2026-08-29 20:32:37 +03:00
Kalle
c5aac1664c Lazy load chat 2026-08-29 18:15:05 +03:00
Kalle
980d5c43c0 SSE Chat (#3368) 2026-08-29 14:55:13 +03:00
Kalle
4f64b9ec01 zod -> valibot (#3364) 2026-08-21 17:36:48 +03:00
Kalle
67ca6ff038 Refactor tests for consistency 2026-08-13 19:05:11 +03:00
Kalle
8498709097 More robust chat revalidation logic on network connection drop/tab away 2026-08-13 18:13:03 +03:00
Kalle
d88c027169 Smarter notification mark as read (#3330) 2026-08-09 15:10:48 +03:00
Kalle
7dca9ec51a Reduce server load from revalidation broadcast storms
Throttle revalidation broadcasts per room to at most a leading and a
trailing one per 2s window, jitter clients' refetch so a fan-out does not
hit all at once, stop broadcasting to the looking room on every ready
check confirmation, and serve the looking page's user cards from a
short-lived cache.
2026-08-08 14:01:24 +03:00
Kalle
2029129f2d SendouQ collect ready checks before starting a match 2026-08-07 19:03:54 +03:00
Kalle
3aded5c62a Abstract stuff (#3305) 2026-08-05 18:16:24 +03:00
Kalle
b3e723e245 Fix even even even more bugs 2026-08-05 16:33:23 +03:00
Kalle
a2492c385b Ensure SendouQ match chat does not expire too early 2026-08-04 22:11:36 +03:00
Kalle
b45ecde4cc Refactor tournament data loading (#3298) 2026-08-04 22:05:49 +03:00
Kalle
3b4707908c Search params refactor (#3286) 2026-08-04 06:55:17 +03:00
Kalle
4622426c07 Eliminate useEffects (#3273)
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-08-03 08:53:08 +03:00
Kalle
fdbfb14f62 More robust/intent based chat scroll to bottom logic
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-07-08 19:52:38 +03:00
Kalle
8f482802ba Upgrade to React Router 8 2026-07-02 17:38:26 +03:00
Kalle
fb59d9e1db SendouQ stacked chat (#3194) 2026-06-28 09:54:32 +03:00
Kalle
0d59dcd734 Virtualize chat (#3196) 2026-06-27 11:17:12 +03:00
Kalle
9d6030d17d Get current user id via ALS in ChatSystemMessage 2026-06-21 15:49:15 +03:00
Kalle
b8b46aa07a Fix chat phantom unread over back button
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-06-20 16:46:12 +03:00
Kalle
c64397c347 SendouQ live websocket updates replacing old polling method 2026-06-20 16:24:11 +03:00
Kalle
c7ba494b2b Match page get rid of join tab 2026-06-17 17:32:54 +03:00
Kalle
75179e5077 Zod validated config for security and ease of getting started 2026-06-15 14:12:15 +03:00
Kalle
bd14f88eaa Supporter uploaded avatar 2026-06-14 14:08:23 +03:00
Kalle
1859815366 Enable RR8 future flags: v8_trailingSlashAwareDataRequests & v8_viteEnvironmentApi 2026-06-12 20:52:02 +03:00
Kalle
544fe4f66c Chat misc fixes 2026-06-11 21:27:38 +03:00
Kalle
c4c0b6dd50 Migrate repository functions to use user id via ALS
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-06-06 14:56:43 +03:00
Kalle
a3d7cb2fcb Scrim map by map mode (#3104) 2026-05-25 17:35:44 +03:00
Kalle
6a72946b45 New hooks and components for localized date time (#3065) 2026-05-17 13:19:25 +03:00
Kalle
70f2f49688 Replace URL.canParse with custom function
Still not baselinely widely available, so causes problems with some older browsers
2026-05-14 15:01:09 +03:00
Kalle
20118fb7a5 Fix WS revalidate on tournament bracket & match pages (#3061) 2026-05-13 20:17:29 +03:00
Kalle
0bcbc83cb4 Fix splatnet room url detection logic 2026-05-12 20:32:06 +03:00
Kalle
2b5b1b1948 New match page (#3032)
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-05-04 18:15:10 +03:00
Kalle
747a63edbc Show current route's chat in room list even when expired
Non-participants (e.g. tournament organizers) viewing a tournament
match chat could see the chat auto-open correctly, but clicking the
back arrow to the room list left the chat invisible — the only way
back was to leave the route and return.

The match chat appears in chatContext.rooms via the SUBSCRIBE
response, which (unlike the initial-payload path that participants
go through) does not check room expiry on the skalop side. So an
organizer viewing an old match ends up with an expired room in
their rooms list. ChatView already handles this gracefully with a
read-only banner, but RoomList was filtering on
expiresAt > Date.now() and dropping it.

Cleanup in useChatRouteSync removes the room from chatContext.rooms
on navigation, so exempting the current route's chatCode from the
expiry filter only affects the page that subscribed to it.
2026-05-02 11:36:56 +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
51c94d2229 Don't show own messages as unread in chat 2026-04-19 14:36:56 +03:00
Kalle
3d7f24d2ee Allow TO's to read chats after tournament has finalized 2026-04-19 10:29:54 +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