Skip to content

perf(app): defer closed shell overlays - #17

Merged
Itsnotaka merged 1 commit into
mainfrom
daniel/frontend-defer-closed-overlays
Aug 4, 2026
Merged

Itsnotaka merged 1 commit into
mainfrom
daniel/frontend-defer-closed-overlays

Conversation

@Itsnotaka

@Itsnotaka Itsnotaka commented Aug 4, 2026 •

Copy link
Copy Markdown
Contributor

What changed

  • keep shell stores, controllers, hotkeys, and triggers eager while loading Command Menu, Connect Device, Settings, and toast visuals only when requested
  • preserve the permanent popup/card geometry with token-driven loading frames during the first local chunk handoff
  • extend the development startup gate so these four closed visual modules cannot return to the eager graph

Why

These shell-owned components rendered no visible UI during a normal Electron launch, but their full visual trees, icons, QR code path, settings rail, and toast cards were still parsed and compiled at startup.

The first open now pays one local chunk import; subsequent opens use the renderer module cache. State, dismissal, pairing resume, route mounting, and toast timers stay eager.

Performance

  • eager app source: 1,527.9 KiB → 1,470.7 KiB (-3.74%)
  • Electron window creation → ready-to-show median: 6,932 ms → 6,735 ms (-2.84%, three development starts)
  • production initial JS: 3,041,442 B → 2,980,917 B raw (-1.99%); 915,074 B → 901,658 B gzip (-1.47%)
  • process-wide Electron median: 7,849 ms → 7,792 ms (-0.73%); sidecar startup dominates this clock

No release benchmark loop or UI automation was used.

Validation

  • pnpm --filter @honk/app dev:startup-review (0/4 closed visuals eager; Vite started)
  • pnpm --filter @honk/app build
  • 46 focused connect-device/settings tests
  • React Doctor: 92/100, with the existing command-menu manual-memoization warning only
  • focused Oxfmt and Oxlint

Repository-wide checks retain main's existing failures: onboarding-layout.tsx references missing gearColossus, five files exceed the architecture limit, and v2.tsx has design-lint findings. This PR adds no findings to those checks.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@vercel

vercel Bot commented Aug 4, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
honk-marketing Ready Ready Preview Aug 4, 2026 5:22pm

Request Review

@Itsnotaka
Itsnotaka marked this pull request as ready for review August 4, 2026 17:22
@cursor

cursor Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@Itsnotaka
Itsnotaka merged commit ce6909b into main Aug 4, 2026
4 of 5 checks passed
Itsnotaka added a commit that referenced this pull request Aug 6, 2026
@Itsnotaka
Itsnotaka deleted the daniel/frontend-defer-closed-overlays branch August 6, 2026 05:46

This branch was successfully deployed

1 active deployment
Preview — 0f9b4ea4 Deployed Aug 4, 2026 by vercel[bot]
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