perf(ui): deprioritise the dictionary download; drop the lobby prefetch
CI / changes (pull_request) Successful in 3s
CI / unit (pull_request) Successful in 10s
CI / integration (pull_request) Successful in 14s
CI / ui (pull_request) Successful in 58s
CI / conformance (pull_request) Successful in 9s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m27s
CI / changes (pull_request) Successful in 3s
CI / unit (pull_request) Successful in 10s
CI / integration (pull_request) Successful in 14s
CI / ui (pull_request) Successful in 58s
CI / conformance (pull_request) Successful in 9s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m27s
On a slow link (EDGE) the background dictionary download starved the game's own traffic — the board and the move preview stalled behind a 450KB fetch. Fetch the dawg at low priority (Priority Hints; ignored on iOS WebKit, harmless) so the browser schedules it behind the game's requests, and load it only on game open — the lobby no longer prefetches, which was its main competitor for the channel. Evict a cached blob the reader rejects (a stale or partial entry) so it self-heals instead of lingering and re-fetches. Raise the app-entry bundle budget to 110KB (the feature's small in-entry game/debug wiring; the heavy dict code stays lazy).
This commit is contained in:
+4
-3
@@ -429,9 +429,10 @@ enabled on the first, uncached load) and flip in place when an event refreshes t
|
||||
|
||||
## Dictionary warm-up overlay (`components/DictWarmup.svelte`)
|
||||
|
||||
Opening a game whose local move-preview dictionary is not yet in memory shows a
|
||||
brief, non-dismissable warm-up overlay while it loads (the lobby pre-warms the
|
||||
player's ongoing games, so it rarely appears). A darker-than-onboarding scrim covers
|
||||
Opening a game whose local move-preview dictionary is not yet cached shows a brief,
|
||||
non-dismissable warm-up overlay while it downloads (a returning player's cached
|
||||
dictionary loads from IndexedDB in a few ms, so the flash-guard suppresses it then).
|
||||
A darker-than-onboarding scrim covers
|
||||
the board; centred on it, a large emoji cycles through a fixed playful sequence — one
|
||||
per 500 ms tick (300 ms still, then a 200 ms clockwise spin with the current glyph
|
||||
fading out and the next fading in), looping — under a constant "Loading…" caption.
|
||||
|
||||
Reference in New Issue
Block a user