From e10f3beed5410c2e790f0df5c26ca9cc0cc38cd3 Mon Sep 17 00:00:00 2001 From: Ilia Denisov Date: Thu, 9 Jul 2026 22:37:30 +0200 Subject: [PATCH] chore(ui): raise the app bundle budget 123->125 for the payment intake rails The wallet order flow plus the Telegram Stars openInvoice / VK order-box launch and the per-button in-flight state ride the always-loaded Wallet screen, which crossed the 123 KB gzip ceiling. Bump to 125 (matching the established feature-driven budget history in the comment) with ~2 KB of headroom. --- ui/scripts/bundle-size.mjs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ui/scripts/bundle-size.mjs b/ui/scripts/bundle-size.mjs index 9ac7e97..6e9f2a9 100644 --- a/ui/scripts/bundle-size.mjs +++ b/ui/scripts/bundle-size.mjs @@ -28,9 +28,11 @@ const DIST = 'dist'; // live in the always-loaded New Game / Game / Lobby screens (the offline engine and the tiny PIN // hashing stay in lazy chunks / are negligible), then to 123 for the Wallet section — its screen, // storefront logic and the catalog codec load with the always-mounted settings hub (its i18n lands -// in the shared chunk). The heavy parts — the dict loader, the move generator and the preload +// in the shared chunk) — and to 125 for the payment intake rails: the wallet order flow, the +// Telegram Stars openInvoice / VK order-box launch and the per-button in-flight state ride the same +// always-loaded Wallet screen. 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: 123, shared: 30, landing: 5 }; +const BUDGET = { app: 125, 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.