kyle
dbfda83e14
Update src/features/login/hooks/use-create-user.ts
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 9s
CI/CD Pipeline / i18n Catalog Check (push) Successful in 37s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m44s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m30s
2026-09-21 12:15:47 -05:00
kyle
8fde1c9362
Update src/features/login/hooks/use-consume-code.ts
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 9s
CI/CD Pipeline / i18n Catalog Check (push) Successful in 43s
CI/CD Pipeline / Deploy to Kubernetes (push) Canceled after 0s
CI/CD Pipeline / Build and Push App Docker Image (push) Canceled after 12s
2026-09-21 12:15:00 -05:00
kyle
9febb8bb60
remove slide animation, use pill instead
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 9s
CI/CD Pipeline / i18n Catalog Check (push) Successful in 38s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m11s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m31s
2026-09-14 00:53:24 -07:00
kyle
a754fc0282
match cards h2h margins
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 11s
CI/CD Pipeline / i18n Catalog Check (push) Successful in 37s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m11s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m30s
2026-09-11 11:53:27 -07:00
kyle
6f17a5d4a8
slide animation
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 7s
CI/CD Pipeline / i18n Catalog Check (push) Successful in 44s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m10s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m31s
2026-09-11 10:28:45 -07:00
kyle
9ed3f7169e
slide animation
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 13s
CI/CD Pipeline / i18n Catalog Check (push) Successful in 31s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 3m25s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m29s
2026-09-11 08:32:42 -07:00
kyle
c4a9d47180
slide animation
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 14s
CI/CD Pipeline / i18n Catalog Check (push) Successful in 33s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 3m27s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m28s
2026-09-10 22:21:16 -07:00
kyle
8971748d5c
i18n: refresh catalog line references
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 9s
CI/CD Pipeline / i18n Catalog Check (push) Successful in 36s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m7s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m27s
2026-08-30 14:33:50 -05:00
kyle
0ac6636d08
h2h icon
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 16s
CI/CD Pipeline / i18n Catalog Check (push) Failing after 35s
CI/CD Pipeline / Build and Push App Docker Image (push) Skipped
CI/CD Pipeline / Deploy to Kubernetes (push) Skipped
2026-08-30 13:05:47 -05:00
kyle
f6faf97cdf
develpoer role
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 10s
CI/CD Pipeline / i18n Catalog Check (push) Successful in 43s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m14s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m29s
2026-08-30 12:36:28 -05:00
kyle
6bb3ee4bc7
fix: render local-timezone dates client-side only
...
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 14s
CI/CD Pipeline / i18n Catalog Check (push) Successful in 37s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m10s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m28s
- started-tournament header and tournament list formatted times in the
server timezone during ssr, mismatching hydration on every load
2026-08-27 14:14:03 -07:00
kyle
7bda138d69
feat(telemetry): matchup and direction context in timelines; live error groups
...
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 9s
CI/CD Pipeline / i18n Catalog Check (push) Successful in 47s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m18s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m29s
- h2h_viewed carries who-v-who, stats_sorted carries asc/desc via a
timeline-only context prop
- error browser aggregates raw rows so new groups appear immediately
- catalogs re-extracted for shifted line references
2026-08-27 10:47:57 -07:00
kyle
9b51d61519
i18n: refresh catalog line references
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 8s
CI/CD Pipeline / i18n Catalog Check (push) Successful in 42s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m8s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m28s
2026-08-27 10:32:14 -07:00
kyle
8e42862d20
fix(telemetry): review nits
...
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 8s
CI/CD Pipeline / i18n Catalog Check (push) Failing after 49s
CI/CD Pipeline / Build and Push App Docker Image (push) Skipped
CI/CD Pipeline / Deploy to Kubernetes (push) Skipped
- dock h2h source corrected to match_dock; badge_viewed breakdown via value
- stats filter guards unified, ref-based, double-tap safe
- emoji picker reuses handleReactionClick; comment and import tidy
2026-08-26 23:19:45 -07:00
kyle
f593b2c7b8
feat(telemetry): product interaction events
...
- h2h_viewed from match card, dock, profile, stats, predictions
- reaction_sent with emoji and surface; score_report_opened from all
three report entry points
- stats_filtered and stats_sorted on stats route and profile
- rules/teams/players/bracket/tournament view events with sources
- match_history_viewed, badge_viewed, player_searched (count only)
2026-08-26 23:04:36 -07:00
kyle
fc65fdb451
feat(telemetry): resolve profile and team names in session timelines
2026-08-26 22:56:11 -07:00
kyle
8171354e2a
feat(telemetry): generic event aggregates and usage range presets
...
- rollups emit event.count (dim name) and event.detail.count (dim name|detail
from props.source/emoji/tournament)
- usage screen: events section with tap-through breakdown; 7d/30d/180d/custom
date-range presets
2026-08-26 22:53:58 -07:00
kyle
cb16d9757e
fix(telemetry): idle-based session rotation; faster sse keepalive
...
- session id rotates after 30 idle minutes so installed pwas produce
visit-sized sessions instead of one eternal id
- sse ping every 8s, under the idle timeout observed killing streams
2026-08-26 22:43:25 -07:00
kyle
96d5535293
fix: countdown hydration mismatch; rate-limit sse-error session refreshes
...
- suppressHydrationWarning on countdown time text (server second differs
from client second; first tick corrects)
- sse reconnects attempt a session refresh at most once per minute so a
flaky stream cannot hammer the refresh endpoint
2026-08-26 22:41:05 -07:00
kyle
f5b49d49ee
code fix
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 13s
CI/CD Pipeline / i18n Catalog Check (push) Successful in 42s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m8s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m28s
2026-08-26 20:33:13 -07:00
kyle
fd45ba1112
Merge branch 'admin-telemetry-redesign' into development
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 10s
CI/CD Pipeline / i18n Catalog Check (push) Successful in 44s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 3m0s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m27s
2026-08-26 19:14:00 -07:00
kyle
f13e5b752a
refactor(enrollment): drop count header, keep player-count warnings
2026-08-26 19:12:33 -07:00
kyle
4106c3c846
fix(build): keep supertokens server init out of the client module graph
...
- ensureSuperTokensBackend moved to the health route handler; the dynamic
imports in exclusions and alerts dragged recipes into the client build
2026-08-26 18:58:31 -07:00
kyle
044e573933
Merge branch 'admin-telemetry-redesign' into development
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 19s
CI/CD Pipeline / i18n Catalog Check (push) Successful in 41s
CI/CD Pipeline / Build and Push App Docker Image (push) Failing after 51s
CI/CD Pipeline / Deploy to Kubernetes (push) Skipped
2026-08-25 23:36:10 -07:00
kyle
3d8ee52a15
feat(telemetry): opt-in admin alert pushes
...
- telemetryAlerts metadata flag, admin-gated server fn
- alerts sent only to admins with the flag enabled
- settings toggle visible to admins only, under device notifications
2026-08-25 23:33:01 -07:00
kyle
1ddcffc511
fix(telemetry): review findings
...
- wau/mau trailing scans run hourly and on day finalization, not every tick
- exclusion lookup failures cached 30s so an st outage cannot amplify
- unverified relation filter dropped; player emptiness checked in js
- anonymous unauthenticated read failures no longer logged
- alerts and exclusions ensure supertokens init on cold pods
2026-08-25 23:26:34 -07:00
kyle
31f6237446
refactor(admin): drop status strip from dashboard; full-bleed usage tab
...
- admin home is tournament section + tools list only
- usage route matches sibling tabs (fullWidth, no shell padding); screen
pads its own content so the tab bar stays flush
2026-08-25 23:22:21 -07:00
kyle
6dff5f19c1
chore(k8s): optional telemetry_exclude_phones secret env
2026-08-25 23:04:31 -07:00
kyle
9f5fac2753
feat(telemetry): exclude configured phones from usage telemetry
...
- TELEMETRY_EXCLUDE_PHONES resolves to player ids at runtime, cached 10m
- excluded players write no activities, client events, or vitals
- their client errors are still captured
2026-08-25 23:04:14 -07:00
kyle
c05bdec252
fix(sheet): native scroll container so vaul drag detection works
2026-08-25 22:59:00 -07:00
kyle
e4d1ba720a
feat(telemetry): session journey view replaces raw events table
...
- sessions listed from client_events grouped by session id (7d window)
- timeline sheet merges page views, client events, errors, and server-fn
activities joined by player within the session window
- vitals excluded from timelines; gap markers over 5 minutes
2026-08-25 22:56:09 -07:00
kyle
5d7747839c
refactor(telemetry): text-only list empty states, distinct p50/p95 series
...
- paginated-list empty prop is a plain string, no icon block
- second sparkline series drawn in dimmed color; area disabled on dual charts
- duration legend shows latest p50/p95 values
2026-08-25 22:38:45 -07:00
kyle
fd0489a22f
refactor(telemetry): chart scale labels, calmer vitals and error styling, usage-first tabs
...
- sparklines get start/end date and max-value footers
- vitals rating shown by value color instead of badges
- error rows use plain counts, subtle resolve button, terse empty state
- telemetry tab order: usage, players, functions, events, errors; usage is default
2026-08-25 22:35:16 -07:00
kyle
7ea189aa61
fix(telemetry): stop logging beacon requests as activities
2026-08-25 22:26:54 -07:00
kyle
1cc75591fa
refactor(admin): align admin ui with app design language
...
- dashboard: card grid replaced by status strip + nav-tile section + list
- nav-tile promoted to shared component
- stat tiles and usage screen de-carded, sections divided like settings
- hub run tournament back to a list row
- telemetry link restored in tools list
2026-08-25 22:24:36 -07:00
kyle
895737febc
style: trim comments to load-bearing invariants only
2026-08-25 22:13:41 -07:00
kyle
5e9d030297
fix(telemetry): enable client tracking in dev
2026-08-25 22:11:09 -07:00
kyle
2b02de2193
fix(telemetry): start scheduler from admin dashboard too, not only health probes
2026-08-25 22:09:08 -07:00
kyle
13481936f0
feat(start): csrf middleware for server functions
2026-08-25 22:05:25 -07:00
kyle
603d5a6f7f
i18n: translate telemetry and admin strings for de/es/ja
2026-08-25 21:58:59 -07:00
kyle
eb3dbe048b
i18n: extract catalogs for telemetry and admin redesign strings
2026-08-25 21:54:51 -07:00
kyle
4af4a65527
bug
CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 8s
CI/CD Pipeline / i18n Catalog Check (push) Successful in 30s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m3s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m27s
2026-08-25 21:54:50 -07:00
kyle
a52872bea8
feat(admin): dashboard home, telemetry section, enrollment ops screen
...
- mission-control dashboard: now strip, tournament quick actions, usage
sparklines, error feed, live activity, tools list
- /admin/telemetry with functions/events/errors/players/usage child routes,
hand-rolled svg chart primitives, decomposed activities table
- error browser with grouping and mark-resolved
- consolidated per-tournament enrollment screen; hub simplified with
run tournament promoted
- /admin/activities redirects to /admin/telemetry/functions
2026-08-25 21:54:21 -07:00
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