Skip to content

Spork Android android-20260728204111

Choose a tag to compare

@github-actions github-actions released this 28 Jul 20:41
· 6 commits to main since this release
8597c0e
perf(routes): lazy-load every game screen to halve first-load JS (#32)

Only ChessAttack was code-split; every other game's list + play screen was
eagerly imported into the main bundle, so a visitor landing on Home downloaded
all eight game engines (the Quizzes/map renderer, Wordle's word list, etc.)
before seeing anything. Now each game route is lazy-loaded behind the shared
LazyRoute Suspense boundary — a visitor pulls only the chunk for the game they
open.

- Main `index` chunk: 795 kB → 408 kB raw (249 kB → 120 kB gzip), a 52% cut to
  first-load JS. The heavy renderers (Quizzes Play 243 kB, Wordle 107 kB) now
  load on demand.
- Preserves the IonRouterOutlet contract: gameRoutes() still returns an ARRAY of
  direct <Route> elements (the GameRoutes regression guard still passes), with a
  small gameRoute() helper wrapping each lazy component in LazyRoute.
- Harden three flaky game e2e steps (steps/quizzle/acrostic): accumulated daily
  puzzles can share a topic with the static seed but have different content, so
  target the static seed (UUID href), not a `daily-*` one, disambiguating the
  strict-mode match the topic filter otherwise hit.