From ae56d55c853a9663ccd8e1a36503b8e1675ca40c Mon Sep 17 00:00:00 2001 From: David Kaya Date: Sat, 28 Mar 2026 14:06:21 +0100 Subject: [PATCH] fix: clean up hook event labels in Activity panel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace raw SDK identifiers with human-friendly labels (e.g. sessionStart → Session start) and drop the meaningless UUID detail. Labels now read like 'Session start hook started' instead of 'Hook sessionStart started'. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/renderer/lib/sessionActivity.ts | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/renderer/lib/sessionActivity.ts b/src/renderer/lib/sessionActivity.ts index 040b1cd..1a69efb 100644 --- a/src/renderer/lib/sessionActivity.ts +++ b/src/renderer/lib/sessionActivity.ts @@ -245,6 +245,20 @@ export interface TurnEventEntry { export type TurnEventLog = readonly TurnEventEntry[]; export type TurnEventLogMap = Record; +const hookTypeLabels: Record = { + sessionStart: 'Session start', + sessionEnd: 'Session end', + userPromptSubmitted: 'Prompt submitted', + preToolUse: 'Pre-tool use', + postToolUse: 'Post-tool use', + errorOccurred: 'Error occurred', +}; + +function formatHookType(hookType: string | undefined): string { + if (!hookType) return 'Unknown'; + return hookTypeLabels[hookType] ?? hookType; +} + function formatTurnEventEntry(event: SessionEventRecord): TurnEventEntry | undefined { switch (event.kind) { case 'subagent': @@ -257,12 +271,12 @@ function formatTurnEventEntry(event: SessionEventRecord): TurnEventEntry | undef success: event.subagentEventKind === 'completed' ? true : event.subagentEventKind === 'failed' ? false : undefined, }; case 'hook-lifecycle': { + const hookLabel = formatHookType(event.hookType); const phaseLabel = event.hookPhase === 'start' ? 'started' : event.hookPhase === 'end' ? 'completed' : undefined; return { kind: event.kind, occurredAt: event.occurredAt, - label: phaseLabel ? `Hook ${event.hookType ?? 'unknown'} ${phaseLabel}` : `Hook ${event.hookType ?? 'unknown'}`, - detail: event.hookInvocationId, + label: phaseLabel ? `${hookLabel} hook ${phaseLabel}` : `${hookLabel} hook`, phase: event.hookPhase, success: event.hookSuccess, };