perf: opt homepage and navbar into React Compiler [Codex] - #1369
jderochervlk wants to merge 4 commits into
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
guide | 40abdfc | Commit Preview URL Branch Preview URL |
Sep 20 2026, 04:38 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. |
f175479 to
8562055
Compare
8562055 to
781073e
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 781073eb2d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
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".
781073e to
2d95442
Compare
2d95442 to
c0c2c79
Compare
0e5fd22 to
6d3abdc
Compare
6d3abdc to
2265f69
Compare
2265f69 to
a56e6fd
Compare
Share a client-only React 19 annotation-mode compiler configuration between Vite and Vitest. Opt in the intro, install instructions and trusted-by components while keeping other modules and SSR uncompiled. Verify source annotations and actual production client/server output, and cover install prop changes and copy behavior. Record the 427-byte gzip JavaScript cost with unchanged requests, CSS and DOM.
Match generated homepage components in both app/routes and src/components. Update compiler fixtures to their actual locations and retain annotation-only, client-only compilation checks and exclusions.
Point the React Compiler contract tests at the homepage interaction components in src/components.
2e3d74f to
ee7f538
Compare
Compile the shared primary navbar and its stable left and right subtrees in client builds. Extend the compiler contract to verify the source transform, production client artifact, and unchanged server boundary.
Complete the initial compiler rollout in #1354 on top of #1367. Enable React Compiler in React 19 annotation mode for generated homepage modules and the shared primary navbar. The intro, install instructions, trusted-by section, and all three
NavbarPrimarycomponent functions opt in with ReScript directives.Vite and Vitest share the client-only preset. Server rendering and other unannotated interactive components remain uncompiled. Artifact checks verify the three compiled homepage components and three compiled navbar functions in the production client while confirming that their server originals stay uncompiled. Browser coverage protects install prop updates, repeated copying, navbar layouts, navigation across shared routes, and lazy search inside the navbar.
Compared with the current #1367 target, initial JavaScript changes from 25 requests / 972,018 raw bytes / 146,252 gzip bytes to 26 requests / 974,368 raw bytes / 147,221 gzip bytes. That is a 2,350-byte raw and 969-byte gzip cost, including one shared compiler-runtime request. CSS remains 45,161 raw / 10,362 gzip bytes and the DOM remains 415 elements.
This deliberately broadens the rollout beyond homepage-only components because the shared navbar receives frequent scroll and navigation renders. Lighthouse remains informational with no score threshold.