Skip to content

Commit edadf4e

Browse files
committed
fix(desktop): keep terminal tab icons stable
1 parent 2dc58e6 commit edadf4e

1 file changed

Lines changed: 8 additions & 11 deletions

File tree

  • apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/terminal-session

apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/terminal-session/terminal-session.tsx

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
useState,
1111
} from 'react'
1212
import { cn, TabStrip, type TabStripItem, toast } from '@sim/emcn'
13-
import { Loader, TerminalWindow } from '@sim/emcn/icons'
13+
import { TerminalWindow } from '@sim/emcn/icons'
1414
import { createLogger } from '@sim/logger'
1515
import { FitAddon } from '@xterm/addon-fit'
1616
import { Unicode11Addon } from '@xterm/addon-unicode11'
@@ -525,10 +525,12 @@ export function TerminalSession() {
525525
}
526526
}, [tabs.length, removeResource])
527527

528-
// The spinner means "transient work in progress", which is why a full-screen
529-
// program does not get one: an editor or coding agent owns the terminal until
530-
// it is quit, and spinning for the hour it is open would say the wrong thing.
531-
// It is the only sign that something is running in a tab nobody is looking at.
528+
// Every tab carries the same glyph. A spinner would have to mean "transient
529+
// work", and nothing here can tell that from a coding agent sitting open for
530+
// an hour: the alternate screen is the only signal available, and the tools
531+
// people leave running — Claude Code, Codex — draw inline without it. A
532+
// spinner that is wrong for the longest-lived tabs is worse than none, and
533+
// the tab already says what it is running.
532534
const items = useMemo<TabStripItem[]>(
533535
() =>
534536
tabs.map((tab) => {
@@ -540,12 +542,7 @@ export function TerminalSession() {
540542
// is not naming yet, so hovering gives the whole picture: where the
541543
// shell is, and what it is doing there.
542544
tooltip: terminalTooltip(tab),
543-
icon:
544-
naming && !tab.interactive ? (
545-
<Loader className='size-[12px] shrink-0 animate-spin text-[var(--text-icon)]' />
546-
) : (
547-
<TerminalWindow className='size-[12px] shrink-0 text-[var(--text-icon)]' />
548-
),
545+
icon: <TerminalWindow className='size-[12px] shrink-0 text-[var(--text-icon)]' />,
549546
active: tab.terminalId === activeTerminalId,
550547
}
551548
}),

0 commit comments

Comments
 (0)