Skip to content

Agentic UI: Show "What's New" - #4414

Open
bcotrim wants to merge 9 commits into
stu-2016-add-orientation-guidefrom
stu-1988-port-whats-new-tour-to-agentic-ui
Open

Agentic UI: Show "What's New"#4414
bcotrim wants to merge 9 commits into
stu-2016-add-orientation-guidefrom
stu-1988-port-whats-new-tour-to-agentic-ui

Conversation

@bcotrim

@bcotrim bcotrim commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Related issues

How AI was used in this PR

Claude wrote the code, taking legacy UI as the baseline. I manually reviewed and tested it.

Proposed Changes

The "What's New" announcements now appear in the agentic UI.

Light Dark
image image

Testing Instructions

  1. Edit ~/.studio/app.json and remove lastSeenVersion
  2. npm start
  3. What's new should be displayed
  4. Closing the app and restarting should not show What's new again
  5. Navigate to the menu Help —> What's new and confirm the modal is shown again
  6. Test in both light and dark modes

Pre-merge Checklist

  • Have you checked for TypeScript, React or other console errors?

@bcotrim bcotrim changed the title Show the What's New announcements in the agentic UI Agentic UI: Show "What's New" Aug 6, 2026
bcotrim added 3 commits August 6, 2026 10:45
…into stu-1988-port-whats-new-tour-to-agentic-ui

# Conflicts:
#	apps/ui/src/components/onboarding-guide/index.tsx
#	apps/ui/src/components/onboarding-guide/style.module.css
@bcotrim
bcotrim marked this pull request as ready for review August 6, 2026 11:06

@katinthehatsite katinthehatsite left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally, it worked well: I tested in the dark and light modes as well as RTL. I am wondering if we can make the controls transition a bit smoother though as it feels somewhat abrupt:

Screen.Recording.2026-08-06.at.2.33.02.PM.mov

What do you think?

@bcotrim

bcotrim commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

@katinthehatsite nice catch!
I've pushed some changes to make it look better, can you take another look, please?

@katinthehatsite

Copy link
Copy Markdown
Contributor

@katinthehatsite nice catch!
I've pushed some changes to make it look better, can you take another look, please?

Looking again

alreadyStarted: boolean;
}

// 'show' opens the announcements; 'mark-seen' records them without showing.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the type below is already self-explanatory

if ( ! decision ) {
return;
}
// Mark started immediately so a dependency change can't schedule twice.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can also clean this up as this seems to be a somewhat standard pattern

@katinthehatsite katinthehatsite left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this looks good to go, I left a couple of minor comments regarding cleanup. Otherwise approving 👍

@sejas sejas left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I just found that the web version (studio ui) will show the what's new modal once. I wonder if this is a good opportunity to improve the logic.

I suggest using a positive integer instead of FORCE_SHOW_WHATS_NEW. So each time we want to display the modal we could bump that constant that would be saved in localStorage or appData to identify if that what's new modal was shown or not. But that could be a separate PR as this PR is currently working.

Comment on lines +20 to +21
/* The artwork is wider than the slot on a narrow viewport; crop rather than
letterbox so the header never shows bars. */

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could consider removing some comments like this one.

useEffect( () => {
return connector.onShowWhatsNew( () => {
openGuide( getWhatsNewGuide(), {
onEnd: () => saveLastSeenVersion.mutate( versionRef.current ?? 'browser' ),

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could re-use the BROWSER_VERSION constant.

Suggested change
onEnd: () => saveLastSeenVersion.mutate( versionRef.current ?? 'browser' ),
onEnd: () => saveLastSeenVersion.mutate( versionRef.current ?? BROWSER_VERSION ),

const saveLastSeenVersion = useSaveLastSeenVersion();
const { isOpen, openGuide } = useOnboardingGuide();

const currentVersion = appGlobals?.appVersion ?? BROWSER_VERSION;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think having a fixed BROWSER_VERSION will display the What's new modal only once in the browser as new versions will still use the same fixed version browser. Maybe that's fine, but then we might need to set the correct expectations.

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.

3 participants