Repository navigation
Description
Pre-flight checks
- I searched existing issues and found no duplicate.
- I understand that this report enters review before implementation.
What happened?
Los medidores de Claude no muestran cuándo se reinicia cada ventana: falta el «Se reinicia en…» en la sesión de 5 h y en las ventanas semanales, mientras que el porcentaje de uso sí aparece. Otros proveedores muestran su reinicio con normalidad.
Qué hace hoy el código:
parse_usage(src-tauri/src/providers/claude.rs:357-401) leeresets_atde cada ventana (five_hour,seven_day,seven_day_opus,seven_day_sonnet,seven_day_oauth_apps) solo si es una cadena (.and_then(Value::as_str)). Si el campo llega como número (epoch), en otro formato o con otro nombre, se descarta en silencio y el medidor queda conresets_at: None, sin aviso ni diagnóstico.- El frontend (
formatResetIn,src/lib/format.ts:5-18) oculta el reinicio cuando recibenullo una fecha queDate.parseno entiende. Las fechas ISO con offset o con fracciones de segundo sí se interpretan correctamente. - Los tests (
claude.rs:451-466) solo cubrenresets_atcomo cadena ISO onull; no hay ningún fixture con la respuesta real actual de la API de uso. extra_usagenunca tiene reinicio (resets_at: None), lo que es esperable; este informe se refiere a las ventanas de 5 h y semanales.
Hipótesis (pendiente de confirmar): la respuesta del endpoint de uso de Claude cambió de forma (por ejemplo, resets_at numérico, anidado o con otro nombre) o devuelve null para esas ventanas. El código ya funciona con el formato que esperan los tests, así que hace falta una captura real para saber cuál de las dos es.
Steps to reproduce
- Configurar Claude en Quorb (OAuth) con consumo en la sesión de 5 h o en la semana.
- Abrir el detalle de Claude.
- Los medidores muestran el porcentaje, pero no «Se reinicia en…».
Expected behavior
Cada ventana de Claude con fecha de reinicio la muestra igual que el resto de proveedores, y el ritmo de consumo y los avisos de reinicio (alerts.ts) usan esa fecha.
Lo que debería incluir el arreglo:
- Capturar, censurada (sin token ni datos de la cuenta), la respuesta actual del endpoint de uso de Claude y añadirla como fixture.
- Adaptar
parse_usageal formato real; si la API puede enviar varios formatos (cadena ISO y epoch), aceptarlos de forma explícita y con test. - Un test que falle con el payload real antes del arreglo.
- Si la API realmente no envía la fecha para alguna ventana, mantener
Noney documentarlo, sin inventarla a partir dewindow_seconds.
Environment
Quorb: main @ 2da297d (0.8.0)
Proveedor: Claude (OAuth)
SO / plataforma: pendiente de completar por quien lo reproduzcaAffected area
Application behavior
Activity
egdev6 commentedon Nov 12, 2026
Actualización del diagnóstico, con evidencia real:
GET https://api.anthropic.com/api/oauth/usage, capturada hoy (solo la estructura) con la sesión de WSL y con la de Windows, traefive_houryseven_dayconresets_atcomo cadena ISO (2026-11-12T12:40:00.432511+00:00).seven_day_opus,seven_day_sonnetyseven_day_oauth_appsllegannull.parse_usage(claude.rs:379-382) yformatResetIn(format.ts:5-18) interpretan ese formato correctamente.main@b3f2b3f) consulta Claude con éxito y no registra errores.parse_usage(claude.rs:309) →fetch_usage(lib.rs:604-624) → merge (format.ts:95-110) →DetailPanel→ProviderCard→MeterBar(MeterBar.tsx:13,20,53).ProviderGauge.tsx:77-82,format.ts:121-129). El aviso de reinicio solo salta si el medidor había superado el umbral y luego bajó (alerts.ts:76-82).Pendiente: reproducir visualmente en qué superficie falta y si afecta solo a Claude o a todos los proveedores.