Kalle
c3e26dceae
Use MediaQuery
2026-08-16 21:39:36 +03:00
Kalle
58878748a2
Better popover
2026-08-16 21:27:58 +03:00
Kalle
4e731b0d8a
Remote function for sidebar
2026-08-16 21:09:57 +03:00
Kalle
74c5059ccf
Fix mutation
2026-08-16 21:02:49 +03:00
Kalle
35984ccc2e
Migrate nprogress from effect
2026-08-16 20:48:34 +03:00
Kalle
f85e1bd6cd
Get rid of globals
2026-08-16 20:32:55 +03:00
Kalle
001f89690b
Delay nprogress
2026-08-16 20:06:01 +03:00
Kalle
c072493928
Skills
2026-08-16 19:23:30 +03:00
Kalle
8da2b66ac6
Diff leaderboard
2026-08-16 19:14:22 +03:00
Kalle
55957f7aca
Fix hydration error
2026-08-16 17:47:19 +03:00
Kalle
af901c094e
Fix effect infinite loop
2026-08-16 17:42:29 +03:00
Kalle
3796315138
Fix body warning
2026-08-16 17:25:38 +03:00
Kalle
535781afd3
Fix theme warning
2026-08-16 17:20:16 +03:00
Kalle
34bb01a34b
Fix theme inject warning
2026-08-16 17:11:50 +03:00
Kalle
d8733fd9c1
Add dev:prod command to svelte
2026-08-16 17:05:36 +03:00
Kalle
acdfbc5d4d
Exclude the Svelte workspaces from Biome; formatting pass
...
apps/web and packages/components get the Prettier+ESLint stack later per
svelte-big-bang.md; Biome stays scoped to the React app and tooling.
2026-08-16 12:11:21 +03:00
Kalle
8f3caa4683
App shell: sidenav/header/footer layout, sidebar data path, notifications bell
...
- Layout.svelte composes SideNav (events/friends/streams), MobileNav, header (logo, breadcrumbs, collapse buttons, TopNavMenus, TopRightButtons, nprogress anchor) and Footer (patrons via remote query)
- sidebar server data ported: resolveSidebarData + StreamRanking + friend/scrim/tournament/stream repositories, wired through the root layout load with the signed sidenav cookie
- notifications: repository + getNotifications remote query, bell popover with unseen dot, notification link/icon mapping ported
- theme: ThemeHead with color-scheme meta + no-flash script, byte-compatible theme cookie in layout data
- PWA head links extracted from the React root; git commit define; nprogress driven by navigating state
- differ head diff made semantic (title/meta/SEO-links as a sorted set) since framework asset links legitimately differ
2026-08-16 12:09:57 +03:00
Kalle
35ffc136be
Phase 2 harness wiring: differ --right-app web, e2e target app, dev-controls, cookbook
...
- differ can serve apps/web on the right side (--right-app web); impersonation no longer follows app-specific redirects
- e2e: E2E_TARGET_APP=web spawns apps/web servers per worker against the shared dbs; leaderboards spec + page object added; expectRouterIdle exported
- apps/web dev-controls endpoints: /auth/impersonate(+stop), /theme (404-redirect GET parity), /refresh-caches, /end-season, /run-routine, /sidenav
- HydrationTestIndicator implements the hydrated/router-idle contract (counts in-flight remote fetches)
- codemods: route-map (routes.ts -> SvelteKit route scaffolds, manifest-aware, idempotent) and remote-scaffold (loader->query, _action branches->commands)
- MIGRATION.md cookbook seeded with the golden read-path pattern and slice learnings; manifest: leaderboards migrated
2026-08-16 11:59:13 +03:00
Kalle
2aaf937ff9
Leaderboards page + Svelte UI kit foundations
...
- packages/components (@sendou/components): Button, ChipRadio(+Group), Tabs set (handrolled ARIA tabs), Menu, Popover, Select stack (search, sections, keyboard nav) — native popover API instead of react-aria
- app components: Main, Image/WeaponImage/ModeImage/TierImage, Avatar (canvas identicon port), Flag, Placement, InfoPopover, MetaTags, WeaponSelect, SeasonSelect
- leaderboards feature UI: Leaderboards + PlayersTable/TeamTable/XPTable/OwnEntryPeek/TeamStaffMenu/TopTenPlayer, scoped styles ported from top-search.module.css
- root layout serializes the lean user; hasRole() reads it from page.data
- skip/unskip commands go single-flight via .updates() on the client-held query instance
- SSR verified against the differ seed database
2026-08-16 11:48:15 +03:00
Kalle
2c67745715
Port search-params module to valibot for apps/web
...
- pure core (define/SP.param/SP.json/SP.custom, decode caching, lz~ transport compression) with valibot schema introspection replacing zod class checks
- SP.custom takes an explicit ParamCodec instead of a zod codec
- shouldRevalidate dropped: remote queries key on decoded args, replacing route-level revalidation
- searchParamsState .svelte.ts state layer over page.url + goto (shallow writes for loader: false params)
- core test suite and round-trip test utils ported; leaderboards definition + test
2026-08-16 11:33:59 +03:00
Kalle
a9c18e0dda
Scaffold apps/web SvelteKit 3 app with leaderboards server slice
...
- SvelteKit 3 (RC, pinned) + Svelte 5 + Vite 8 + adapter-node + TS 6
- paraglide pipeline: combine-locales from shared web-react locales, English-only dev settings, build-with-all-locales
- db layer port: node:sqlite dialect, json column handling, trimmed DB schema (leaderboards slice tables)
- cookie-compatible auth session decode (React Router HMAC format) resolved into event.locals via hooks
- leaderboards repository/core ported verbatim; loader converted to a remote query(), action split into skipTeam/unskipTeam commands with server-driven refresh
- valibot schemas for remote function validation
2026-08-16 11:30:13 +03:00
Kalle
d3e1f22135
Update doc
2026-08-16 11:06:46 +03:00
Kalle
e3e071b6a5
Differ
2026-08-16 11:05:12 +03:00
Kalle
c0fdb922fd
Valibot to plan
2026-08-16 10:07:54 +03:00
Kalle
c7ff35fabe
Migrate invariant
2026-08-16 10:03:37 +03:00
Kalle
935e357842
Extract @sendou/utils, @sendou/build-analyzer, @sendou/map-list-generator and @sendou/scanner-core workspace packages
2026-08-16 10:01:27 +03:00
Kalle
fdb97b04b2
Single flight mutations
2026-08-16 09:42:18 +03:00
Kalle
c0b339f740
Add migration manifest and codemod tooling skeleton
2026-08-16 09:32:04 +03:00
Kalle
2c73764a17
Extract @sendou/in-game-lists and @sendou/tournament-engine workspace packages
2026-08-16 09:29:49 +03:00
Kalle
bbc8ea57af
Move app to apps/web-react in pnpm workspace layout
2026-08-16 09:20:33 +03:00
Kalle
7e365ccfcf
Doc
2026-08-16 09:09:25 +03:00
Kalle
319f3d8cf3
LFG page serverside paginated
2026-08-16 09:07:13 +03:00
Kalle
581667e251
Split chunks
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-08-15 22:48:50 +03:00
Kalle
c382b60cb2
Remove Sentry
2026-08-15 21:39:51 +03:00
Kalle
64dcfb34b0
Cache user cards to id matches mid page and lfg page
2026-08-15 16:57:05 +03:00
Kalle
c5f882a040
Lazy load trophies
2026-08-15 16:57:05 +03:00
Kalle
d894b51e36
Inline the initial i18n namespaces into the SSR HTML
2026-08-15 16:57:05 +03:00
Kalle
37930ee938
Tournament run graphic fixes
2026-08-15 16:57:05 +03:00
Kalle
3f7f5c301b
Fix match roster tab overflow
2026-08-15 16:57:05 +03:00
Kalle
f96504d592
SendouQ don't show invited by text if solo group
2026-08-15 16:57:05 +03:00
Kalle
a4fb0c371a
Skip push notifications if already seen
...
Closes #3339
2026-08-15 16:38:46 +03:00
Kalle
10afa7836f
Make ingested matches use report timestamp + batch
2026-08-15 16:15:48 +03:00
Kalle
ec631c735a
Improve xsearch select
2026-08-15 14:20:03 +03:00
Kalle
1de5de39b8
Improve leaderboards page selects
2026-08-15 13:17:37 +03:00
Kalle
24b136d5c7
Allow skipping teams on team leaderboard by staff
2026-08-15 13:17:37 +03:00
Kalle
f6b54b8c95
Team specific SQ map/mode preferences ( #3343 )
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-08-15 11:30:21 +03:00
Kalle
af7ef2fb08
Refactor permissions and make tournament object fully cacheable ( #3341 )
2026-08-15 09:29:34 +03:00
Kalle
7a5c59b8cd
Add ingest test scenarios
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-08-14 21:36:27 +03:00
Kalle
4f1dfff1c4
Split swiss/group/bracket data loading and revalidation
2026-08-14 21:36:27 +03:00
dependabot[bot]
4f22d26ab0
build(deps-dev): bump @biomejs/biome from 2.5.6 to 2.5.7 ( #3337 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-14 21:24:32 +03:00