Sidebar: quiet the workspace row (no fake progress line, aligned agent mark)

Closed
LA
20d ago
+82-10

Lawrence 2026-10-13: "this left sidebar ui is very bad" (row: agent mark, workspace-26, status glyph, unread 1, and a thin line along the pill's bottom).

Changes

  • No fake progress line. An indeterminate terminal progress report drew a full-width line under the row, next to a status glyph that already says the workspace works. WorkspaceRowContent now passes a bar only for a measured fraction or an error. A connecting SSH placeholder keeps its dim indeterminate bar (its only sign of life). Row height math (SidebarLayoutMetrics.statusHeight) reads the same filtered value, so no empty bar slot is left.
  • Bar inside the pill. Without a status block, a real bar now sits one space1 step above the pill's bottom edge and spans the content between the row's own horizontalInset (plus the group indent), instead of hugging the edge. The track alpha goes from 0.25 to 0.18.
  • Agent mark aligned. The agent mark before the title now centers on the title's capitals and snaps to the pixel grid, like the trailing status glyph (statusGlyphFrame), instead of the box center.
  • Badge, tab count and status glyph sizes are unchanged: they already share badgeHeight / statusMarkSize.

Tests

  • New SidebarRowQuietProgressTests: indeterminate progress draws no bar; a measured bar sits inside the pill between the row insets with the correct fill; a connecting placeholder keeps its bar.
  • Not run locally: this Mac has no pinned Xcode 26.6, and the package test lane failed to resolve the CCmuxAppFFI binary target. CI gates it.

No screenshots: no local build.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Quiets the workspace row in the left sidebar: an indeterminate terminal progress report no longer draws a full-width line along the pill's bottom edge next to a status glyph that already says the workspace works.

  • Rows now draw a progress bar only for a measured fraction or an error; a connecting SSH placeholder keeps its dim indeterminate bar.
  • A real bar sits inside the pill, one step above its bottom edge, spanning the content between the row's insets, and the track alpha drops from 0.25 to 0.18.
  • The agent mark before the title now centers on the title's capitals and snaps to the pixel grid, matching the trailing status glyph.
  • Adds SidebarRowQuietProgressTests covering indeterminate, measured, and placeholder rows.