diff --git a/src/renderer/src/components/tab-bar/EditorFileTab.tsx b/src/renderer/src/components/tab-bar/EditorFileTab.tsx index f0767e75277..f56d6410c24 100644 --- a/src/renderer/src/components/tab-bar/EditorFileTab.tsx +++ b/src/renderer/src/components/tab-bar/EditorFileTab.tsx @@ -123,9 +123,6 @@ export default function EditorFileTab({ className={`w-3.5 h-3.5 mr-1.5 shrink-0 ${isActive ? 'text-foreground' : 'text-muted-foreground'}`} /> )} - {file.isDirty && ( - - )} )} - + {/* Dirty dot and close button share the same slot to prevent tab width shift during auto-save. + When dirty: dot is shown, close button appears on hover (replacing the dot). + When clean: close button is shown normally (visible on active tab, on hover for others). */} +
+ {file.isDirty && ( + + )} + +