diff --git a/ui/desktop/src/components/WebViewer.tsx b/ui/desktop/src/components/WebViewer.tsx index affa6c5547..2752695151 100644 --- a/ui/desktop/src/components/WebViewer.tsx +++ b/ui/desktop/src/components/WebViewer.tsx @@ -152,15 +152,23 @@ export function WebViewer({ } }, 100); - // Cleanup on unmount return () => { clearTimeout(timer); - if (browserViewCreated && browserViewId.current) { - window.electron.destroyBrowserView(browserViewId.current).catch(console.error); - } }; }, [url]); + // Cleanup BrowserView on component unmount + useEffect(() => { + return () => { + console.log('WebViewer component unmounting, cleaning up BrowserView:', browserViewId.current); + if (browserViewId.current) { + window.electron.destroyBrowserView(browserViewId.current).catch((err) => { + console.error('Error destroying BrowserView on unmount:', err); + }); + } + }; + }, []); + // Update BrowserView bounds when container resizes useEffect(() => { if (!browserViewCreated || !containerRef.current) return;