Skip to content

fix(dashboard): estado 'cancelled' en color neutral, no verde de éxito#31

Merged
JoniMartin27 merged 1 commit into
mainfrom
fix/dashboard-cancelled-status-badge
Jun 12, 2026
Merged

fix(dashboard): estado 'cancelled' en color neutral, no verde de éxito#31
JoniMartin27 merged 1 commit into
mainfrom
fix/dashboard-cancelled-status-badge

Conversation

@JoniMartin27

Copy link
Copy Markdown
Owner

Bug

Desde que el colector derivó el estado cancelled (#28), el dashboard siguió tratando el estado de traza/span como binario en varias píldoras de estado:

status === 'error' ? rojo : verde-esmeralda

Resultado: una traza o span cancelada se pintaba con el mismo verde de éxito que una ok — engañoso a simple vista. Sitios afectados:

  • SessionDetail.tsxTracePreview: la píldora de estado al hacer hover sobre una traza en el timeline de la sesión mostraba cancelled en verde de éxito (el más visible).
  • TraceDetail.tsxSpanDrawer: el campo Status daba tone='ok' (verde) a spans cancelados.
  • ToolsView.tsx: la píldora de estado de tool-calls.

TraceList ya lo manejaba bien (acento gris para cancelled); el resto se quedó atrás.

Fix

  • Nuevo apps/dashboard/src/lib/status.ts: única fuente de verdad estado→tono (ok / error / neutral) con statusTone() y statusBadgeClass(). cancelled → gris neutral.
  • Aplicado en SessionDetail, ToolsView y TraceDetail.
  • No se tocan RunRow/RunDetail (sus estados son RunStatus/'ok'|'error', con running propio — no aplica cancelled).

Tests

  • apps/dashboard/src/lib/status.test.ts (7 casos, incluye regresión de cancelled).
  • apps/**/src/**/*.test.ts añadido al include de Vitest (el dashboard no tenía cobertura). Entorno node, helper puro, sin infra de React.
  • Suite completa verde salvo scripts/traction.test.mjs (fallo preexistente solo-Windows por BOM/CRLF; verde en CI Linux).
  • typecheck y build verdes.

🤖 Generated with Claude Code

…e de éxito

Desde que el colector deriva el estado 'cancelled' (#28), varias píldoras de
estado del dashboard seguían tratando el estado como binario
(error → rojo, resto → verde esmeralda). Eso pintaba una traza/span
*cancelada* con el mismo verde de éxito que una 'ok', engañando a simple vista
en la vista de sesión (preview de traza), en el detalle de span y en Tools.

Se centraliza el mapeo estado→tono en lib/status.ts (ok/error/neutral) y se usa
en SessionDetail, ToolsView y TraceDetail. 'cancelled' ahora se muestra en gris
neutral. Test unitario nuevo (apps añadido al include de vitest).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@JoniMartin27 JoniMartin27 merged commit 465ef7d into main Jun 12, 2026
2 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