kyle
06fe1f4ed7
feat(telemetry): rollups, alerts, scheduler, health checks, admin server fns
...
- pure rollup accumulators with tests; daily upserts keyed date/metric/dim
- alert checks with db-backed cooldown and push to admin players
- in-process scheduler started from health probes
- health endpoint checks pb + supertokens, stale-while-revalidate, always 200
- sse connection counter moved to emitter
- telemetry feature server fns: events/errors/groups/rollups/alerts/status
2026-08-25 21:38:08 -07:00
kyle
e2863c1f6c
feat(telemetry): collections, universal server-fn coverage, beacon, client tracker
...
- activities indexes + client_events/client_errors/rollups/alerts collections
- global function middleware via createStart; reads skipped on success
- actor stash, denial dedup, control-flow error guards
- api route logging, auth event overrides, beacon endpoint, web vitals
- centralized admin role checks, shared skeletons, award-badges fix
- extracted deriveRunState with tests
2026-08-25 21:33:25 -07:00
kyle
15aeb64b19
pwa fixes
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 8s
CI/CD Pipeline / i18n Catalog Check (push) Successful in 40s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m6s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m27s
2026-08-23 21:51:38 -07:00
kyle
8a894e8365
Merge branch 'deep-ketch' into development
CI/CD Pipeline / i18n Catalog Check (push) Successful in 38s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 3m11s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 14s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m31s
2026-08-23 20:31:49 -07:00
kyle
e3fea18ab2
badges improvements
2026-08-23 20:31:44 -07:00
kyle
58702da156
style: trim narration comments from recent changes
2026-08-23 20:06:05 -07:00
kyle
c342b91029
feat(header): shrink long titles to fit instead of wrapping
...
The header keeps its size; a title that would overflow scales down to a
floor of 55% and ellipsizes only past that. Re-measures on title change,
resize, and web-font load.
2026-08-23 20:06:05 -07:00
kyle
792425a83e
fix(i18n): hydrate in the SSR locale instead of regressing to en
...
The client's message cache held only en at hydration, so a non-en user
rendered English until the locale's catalog chunk loaded — and stayed
English if that import failed or lost a race. __root beforeLoad now
dehydrates the active locale's compiled catalog with the page and the
provider primes its cache from that payload, so first paint is already in
the user's locale with no dependency on a client-side chunk load.
ensureMessages dedupes concurrent loads and drops rejected ones so a
retry can succeed, and the provider's fallback loader retries instead of
silently stranding the UI in en.
2026-08-23 19:47:31 -07:00
kyle
ac2e61731c
Merge branch 'theme-discovery-presets' into development
2026-08-23 19:26:37 -07:00
kyle
62cbca4a9d
theme tooltip
2026-08-23 19:26:21 -07:00
kyle
11bb70316a
fix(pwa): simplify the install prompt copy
2026-08-23 19:03:57 -07:00
kyle
9fc79dfc07
fix(audit): readable names, single writer, denial rows, redacted args
...
The activity log recorded Start's hashed function id (a sha256 URL
segment) as the name; the middleware now reads compile-time
serverFnMeta.name with the path segment as fallback. toServerResult
resolves { success:false } instead of throwing, so the middleware logged
failures as successes while toServerResult wrote a duplicate row with its
own dead name parser — the middleware is now the single writer and reads
the envelope's success flag. Admin denials, which threw before the logging
middleware ran, get their own audit row. Arguments are redacted
(phone/otp/token keys) and truncated at 2KB. The admin activities search
binds its filter parameters (likePattern escaping) instead of
interpolating raw input. Adds vitest with node-env tests for the
middleware, redaction, and filter utils, and extends logging coverage to
mutating fns that lacked it.
2026-08-23 18:27:53 -07:00
kyle
60e91d1371
fix(pocketbase): self-heal admin auth instead of stranding requests
...
beforeSend now skips its gate for the auth endpoints (no self-await
deadlock), swallows a rejected authPromise and re-authenticates when the
store is invalid, re-stamps Authorization after the gate so requests built
mid-auth carry the fresh token, and guards startTokenRefresh against
stacking intervals. A failed boot auth logs a diagnostic instead of
crashing the process; recovery happens on the next request.
2026-08-23 18:27:45 -07:00
kyle
a45c2aeafa
fix(pwa): reword the install prompt and keep it off the bottom nav
...
The banner sat fixed at the viewport bottom at z-index 1000, covering the
authed shell's mobile nav; it now offsets above the nav's geometry when a
signed-in mobile user has one. New casual copy replaces the Twilio line,
the dismiss button gains a localized aria-label, and de/es/ja catalogs
carry the new strings.
2026-08-23 18:27:40 -07:00
kyle
f63dfde85d
fix(ui): defer the visual-viewport read out of render
...
Reading window during render made the client's first render disagree with
the SSR markup; start at zero and fill in after mount, matching Mantine's
useViewportSize contract.
2026-08-23 18:27:35 -07:00
kyle
5ac39ac7a2
Merge branch 'development' into player-picker-single-sele
...
# Conflicts:
# src/locales/de/messages.po
# src/locales/en/messages.po
# src/locales/es/messages.po
# src/locales/ja/messages.po
2026-08-23 17:59:55 -07:00
kyle
733615b9e0
redesign h2h player picker: single slot + Me quick-select
2026-08-23 17:59:24 -07:00
kyle
d0507481cb
harden sse errors
2026-08-23 17:35:45 -07:00
kyle
98343e55d1
Merge branch 'themes' into development
2026-08-23 17:17:12 -07:00
kyle
6f575d6a23
themes lol
2026-08-23 17:17:04 -07:00
kyle
24756128e0
i18n ci fix
CI/CD Pipeline / i18n Catalog Check (push) Successful in 39s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 8s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 6m43s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m27s
2026-08-08 16:33:02 -07:00
kyle
19dc698f46
i18n ci fix
CI/CD Pipeline / i18n Catalog Check (push) Failing after 9s
CI/CD Pipeline / Build and Push App Docker Image (push) Skipped
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 9s
CI/CD Pipeline / Deploy to Kubernetes (push) Skipped
2026-08-08 16:00:48 -07:00
kyle
0a7b5fa00f
i18n
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 8s
CI/CD Pipeline / i18n Catalog Check (push) Failing after 10s
CI/CD Pipeline / Build and Push App Docker Image (push) Skipped
CI/CD Pipeline / Deploy to Kubernetes (push) Skipped
2026-08-08 15:29:40 -07:00
kyle
22c282d8fa
more for the overhaul
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m49s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 30s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 9m40s
2026-07-22 16:41:44 -07:00
kyle
86cda294f9
social overhaul
2026-07-22 15:47:34 -07:00
kyle
9db3fa697d
Merge branch 'loader' into development
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m55s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 8s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m24s
2026-07-14 15:00:50 -07:00
kyle
6565714ee4
Merge branch 'predictions' into development
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 1m36s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 25s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m23s
2026-07-14 14:22:50 -07:00
kyle
1783f0e6bc
predictions
2026-07-14 14:15:34 -07:00
kyle
0a7f4de321
Merge branch 'style' into development
2026-07-14 00:39:43 -07:00
kyle
e8b7647f3d
styling
2026-07-14 00:39:38 -07:00
kyle
0284b33e50
Merge branch 'style' into development
2026-07-14 00:12:46 -07:00
kyle
d3809b5805
styling
2026-07-14 00:12:39 -07:00
kyle
a50f9b6644
pb
2026-07-13 23:59:10 -07:00
kyle
f77b3a5c41
infinite scroll
2026-07-13 23:57:31 -07:00
kyle
3b087850e7
Merge branch 'perf' into development
2026-07-13 23:56:30 -07:00
kyle
19f61ac454
SSE
2026-07-13 23:56:19 -07:00
kyle
e6c72a5789
more styles
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 1m36s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 8s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m23s
2026-07-12 23:23:14 -07:00
kyle
e9040bb02f
generate sw
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 1m38s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 8s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m24s
2026-07-12 21:51:48 -07:00
kyle
552525d272
remove elevated header
CI/CD Pipeline / Build and Push App Docker Image (push) Failing after 1m16s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 8s
CI/CD Pipeline / Deploy to Kubernetes (push) Has been skipped
2026-07-12 21:43:41 -07:00
kyle
4420e4d0fe
merge
CI/CD Pipeline / Build and Push App Docker Image (push) Failing after 1m54s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 8s
CI/CD Pipeline / Deploy to Kubernetes (push) Has been skipped
2026-07-12 21:30:51 -07:00
kyle
3cc16bdeb2
Merge branch 'style' into development
2026-07-12 21:30:02 -07:00
kyle
48eb7d71b2
Merge branch 'perf' into development
2026-07-12 21:28:46 -07:00
kyle
4f81f3c0ca
style upgrades
2026-07-12 21:26:39 -07:00
kyle
778f0f7994
perf upgrade
2026-07-12 21:26:16 -07:00
kyle
b6085ff329
temp fix
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 1m24s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 8s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m24s
2026-07-12 20:10:56 -07:00
kyle
ec334bbed4
auth fix?
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m55s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 8s
CI/CD Pipeline / Deploy to Kubernetes (push) Failing after 2m36s
2026-07-11 13:11:45 -07:00
kyle
e67f6b073c
ready for regionals
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 8s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 44s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m46s
2026-03-07 01:22:21 -06:00
kyle
74d83da466
center
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 3m12s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 43s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 11s
2026-03-02 01:12:42 -06:00
kyle
299f32a2b7
more pwa
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m51s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 7s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 44s
2026-03-02 01:00:46 -06:00
kyle
fb4f50b851
pwa
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 3m41s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 8s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 44s
2026-03-02 00:49:18 -06:00
kyle
3e5ef04c9f
center text/whitespace prewrap desc
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m59s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 8s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 50s
2026-03-01 23:59:50 -06:00
kyle
c138442530
fix
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 3m0s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 8s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 45s
2026-03-01 21:46:59 -06:00
kyle
8f84dddc64
fix team avatars
CI/CD Pipeline / Build and Push App Docker Image (push) Failing after 2m39s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 16s
CI/CD Pipeline / Deploy to Kubernetes (push) Has been skipped
2026-03-01 20:59:31 -06:00
kyle
9571980898
fix team avatars
2026-03-01 20:20:24 -06:00
kyle
1ce8a6a982
fix team avatars
2026-03-01 20:10:06 -06:00
kyle
f0d8297f34
new badges
2026-03-01 19:58:18 -06:00
kyle
f49234702c
regionals on tournament profile
2026-03-01 19:49:46 -06:00
kyle
f6da7be404
tiebreakers
2026-03-01 19:43:29 -06:00
kyle
c7487e37f2
tiebreakers
2026-03-01 19:41:34 -06:00
kyle
873ca3e4c4
cross mix knockout seeds
2026-03-01 19:36:26 -06:00
kyle
c5b3ad50ca
fixed b2b
2026-03-01 18:04:45 -06:00
kyle
938418cec5
fixed b2b
2026-03-01 17:52:47 -06:00
kyle
5d6136a445
new badges
2026-03-01 17:04:06 -06:00
kyle
9a64f316b9
b2b
2026-03-01 16:30:49 -06:00
kyle
6199afc687
regionals
2026-03-01 16:21:27 -06:00
kyle
f83a7d69c8
groups init
2026-02-25 19:54:51 -06:00
kyle
2dd3e5b170
enrollment polish
2026-02-21 23:30:58 -06:00
kyle
b9e16e2b64
regionals enrollments
2026-02-21 23:12:21 -06:00
kyle
7f60b4d200
idk
2026-02-14 15:46:31 -06:00
kyle
6e9e014fcc
cookie and pwa stuff
2026-02-14 12:59:01 -06:00
kyle
236fcda671
session fixes
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m52s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 11s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 44s
2026-02-09 23:53:54 -06:00
kyle
9ed054e5d0
regionals on tournament form
2026-02-09 23:44:07 -06:00
kyle
63853f22de
regional teams
2026-02-09 23:36:04 -06:00
kyle
5dd41d8022
fix scroll bug
2026-02-09 22:20:00 -06:00
kyle
937758bd49
facehash avatars
2026-02-09 14:31:55 -06:00
kyle
f069ba3827
include supertokens api key
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m5s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 7s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 49s
2026-02-09 12:14:38 -06:00
kyle
70a032db20
more env stuff
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 1m18s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 7s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 41s
2026-02-09 12:07:45 -06:00
kyle
243fb094e1
env
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 1m19s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 7s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 44s
2026-02-09 01:03:30 -06:00
kyle
84202cdbe9
hopefully fix
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 1m16s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 6s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 41s
2026-02-09 00:46:36 -06:00
kyle
6370ebe48a
hopefully fix
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 1m15s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 6s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 43s
2026-02-09 00:42:44 -06:00
kyle
8b271f93ac
hopefully fix
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 1m15s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 7s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 41s
2026-02-09 00:37:01 -06:00
kyle
2326693bfb
hopefully fix
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 1m16s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 6s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 43s
2026-02-09 00:06:47 -06:00
kyle
b209bbf4ef
copy server.ts
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 58s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 6s
CI/CD Pipeline / Deploy to Kubernetes (push) Failing after 5m12s
2026-02-08 23:30:51 -06:00
kyle
c4bf13744c
fix migrations?
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 1m45s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 11s
CI/CD Pipeline / Deploy to Kubernetes (push) Failing after 5m9s
2026-02-08 23:21:21 -06:00
kyle
1e3eaf0c35
server.ts
2026-02-08 23:19:48 -06:00
kyle
d4b52e762b
dist
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 1m47s
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 8s
CI/CD Pipeline / Deploy to Kubernetes (push) Failing after 5m9s
2026-02-08 23:05:31 -06:00
kyle
a4e618f327
fix
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Failing after 16m45s
CI/CD Pipeline / Build and Push App Docker Image (push) Failing after 19m23s
CI/CD Pipeline / Deploy to Kubernetes (push) Has been cancelled
2026-02-08 22:32:54 -06:00
kyle
d1951afb3c
testing cicd
CI/CD Pipeline / Build and Push App Docker Image (push) Failing after 1m30s
CI/CD Pipeline / Deploy to Kubernetes (push) Has been skipped
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 14s
2026-02-08 16:01:21 -06:00
kyle
dce31905fc
fixes
2025-10-18 23:09:57 -05:00
kyle
e58ed86d3b
fixes
2025-10-17 19:22:07 -05:00
kyle
d833e5f1a1
Merge branch 'caro/badges-stats'
2025-10-16 15:41:36 -05:00
kyle
15ed78a9c5
name blurbs, skeleton and link
2025-10-16 15:39:46 -05:00
kyle
470b4ef99c
regionals
2025-10-16 09:12:11 -05:00
kyle
612f1f28bf
skeleton for h2h
2025-10-13 14:18:54 -05:00
kyle
168ef1b05d
restore suspense boundary in stats
2025-10-13 13:00:29 -05:00
kyle
939d1cee90
remove steps
2025-10-11 15:37:37 -05:00
kyle
b59c7cd7b6
fix tabs on stats table
2025-10-11 15:34:12 -05:00
kyle
2ed5ab6026
fix stats table
2025-10-11 15:23:33 -05:00
kyle
d3379e54a4
player h2h
2025-10-11 14:47:03 -05:00
kyle
43972b6a06
match h2h
2025-10-11 13:40:12 -05:00