name the live sessions instead of showing their ids

The titles were looked up client-side against the sessions query already in cache, which only covers the
group being browsed — so anything running in another directory rendered as a truncated uuid, which is
most of them.

Resolved server-side now. The agent reports keys and nothing else, so liveSessionTitle finds the
transcript by scanning the project slugs, takes the cwd off its own first entry, and hands that to
claudeSessionContext — the same path the list uses, so the two agree on naming, /clear chains merged
included, rather than offering a second opinion.

A null title means no transcript has been written yet. That row says 'Starting…' and is deliberately not
a link: pointing at a session you cannot open yet is worse than plainly not being a link.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-10 01:18:54 +01:00
co-authored by Claude Opus 5
parent 8f2d80573a
commit 27bbbaee47
4 changed files with 77 additions and 18 deletions
@@ -13,6 +13,14 @@ export type LiveSession = {
isGenerating: boolean;
/** Background tasks started but not yet notified — `run_in_background`, Monitor, and friends. */
pendingTasks: number;
/**
* Resolved server-side, and null when no transcript has been written yet.
*
* It has to come from there: the agent reports keys, and a client can only name the sessions in the
* group it is currently browsing — so anything running in another directory showed a raw id.
*/
title: string | null;
cwd: string | null;
};
const LIVE_KEY = 'CHAT_LIVE_SESSIONS';