Precompute install-audience flag for the hero switcher#366
Merged
Conversation
The home hero's "For humans / For agents" tab was tracked in React state, so every reload snapped back to the default tab and broke the "page is static without layout shift" promise. Model it as a precomputed flag like the other hero flags: - Add `installAudienceFlag` (`'humans' | 'agents'`, cookie key `install-audience`, default `'agents'`) and include it in `rootFlags` so `generatePermutations` covers both variants - Read the flag on the server and publish it via `FlagValues` - New `InstallCommand` client wrapper renders `CommandPromptRoot` with the server value and, on click, writes the cookie + calls `router.refresh()` (optimistic override pattern mirroring `FlagToggle`) Result: the proxy's `precompute(rootFlags)` reads the cookie, rewrites to the matching `[code]`, and SSR renders the correct tab from the start — reloads stay on the user's choice with no client-only state. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
dferber90
approved these changes
Apr 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The home hero's "For humans / For agents" tab was held in
useState, so every reload snapped back to the default tab. This PR models the tab as a precomputed flag like the other hero flags.Changes
flags.ts— new `installAudienceFlag` (`'humans' | 'agents'`, cookie key `install-audience`, default `'agents'`), added to `rootFlags` so `generatePermutations` covers both variants (2× permutations, cheap).