diff --git a/frontend/packages/agent/src/app.js b/frontend/packages/agent/src/app.js index feedcce7..70db5adc 100644 --- a/frontend/packages/agent/src/app.js +++ b/frontend/packages/agent/src/app.js @@ -1431,38 +1431,11 @@ window.marked = marked; return false; } function renderStream(v, api) { - // Drop claude's result line and rate-limit — noise. TurnEnd - // communicates pass/fail; rate-limit events are noisy status chatter. + // Drop session init, claude's result line, rate-limit — noise. + // TurnEnd communicates pass/fail; session init isn't actionable. + if (v.type === 'system' && v.subtype === 'init') return; if (v.type === 'rate_limit_event') return; if (v.type === 'result') return; - // `system` events: `init` is silent startup noise; `api_retry` - // and `api_error` get human-readable notes; unknown subtypes get a - // muted line rather than a raw-JSON dump in the loud `sys` colour. - if (v.type === 'system') { - if (v.subtype === 'init') return; - if (v.subtype === 'api_retry') { - const parts = ['⚠ api retry']; - if (v.attempt != null && v.max_retries != null) - parts.push(v.attempt + '/' + v.max_retries); - if (v.error) parts.push(String(v.error)); - else if (v.error_status) parts.push('HTTP ' + v.error_status); - if (v.retry_delay_ms != null) - parts.push(Math.round(v.retry_delay_ms) + 'ms'); - api.row('note', parts.join(' · ')); - return; - } - if (v.subtype === 'api_error') { - const msg = v.error || v.message - || (v.error_status ? 'HTTP ' + v.error_status : 'unknown'); - api.row('note stderr', '✗ api error · ' + msg); - return; - } - // Other system subtypes (context_window_exceeded, etc.) — render a - // muted note with the subtype label; reserve the loud orange `sys` - // catch-all for truly unrecognised top-level types. - api.row('note', '⚙ ' + (v.subtype || 'system')); - return; - } // Background-task subagent events (claude's `Task` tool spawns // a separate session whose progress lands here as `task_*` // subtypes). Match by subtype so we don't have to track which diff --git a/frontend/packages/dashboard/src/tabs.js b/frontend/packages/dashboard/src/tabs.js index 9b6fc238..9895687a 100644 --- a/frontend/packages/dashboard/src/tabs.js +++ b/frontend/packages/dashboard/src/tabs.js @@ -651,11 +651,9 @@ window.marked = marked; || (op && (op.state === 'running' ? (op.kind === 'meta_update' ? 'meta-updating' : op.kind === 'destroy' ? 'destroying' - : op.kind === 'restart' ? 'restarting' : 'rebuilding') : (op.kind === 'meta_update' ? 'meta-update queued' : op.kind === 'destroy' ? 'destroy queued' - : op.kind === 'restart' ? 'restart queued' : 'rebuild queued'))); const opRunning = transientKind != null || (op != null && op.state === 'running'); @@ -2179,9 +2177,6 @@ window.marked = marked; meta_update: '◆', spawn: '✨', destroy: '🗑', - restart: '↺', - startup_sweep: '⚡', - perm_change: '🔑', }; const QUEUE_STATE_GLYPH = { queued: '⏸',