Skip to content

Lazy-load Client List stylesheet#1337

Merged
elkimek merged 1 commit into
mainfrom
agent/lazy-load-client-list-stylesheet
Jul 24, 2026
Merged

Lazy-load Client List stylesheet#1337
elkimek merged 1 commit into
mainfrom
agent/lazy-load-client-list-stylesheet

Conversation

@elkimek

@elkimek elkimek commented Jul 24, 2026

Copy link
Copy Markdown
Owner

What changed

  • replace the eager Client List stylesheet link with an ordered lazy-load anchor
  • load css/client-list.css on the first Client List open, single-flight concurrent opens, and retry safely after failures
  • keep the stylesheet in the service-worker app shell for offline first use
  • add real shell-entry, concurrency, retry, cold-load, and Firefox offline coverage
  • ratchet the committed cold-load budget and bump the app version

Why

Client List is not visible during a returning-user startup, but its 17.5 KB stylesheet was fetched on every cold load. Deferring it to the feature boundary removes startup work without making the module itself lazy or changing its shell/profile/location integrations.

Impact

Identical before/after cold mobile runs reduced startup from 441 to 440 requests, 1,857,409 to 1,854,314 compressed bytes, and 5,650,563 to 5,635,229 decoded bytes. The modal now waits for its CSS before opening; a failed load is contained and the next open retries.

Validation

  • COVERAGE=1 PORT=8271 ./run-tests.sh
  • 487 Vitest tests passed
  • 399 Chromium tests passed
  • 472 responsive checks passed
  • Firefox offline smoke: 3 passed
  • audit: 338 passed
  • combined function coverage: 67.11% (ratchet: 67.10%)
  • cold-load budget reproduced exactly: 440 requests / 1,854,314 compressed / 5,635,229 decoded

@elkimek
elkimek marked this pull request as ready for review July 24, 2026 08:29
@elkimek
elkimek merged commit 758ce3f into main Jul 24, 2026
3 checks passed
@elkimek
elkimek deleted the agent/lazy-load-client-list-stylesheet branch July 24, 2026 08:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant