@@ -200,6 +200,7 @@ function ChatThreadRouteView() {
200200 const rightPanelTab = useRightPanelStore ( ( s ) => s . activeTab ) ;
201201 const openRightPanel = useRightPanelStore ( ( s ) => s . open ) ;
202202 const closeRightPanel = useRightPanelStore ( ( s ) => s . close ) ;
203+ const setRightPanelTab = useRightPanelStore ( ( s ) => s . setActiveTab ) ;
203204
204205 // ── Code viewer state ─────────────────────────────────────────────
205206 const codeViewerOpen = useCodeViewerStore ( ( state ) => state . isOpen ) ;
@@ -223,6 +224,12 @@ function ChatThreadRouteView() {
223224 if ( ! project ) return null ;
224225 return thread ?. worktreePath ?? draftThread ?. worktreePath ?? project . cwd ;
225226 } ) ;
227+ const hasThreadDiffs = useStore (
228+ ( store ) =>
229+ store . threads
230+ . find ( ( t ) => t . id === threadId )
231+ ?. turnDiffSummaries . some ( ( summary ) => summary . files . length > 0 ) ?? false ,
232+ ) ;
226233
227234 // ── Keep-alive flags so lazy content doesn't unmount on tab switch ─
228235 const [ hasOpenedSimulation , setHasOpenedSimulation ] = useState ( simulationOpen ) ;
@@ -295,6 +302,12 @@ function ChatThreadRouteView() {
295302 }
296303 } , [ diffViewerOpen , openRightPanel ] ) ;
297304
305+ useEffect ( ( ) => {
306+ if ( ! hasThreadDiffs && rightPanelTab === "diffs" ) {
307+ setRightPanelTab ( "workspace" , false ) ;
308+ }
309+ } , [ hasThreadDiffs , rightPanelTab , setRightPanelTab ] ) ;
310+
298311 // ── Sync right panel close → close sub-panels ─────────────────────
299312 const prevRightPanelOpenRef = useRef ( rightPanelOpen ) ;
300313 useEffect ( ( ) => {
@@ -335,7 +348,7 @@ function ChatThreadRouteView() {
335348 // ── Right panel content (shared between desktop sidebar & mobile sheet) ──
336349 const rightPanelContent = (
337350 < div className = "flex min-h-0 flex-1 flex-col bg-background" >
338- < RightPanelHeader />
351+ < RightPanelHeader hasDiffs = { hasThreadDiffs } />
339352 < div className = "relative flex-1 overflow-hidden" >
340353 { rightPanelTab === "workspace" ? (
341354 < WorkspacePanel
0 commit comments