Skip to content

feat(providers): detectar renovación de sesiones y distinguir cuentas - #40

Merged
egdev6 merged 2 commits into
mainfrom
feat/claude-mods
Oct 10, 2026
Merged

egdev6 merged 2 commits into
mainfrom
feat/claude-mods

Conversation

@egdev6

@egdev6 egdev6 commented Oct 10, 2026

Copy link
Copy Markdown
Owner

Issue vinculada

Closes #39

Tipo

  • Nueva funcionalidad

Resumen

  • Detecta cada 15 segundos cambios de sesión de Claude Code, Codex y Gemini; conserva los últimos medidores como datos antiguos ante caducidad y ofrece «Renovar sesión».
  • Añade avisos de sesión respetando master/native, numeración de cuentas adicionales y tarjetas de proveedor clicables con mayor altura inicial de Ajustes.
  • Evita perder una renovación mientras hay un refresh en curso y comparte el resolver de Codex entre consulta y sondeo, incluido el fallback de CODEX_HOME.

Cambios

Área Cambio
src-tauri/src/providers/mod.rs, lib.rs, src/lib/api.ts session_stamp y altura inicial de Ajustes
src-tauri/src/providers/claude.rs, codex.rs Mensajes de sesión y resolver compartido con tests
src/Widget.tsx, src/lib/session-monitor* Sondeo con éxito/omisión/fallo explícitos, reintento y disposal
src/lib/alerts*, format*, accounts* Gate de avisos, datos antiguos y numeración
ProviderCard.tsx, ProviderGauge.tsx, Settings.tsx, theme.css Acción de renovación, badges y tarjetas

18 archivos, +523/-33 líneas. Commits f5feda3 (funcionalidad) y 7bc5841 (fixes/test). Revisar primero monitor y avisos, después resolver Codex, finalmente UI. El tamaño conjunto supera la orientación de 400 líneas; se mantienen tests junto al código, sin omitir cobertura.

Hallazgos corregidos

  1. Avisos de sesión con alertas desactivadas: helper real compartido requiere interruptor general y nativo; cubierto con tabla de casos y configuración ausente.
  2. Cambio de stamp consumido durante un refresh ocupado: solo se confirma tras éxito; los demás resultados conservan el cambio y reintentan en el siguiente sondeo. Ocho tests incluyen solapamiento, error de lectura y disposal.
  3. Fallback de Codex no observado: consulta y session_stamp usan el mismo resolver; cinco tests Rust de archivos temporales cubren CODEX_HOME, ruta estándar, prioridad explícita y archivos ausentes.

No se promete detección instantánea ni renovación de tokens por este cambio. El sondeo es de 15 segundos; si está ocupado o falla, reintenta después.

Plan de pruebas

  • npm test: 143 Vitest +46 scripts Node, sin fallos.
  • npm run build: TypeScript/Vite correctos.
  • cargo test --offline --locked desde src-tauri: 48 tests, sin fallos.
  • git diff --check: correcto.
  • Revisión inicial independiente y readback de fixes; suites repetidas por el padre.
  • Frontend RED por helpers todavía ausentes; Rust RED por fallback incorrecto; después GREEN.
  • LSP: un archivo confirmado limpio, cuatro inconclusos y sin diagnósticos recibidos; no equivale a limpieza confirmada de todos.
  • Shellcheck no aplica: no se modificaron scripts shell.

237 tests automatizados no sustituyen los checks funcionales pendientes.

Pendientes antes de merge

  • Validar UI/Tauri en Windows: tarjetas/drawer y foco, badges en tamaños extremos, altura de ventana y renovación real.
  • Validar notificaciones nativas y login CLI reales sin avisos cuando se desactivan.
  • Actualizar documentación de renovación, datos antiguos y numeración.
  • Consultar checks requeridos del PR; no se afirma CI verde ni aprobación nativa.

No navegador/Tauri/CLI real ni sesiones reales se ejecutaron para esta verificación. ASSESS original pidió verificador independiente y se realizó; ASSESS fixes locales medio/runtime-large admitió autoverificación sin otro verificador obligatorio. No se afirma cierre nativo del candidato completo.

Checklist

PR en borrador por los pendientes funcionales. Sin merge automático, tags, ejecución de release ni publicación.

@egdev6 egdev6 added the type:feature New functionality label Oct 10, 2026
@egdev6
egdev6 marked this pull request as ready for review October 10, 2026 07:51
@egdev6
egdev6 merged commit 7e57d07 into main Oct 10, 2026
@egdev6
egdev6 deleted the feat/claude-mods branch October 10, 2026 07:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:feature New functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: detectar renovación de sesiones CLI y distinguir cuentas

1 participant