Agentic UI: Rework the signed-out Studio Code prompt into a feature carousel with animated demos - #4767
Conversation
…w-we-encourage-users-to-log-in-with-their-dotcom # Conflicts: # apps/ui/src/components/site-overview-view/index.test.tsx
…ate API The signed-out carousel never advanced under reduced motion, could skip a slide when paused near the end, kept a stale progress ring on dots it had left, and ignored a click on the already-active dot after a scrub. Pausing was also mouse-only, though the deck auto-advances and loops. The two new demo scenes reached ThemeProvider through unlock( privateApis ), which is deprecated in @wordpress/theme 2.0 and logged on every render. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signing in from the signed-out prompt left the feature carousel on screen until the user switched to another site and back. Two things kept it there. The auth listener removed the user query and invalidated it, but a sign-in can land while the first lookup is still in flight — the removal dropped the refetch and the stale request settled the cache with the pre-login answer. And the prompt watched for a signed-out to signed-in transition, which it never saw, because the reason for disabled agentic features dips through "auth pending" on the way. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
wojtekn
left a comment
There was a problem hiding this comment.
@shaunandrews it looks good in general. I fixed some minor issues and improved edge-case handling.
I'm wondering if we should make it a bit less aggressive:
- the carousel state resets when switching sites - both the progress and the play/pause state. If you pause and switch sites, it starts playing again. Should we move that state above so it survives?
- Should the carousel stop after one full pass? Right now it loops indefinitely. Stopping would be calmer, but someone who looks away may miss part of the carousel.
CC @Poliuk
📊 Performance Test ResultsComparing 7d5785b vs trunk app-size
site-editor
site-startup
Results are median values from multiple test runs. Legend: 🟢 Improvement (faster) | 🔴 Regression (slower) | ⚪ No change (<50ms diff) |
|
I've been testing it. I like the approach, but I share @wojtekn's concerns about the carousel being infinite. To fix it, I propose letting users dismiss the carousel so they can return to the site overview (which is still accessible from the icon next to the Site name in the sidebar, but I don't think that's enough). I think a "skip" button in the top-right corner should be enough. Ideally, we shouldn't show the carousel again on the specific sites the user has already pressed "skip" on. I would also change the "Your Personal WordPress Expert" H1, we could re-use the same one we display in the Classic UI: Other than that, LGTM |
|
Looking good.
Let's not introduce a new concept, "agentic chat"; I think we can use "Studio Code" instead: "Turn on Studio Code". WDYT? |




Related issues
How AI was used in this PR
Proposed Changes
useTimeline(onboarding illustrations) gained an optional host-drivenplayback(pause, restart, seek, progress, end) — the onboarding guide's scenes are unchanged.Testing Instructions
Log outin App settings), open a site, and go to the chat view: the prompt replaces the composer.npm test -- apps/ui/src/components/agentic-signin-banner apps/ui/src/components/onboarding-guidePre-merge Checklist