Skip to content

Move Studio Code Desktop from feature flag to beta flag#3549

Draft
sejas wants to merge 1 commit into
trunkfrom
move-studio-code-to-beta-flag
Draft

Move Studio Code Desktop from feature flag to beta flag#3549
sejas wants to merge 1 commit into
trunkfrom
move-studio-code-to-beta-flag

Conversation

@sejas
Copy link
Copy Markdown
Member

@sejas sejas commented May 20, 2026

Proposed Changes

  • Remove enableStudioCodeUi from the env-based FEATURE_FLAGS registry in apps/studio/src/lib/feature-flags.ts.
  • Add enableStudioCodeUi to BetaFeatures in apps/studio/src/ipc-types.d.ts and register it in apps/studio/src/lib/beta-features.ts (label: "Studio Code Desktop", default off).
  • Switch the consumer in apps/studio/src/components/content-tab-assistant.tsx from useFeatureFlags() to a Redux selector reading state.betaFeatures.features.enableStudioCodeUi.
  • Seed the beta features slice initial state with enableStudioCodeUi: false and update the matching test fixtures in content-tab-settings.test.tsx.
  • Enable the App menu's "Beta Features" submenu when at least one beta feature is registered (previously always disabled).

The ENABLE_STUDIO_CODE_UI env var is no longer wired. Users now toggle Studio Code Desktop from the macOS app menu under WordPress Studio → Beta Features → Studio Code Desktop. The choice persists in ~/.studio/app.json under betaFeatures.

Testing Instructions

  • Start the app with npm start.
  • Open WordPress Studio → Beta Features in the macOS menu bar — the "Studio Code Desktop" item should be present and unchecked by default.
  • Open the Assistant tab on a site — the legacy WPCOM assistant should render.
  • Toggle Studio Code Desktop on; reopen the Assistant tab — the new Studio Code chat UI should render instead.
  • Toggle it back off; the legacy assistant should return.
  • Quit and relaunch the app — the toggle state should persist (verify in ~/.studio/app.json under betaFeatures.enableStudioCodeUi).
  • Confirm ENABLE_STUDIO_CODE_UI=true npm start no longer flips the UI (env var is intentionally removed).

Pre-merge Checklist

  • Have you checked for TypeScript, React or other console errors? (Tests pass, no errors)

@sejas sejas self-assigned this May 20, 2026
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