From 8f070e6dcfce9496342ffed09a7daee750d478d4 Mon Sep 17 00:00:00 2001 From: brennanb2025 Date: Sun, 7 Jun 2026 15:45:41 -0700 Subject: [PATCH] Start the browser contextual tour when the tab opens, including blank tabs. Co-authored-by: Orca --- mock-browser-contextual-tour-step3.html | 2 +- src/renderer/src/components/browser-pane/BrowserPane.tsx | 8 +------- .../contextual-tours/browser-tour-mock.generate.test.ts | 2 +- src/shared/feature-interactions.ts | 2 +- 4 files changed, 4 insertions(+), 10 deletions(-) diff --git a/mock-browser-contextual-tour-step3.html b/mock-browser-contextual-tour-step3.html index c1183fab274..b1549122649 100644 --- a/mock-browser-contextual-tour-step3.html +++ b/mock-browser-contextual-tour-step3.html @@ -357,7 +357,7 @@
When does this show?
    -
  • First time a new user opens the in-app browser on a loaded local page (not a blank tab, not a remote/SSH runtime browser).
  • +
  • First time a new user opens an in-app browser tab on a local desktop browser (not a remote/SSH runtime browser).
  • Only once per profile, and only one contextual tour per session.
  • Step 3 is the last step — it appears after Next on step 2. In production, advancing to step 3 would open the ··· menu automatically.
diff --git a/src/renderer/src/components/browser-pane/BrowserPane.tsx b/src/renderer/src/components/browser-pane/BrowserPane.tsx index 2cee57f37b6..7e7606933d8 100644 --- a/src/renderer/src/components/browser-pane/BrowserPane.tsx +++ b/src/renderer/src/components/browser-pane/BrowserPane.tsx @@ -721,9 +721,6 @@ export default function BrowserPane({ const setBrowserPageUrl = useAppStore((s) => s.setBrowserPageUrl) const runtimeEnvironmentActive = Boolean(activeRuntimeEnvironmentId?.trim()) const activeBrowserPageId = activeBrowserPage?.id ?? null - const activeBrowserPageIsBlank = - !runtimeEnvironmentActive && - (activeBrowserPage?.url === 'about:blank' || activeBrowserPage?.url === ORCA_BROWSER_BLANK_URL) const browserPageIds = useMemo(() => browserPages.map((page) => page.id), [browserPages]) const automationVisiblePageIds = useBrowserAutomationVisiblePageIds(browserPageIds) // Why: inactive Electron webviews must stay mounted in their original DOM @@ -758,10 +755,7 @@ export default function BrowserPane({ useContextualTour( 'browser', - isActive && - activeBrowserPage !== null && - !runtimeEnvironmentActive && - !activeBrowserPageIsBlank, + isActive && activeBrowserPage !== null && !runtimeEnvironmentActive, 'browser_visible' ) diff --git a/src/renderer/src/components/contextual-tours/browser-tour-mock.generate.test.ts b/src/renderer/src/components/contextual-tours/browser-tour-mock.generate.test.ts index e72adc112d5..b7b478978cf 100644 --- a/src/renderer/src/components/contextual-tours/browser-tour-mock.generate.test.ts +++ b/src/renderer/src/components/contextual-tours/browser-tour-mock.generate.test.ts @@ -448,7 +448,7 @@ describe('browser contextual tour mock generator', () => {
When does this show?
    -
  • First time a new user opens the in-app browser on a loaded local page (not a blank tab, not a remote/SSH runtime browser).
  • +
  • First time a new user opens an in-app browser tab on a local desktop browser (not a remote/SSH runtime browser).
  • Only once per profile, and only one contextual tour per session.
  • Step 3 is the last step — it appears after Next on step 2. In production, advancing to step 3 would open the ··· menu automatically.
diff --git a/src/shared/feature-interactions.ts b/src/shared/feature-interactions.ts index 73503b3214b..45abcea76be 100644 --- a/src/shared/feature-interactions.ts +++ b/src/shared/feature-interactions.ts @@ -71,7 +71,7 @@ export const FEATURE_INTERACTIONS = [ }, { id: 'browser', - interaction: 'non-blank browser page viewed' + interaction: 'in-app browser opened' }, { id: 'tasks',