From ccf37484a05511b664b73c5aac75f5a720bbf73a Mon Sep 17 00:00:00 2001 From: Brennan Benson <79079362+brennanb2025@users.noreply.github.com> Date: Wed, 22 Apr 2026 22:22:26 -0700 Subject: [PATCH] fix(browser): stop webview reload when moving tab between groups (#959) --- src/renderer/src/components/Terminal.tsx | 63 ++++-- .../browser-pane/BrowserPaneOverlayLayer.tsx | 195 ++++++++++++++++++ .../browser-pane/browser-pane-slots.ts | 29 +++ .../components/tab-group/TabGroupPanel.tsx | 46 +++-- .../tab-group/useTabGroupWorkspaceModel.ts | 9 - 5 files changed, 303 insertions(+), 39 deletions(-) create mode 100644 src/renderer/src/components/browser-pane/BrowserPaneOverlayLayer.tsx create mode 100644 src/renderer/src/components/browser-pane/browser-pane-slots.ts diff --git a/src/renderer/src/components/Terminal.tsx b/src/renderer/src/components/Terminal.tsx index ecf2c52f5be..1964a51a6e9 100644 --- a/src/renderer/src/components/Terminal.tsx +++ b/src/renderer/src/components/Terminal.tsx @@ -26,7 +26,9 @@ import { } from './editor/editor-autosave' import { isUpdaterQuitAndInstallInProgress } from '@/lib/updater-beforeunload' import EditorAutosaveController from './editor/EditorAutosaveController' +import type { TabGroupLayoutNode } from '../../../shared/types' import BrowserPane, { destroyPersistentWebview } from './browser-pane/BrowserPane' +import BrowserPaneOverlayLayer from './browser-pane/BrowserPaneOverlayLayer' import { reconcileTabOrder } from './tab-bar/reconcile-order' import TabGroupSplitLayout from './tab-group/TabGroupSplitLayout' import { shouldAutoCreateInitialTerminal } from './terminal/initial-terminal' @@ -1013,19 +1015,13 @@ function Terminal(): React.JSX.Element | null { // so the terminal/browser surface hides on the tasks page too. const isVisible = activeView === 'terminal' && worktree.id === activeWorktreeId return ( -