Skip to content

fix(desktop): hide sidebar timestamp while a session is active (orange dot is the cue)#137

Merged
OmarB97 merged 1 commit into
mainfrom
fix/sidebar-hide-active-timestamp
Jun 10, 2026
Merged

fix(desktop): hide sidebar timestamp while a session is active (orange dot is the cue)#137
OmarB97 merged 1 commit into
mainfrom
fix/sidebar-hide-active-timestamp

Conversation

@OmarB97

@OmarB97 OmarB97 commented Jun 10, 2026

Copy link
Copy Markdown
Owner

Why

On an active session row the sidebar showed both the pulsing orange "running" dot (left) and the relative timestamp (right, e.g. 13h) — redundant, and the operator flagged it as a bug. #133 had made the timestamp always-visible on every row in response to "show the timestamp even without hovering," but applied it globally including active rows. The original intent (Wave 1.5 / #127) was for the orange dot to be the sole status cue on active rows.

What changed

  • apps/desktop/src/app/chat/sidebar/session-row.tsx: the trailing-slot timestamp is now opacity-0 while isWorking. It stays mounted (width reserved) rather than unmounted, so the 3-dot actions menu still lands in the same spot on hover and the row height never shifts. Idle rows are unchanged — timestamp visible at rest, slides left on hover/focus while the menu slides in from the right. Transition widened to [transform,opacity] so the hide is smooth if a row transitions active→idle live.

How to review

  1. The single isWorking && 'opacity-0' addition on the age <span> and the updated slot comment.
  2. Confirm the actions menu (absolute, right-1) is independent of the timestamp, so active rows still get pin/archive/delete on hover.

Evidence

  • Active row: orange dot only, no timestamp. Idle row: timestamp at rest → slides aside for menu on hover. Row width/height identical across both states (timestamp width reserved).

Verification

  • apps/desktop: tsc -b 0 errors; vitest chat/sidebar + chat-messages suites — 42 passed. Built into the packaged app and swapped onto the running install for visual confirmation.

Risks / gaps

  • Pure CSS state on an existing render branch, no logic change — no known risks.
  • The codex-style "animated dots while active" alternative the operator floated is intentionally not implemented here; hiding-with-dot was the chosen behavior — no work item needed (revisit only if requested).

Collaborators

  • @OmarB97 (operator)
  • Claude Fable 5 (Claude Code)

#133 made the relative timestamp always-visible on every row, but applied
it globally — including active sessions, which already advertise 'running'
via the pulsing orange status dot on the left. The result was a redundant
'13h' next to the live dot. Hide the timestamp for the duration of an
active run; keep its width reserved (opacity-0, not unmounted) so the 3-dot
actions menu still lands in the same spot on hover and the row height never
shifts. Idle rows keep the #133 behavior (timestamp visible, slides aside
for the menu on hover).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🔎 Lint report: fix/sidebar-hide-active-timestamp vs origin/main

ruff

Total: 0 on HEAD, 0 on base (➖ 0)

🆕 New issues: none

✅ Fixed issues: none

Unchanged: 0 pre-existing issues carried over.

ty (type checker)

Total: 10553 on HEAD, 10553 on base (➖ 0)

🆕 New issues: none

✅ Fixed issues: none

Unchanged: 5543 pre-existing issues carried over.

Diagnostics are surfaced as warnings — this check never fails the build.

@OmarB97 OmarB97 merged commit ab33859 into main Jun 10, 2026
11 of 19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant