Commit Graph

7034 Commits

Author SHA1 Message Date
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
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-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)
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-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
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-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
dependabot[bot]
7b319fbd92 build(deps): bump the minor-and-patch group across 1 directory with 5 updates (#3340)
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:20 +03:00
Kalle
0c2380d21d Tournament cards 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
Closes #2356
2026-08-13 19:05:11 +03:00
Kalle
8eb487c3cb New scanner test cases + fixes (splats, special, layout) 2026-08-13 19:05:11 +03:00