Contents
PR Summary
What problems was I solving
Users with enabled custom components could not author new components via a Studio UI integrated under the Media Library. Previous attempt (PR #4052) relied on outdated ARC-1816 patterns and required direct Studio navigation.
What user-facing changes did I ship
Added Custom Component Studio under Media Library route paths /page-setup/assets/custom-components/new and :componentId, including chat-powered component authoring, live preview with theme support, version history, and create/publish flows. When the tenant feature flag custom-components-enabled is off, direct Studio visits redirect to Media Library.
How I implemented it
Rebuilt from clean state with V3 patterns. Backend added async authoring schema (StartCustomComponentProposal, GetCustomComponentProposalResult) and Redis result store for pending/ready/failed states. Web-service added new Redis connection and tRPC endpoints (start/poll/stream). ViewModel layer added proposal actions, asset URL resolution, and feature flag integration. Frontend built custom component pages, omnibar, preview panel, chat panel, theme selector, and shared UI primitives. All changes are feature-flag gated and routed through Media Library, dropping older slide-over Advanced panel UI and dynamic package loading.
Description for the changelog
Custom Component Studio now lives under Media Library at /page-setup/assets/custom-components/new and :componentId. Users can use AI-powered chat to author React components with live preview, brand theme adaptation, validation, and publish workflows. Feature-gated to custom-components-enabled tenant flag; when disabled, direct Studio URLs redirect to Media Library. Added async authoring support with proposal start/poll/result workflows and reasoning streaming.