perf(homepage): load DocSearch on demand [Codex] - #1363
jderochervlk wants to merge 6 commits into
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
guide | dfbf20e | Commit Preview URL Branch Preview URL |
Sep 20 2026, 02:45 PM |
Lighthouse baselineCompared with target branch
Download the full Lighthouse reports and baseline Commit |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
6d319d3 to
4418ff3
Compare
4418ff3 to
c1d7faf
Compare
c1d7faf to
1cdb31e
Compare
1cdb31e to
bb92c6e
Compare
|
Codex Review: Didn't find any major issues. Already looking forward to the next diff. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
9e8f73d to
27bb609
Compare
27bb609 to
d971839
Compare
d971839 to
ebe20e5
Compare
Defer search implementation, insights, and CSS until activation while preserving keyboard navigation, focus restoration, and error recovery. Cover the production loading boundaries and record the lower initial asset byte budgets with three additional shared JavaScript requests.
Keep asset, keyboard, result navigation, pending cancellation, and failed-chunk recovery assertions. Accept only the explicitly expected lazy-import console error. Addresses PR #1355 comment 4054821928.
Return a deterministic empty search response for the keyboard-only Cypress scenario and await it before closing the modal. Keep uncaught errors fatal and all interaction assertions unchanged.
Use the supported Array.join API under warning-as-error compilation.
The lazy search flow can navigate from the homepage to documentation containing YAML fences before the later highlighting-boundary refactor. Register the existing YAML grammar at the current root boundary so this PR and its immediate descendant remain independently valid.
Replace the JavaScript search spec and fixture with typed ReScript, parsed JSON fixtures, and shared ReScript helpers.
ebe20e5 to
dfbf20e
Compare
Search currently contributes its modal, result rendering, analytics, and styling to every initial homepage load. This layer of #1354 moves those dependencies behind search activation.
The search button and shortcuts remain immediately available. A small loading/error boundary supports closing pending or failed downloads, restores focus, and preserves search-result navigation. The modal stylesheet loads with its component; the unused global utilities stylesheet is removed.
Initial compressed JavaScript falls from 273,627 to 164,222 bytes (40%), and CSS from 14,906 to 13,086 bytes (12%). Vite extracts three additional shared JavaScript chunks, increasing initial JS requests from 20 to 23; CSS requests fall from three to two. The asset budgets record these exact measured tradeoffs, with the homepage DOM unchanged at 409 elements.
Stacked on #1362. Lighthouse remains informational and compares the deployed preview with its target branch.