diff --git a/ui/scripts/bundle-size.mjs b/ui/scripts/bundle-size.mjs index 2cf27c9..75f7f9e 100644 --- a/ui/scripts/bundle-size.mjs +++ b/ui/scripts/bundle-size.mjs @@ -20,12 +20,12 @@ import { join } from 'node:path'; const DIST = 'dist'; // Per-chunk gzip budgets in KB. The app entry was raised to 110 for the local move-preview -// wiring, to 112 for the PWA install feature, then to 113 for the offline-mode wiring: the -// dictionary-preload trigger and the offline-state reactives live in the app entry (the Header -// reads them, the lobby/profile screens fire the trigger), while the heavy parts — the dict -// loader, the move generator and the preload orchestration — stay in lazy chunks. Scoped CSS -// lands in the CSS chunk, not this JS budget. -const BUDGET = { app: 113, shared: 30, landing: 5 }; +// wiring, to 112 for the PWA install feature, to 113 for the offline-mode wiring, then to 114 for +// the offline auto-detect: the cold-start reachability check and the "no connection" dialog live in +// the boot path (app.svelte.ts / the App shell), which cannot be lazy-loaded. The heavy parts — the +// dict loader, the move generator and the preload orchestration — still stay in lazy chunks. Scoped +// CSS lands in the CSS chunk, not this JS budget. +const BUDGET = { app: 114, shared: 30, landing: 5 }; // gzipped returns the gzipped byte size of a built asset, or 0 when the reference is not a // local file (e.g. the Telegram SDK loaded from a CDN) or is missing. diff --git a/ui/src/App.svelte b/ui/src/App.svelte index 39bd17e..734fd81 100644 --- a/ui/src/App.svelte +++ b/ui/src/App.svelte @@ -1,7 +1,7 @@