First CSS under budget (#327) #526

Closed
kayg wants to merge 0 commits from issue/327-css-budget into dev
Owner

First CSS under budget (#327). The budget is not changed.

What changed: the sheets (Insert, Style, Note info, Move to, Link to), the search palette and Settings are lazy chunks with their own styles (apps/web/src/lib/lazy.ts). They are fetched when the app goes idle after sign-in. Nothing else moved; no rule was edited.

First CSS (what perf/web.sh measures, brotli): 22.8 KB -> 19.4 KB (budget 22.1). Gzip 26.6 -> 22.1 KB, raw 139 -> 109 KB. First JS 227.6 -> 222 KB. All JS 259.6 KB against 260: this is tight, the split costs some extra chunk overhead.

New test: apps/web/e2e/lazy-styled.spec.ts opens every lazy sheet, search, a menu and Settings and checks nothing changes look between its first frame and rest.

Look specs (phone-bars, phone-edges, links-look, glass, contrast, link-contrast) all pass on chromium-390, chromium-1440 and webkit-390. Numbers are in the #327 comment.

First CSS under budget (#327). The budget is not changed. What changed: the sheets (Insert, Style, Note info, Move to, Link to), the search palette and Settings are lazy chunks with their own styles (`apps/web/src/lib/lazy.ts`). They are fetched when the app goes idle after sign-in. Nothing else moved; no rule was edited. First CSS (what `perf/web.sh` measures, brotli): 22.8 KB -> 19.4 KB (budget 22.1). Gzip 26.6 -> 22.1 KB, raw 139 -> 109 KB. First JS 227.6 -> 222 KB. All JS 259.6 KB against 260: this is tight, the split costs some extra chunk overhead. New test: `apps/web/e2e/lazy-styled.spec.ts` opens every lazy sheet, search, a menu and Settings and checks nothing changes look between its first frame and rest. Look specs (phone-bars, phone-edges, links-look, glass, contrast, link-contrast) all pass on chromium-390, chromium-1440 and webkit-390. Numbers are in the #327 comment.
First CSS under budget: sheets, search and Settings load on demand (#327)
Some checks failed
CI / server (pull_request) Successful in 30s
CI / rust (pull_request) Successful in 2m31s
CI / web (pull_request) Failing after 43m14s
529f7448c3
The sheets (Insert, Style, Note info, Move to, Link to), the search palette and Settings are now
lazy chunks with their own styles. First CSS 22.8 KB -> 19.4 KB brotli, first JS 227.6 -> 222 KB.
They are fetched when the app goes idle after sign-in, so opening one is instant.
A new test checks each is styled on its first frame.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Author
Owner

Landed in train y, #565.

Landed in train y, #565.
kayg closed this pull request 2026-10-17 20:10:17 +00:00
Some checks failed
CI / server (pull_request) Successful in 30s
CI / rust (pull_request) Successful in 2m31s
CI / web (pull_request) Failing after 43m14s

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal!526
No description provided.