feat(dashboard): add Devbox deprecation banner and blocking modal#8892
Open
christianalfoni wants to merge 6 commits into
Open
feat(dashboard): add Devbox deprecation banner and blocking modal#8892christianalfoni wants to merge 6 commits into
christianalfoni wants to merge 6 commits into
Conversation
Mirror the branch-creation deprecation pattern for Devboxes (v2 sandboxes), behind a new server-provided blockDevboxCreation team feature flag: - Add blockDevboxCreation to the TeamFeatureFlags GraphQL type, fragments, and the useWorkspaceFeatureFlags hook - Show a DevboxDeprecationStripe warning banner on the Recent and Sandboxes dashboard pages when the flag is set - Add a devboxCreationDeprecated modal (close-only, mirroring the banner copy) - Guard the forkSandbox action: when creating or forking a Devbox (body.v2) with the flag set, open the deprecation modal instead of forking - Pass v2: sandbox.isV2 from the SandboxMenu fork entry points so forking an existing Devbox is caught by the action guard Copy intentionally omits a removal date (TBD) and uses a placeholder docs link. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Review or Edit in CodeSandboxOpen the branch in Web Editor • VS Code • Insiders |
Showing the deprecation modal from the forkSandbox action while the Create modal was open just closed the Create modal (modals can't stack), so creating a Devbox appeared to silently do nothing. Instead, surface the deprecation banner inline in the Create form when the Devbox runtime is selected and disable the Create button while the blockDevboxCreation flag is set. The forkSandbox action guard remains as the block for the dashboard "Fork" context-menu path. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
devboxDeprecated referenced blockDevboxCreation before its const declaration, causing a 'Cannot access before initialization' (TDZ) runtime error when the Create modal mounted. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Importing DevboxDeprecationStripe from the app/pages/Dashboard tree into the Create component risked a circular-init error that only surfaced when the banner rendered (on selecting Devbox). Inline the MessageStripe directly in CreateBoxForm instead. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…x option When blockDevboxCreation is set, show the deprecation banner at the top of the Create form immediately (regardless of selected runtime) and disable the Devbox runtime card outright with a short note. The Create button stays disabled for Devbox-only templates that can't fall back to Sandbox. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
necoline
previously approved these changes
Jun 17, 2026
…docs Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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
Adds a deprecation banner for Devboxes in the dashboard and a blocking modal when creating or forking a Devbox, mirroring the branch-creation deprecation pattern from #8890.
Everything is gated behind a new server-provided team feature flag
blockDevboxCreation(expected server flagblock_devbox_creation, matching theblockBranchCreationprecedent).Changes
blockDevboxCreationto theTeamFeatureFlagsGraphQL type, dashboard fragments, and theuseWorkspaceFeatureFlagshookDevboxDeprecationStripewarning stripe shown on the Recent and Sandboxes dashboard pages when the flag is setdevboxCreationDeprecated(close-onlyAlert, same copy as the banner)forkSandboxopens the deprecation modal instead of forking when creating/forking a Devbox (body.v2) with the flag set. Regular v1 Sandboxes are unaffected.v2: sandbox.isV2from theSandboxMenufork entry points so forking an existing Devbox is caught by the guardhttps://codesandbox.io/docs) — swap in the real migration guide URL.blockDevboxCreationonTeamFeatureFlags. If the server also enforces the block (likeBRANCH_CREATION_DISABLEDfor branches), we should add equivalent error-code handling inforkSandboxas a backstop.Test plan
tsc --noEmitpasses cleanblockDevboxCreationenabled: banner appears on Recent + Sandboxes pages🤖 Generated with Claude Code