Skip to content

v1.0.89

Choose a tag to compare

@github-actions github-actions released this 05 Sep 21:03
· 25 commits to main since this release
65ce6fd

1.0.89

  • Feat: a search result explains itself and can be walked (#141, #146)
    • Every hit, not the first. The match #N line gains ‹ 2/12 › when a session's prompts hit more than once, stepping the snippet through them; the main-side search now returns up to 20 hits per session, each with its prompt time
    • The prompts around a hit, one click (▸) away on the match line: the prompt before (↑) and after (↓). The smallest useful version of the reader in #66 — user prompts only; assistant text is not in the index
    • by match chip while searching: order results by when the match happened instead of the session's last activity, so the session where you typed the word an hour ago is not buried under one touched five minutes ago. Off by default — "what was I just working on" is the commoner question
    • match path / match assistant / match recap / match reply lines say which field a row matched in when that field is not on the row (the path, the assistant's mined references, a recap the row is not showing, a reply hidden behind a recap). Fields that render — title, branch, project name, badge, first/last prompt — already carry the highlight, so they add no line: vertical space stays the scarce resource
  • Feat: switch to a running session by its terminal (tty) first, title second (#142 C0). Three /branch siblings deliberately share a title, and the title-first match sent every one of their rows to the same iTerm2 tab; a process has exactly one tty, so that is what the click matches now (iTerm2 and Terminal.app; Ghostty has no per-tab tty, #63, and keeps title-then-cwd). Running rows that share a title show their tty (·ttys003) so they can be told apart on screen. The order follows where the pid came from: a pid read from Claude Code's own registration file is exact and goes tty-first; a pid the detection had to guess (a same-cwd match or a terminal-tab title, for a process whose registration names a session the history does not know yet) keeps the old title-first order, because a guessed tty can point at a sibling — the case that made title-first the safe choice in 2026-03. Both keys are tried when the session has a title, only the order changes; without one, tty is the only key (src/terminal-switch.ts, flow diagrams in docs/claude-session-integration-design.md)
  • Feat: a memory warning chip beside ● live when the machine is under pressure — swap past 8GB, or macOS's own pressure level at warn (amber) / critical (red) — with the figures in the live chip's tooltip otherwise. Read from sysctl vm.swapusage and kern.memorystatus_vm_pressure_level on the same refresh as the process table, so it costs nothing extra. Added the night 42 claude processes at 5.1GB pushed a 32GB machine to 18GB of swap: swap was the number that said so first
  • Feat: normal app mode's window can be resized and reopens at its last position and size (a remembered window that would land on an unplugged display is ignored); the header is already a drag region, so the macOS title-bar double-click action applies to it. Line caps follow the width: the character caps on title, messages, branch, reply and recap were tuned for the 800px default and now scale up with the list's measured width (never down), so a wider window shows more of each line rather than more empty space; the Projects list grows with the window instead of stopping at 480px with a scrollbar mid-window; a ⤢ beside the shortcut label in the header (normal mode only) resets the window to its default size and position, since macOS zoom only restores the previous user size (#148, both steps). Menu-bar mode is re-asserted at every show — default size, centred, not resizable — so a window resized in normal mode does not carry its size across a mode switch
  • Fix: tooltips now show. Every hint in the switcher (chips, badges, controls, the per-process figures) is drawn by the app instead of relying on the native title tooltip, which Chromium paints only while the window is the key window — a frameless popup the pointer merely crosses usually is not, so the hints almost never appeared
  • Fix: a session parked at Claude Code's context-limit prompt no longer shows as working forever — no hook fires there, so a working status untouched for 10 minutes is shown as idle (#110)
  • Docs: README on keeping the machine responsive — sessions grow with time, Spotlight should skip ~/Library/Application Support/Claude and ~/.claude, and what the swap chip means