Journal: el streak actual siempre muestra 0x #47

Closed
opened 2026-09-12 14:19:25 +00:00 by alexandrev · 1 comment
Owner

Reportado por el usuario (con captura de la tarjeta Momentum & Streaks en Journal):

El streak siempre está a 0

En la captura: Streak 0x, Best 15x, 16/17 on time, último check-in Aug 2026 (hoy 12 sep 2026).

Causa: MonthlyCheckInStore.stats() arranca el contador de racha actual en el mes en curso y corta en el primer mes que no esté completado. El check-in del mes en curso está dentro de plazo hasta fin de mes (y con graceDays = 20 lo normal es hacerlo incluso el mes siguiente), así que durante casi todo el mes la racha se leía como 0 aunque estuviera intacta.

Reportado por el usuario (con captura de la tarjeta *Momentum & Streaks* en Journal): > El streak siempre está a 0 En la captura: `Streak 0x`, `Best 15x`, `16/17 on time`, último check-in Aug 2026 (hoy 12 sep 2026). Causa: `MonthlyCheckInStore.stats()` arranca el contador de racha actual en el mes en curso y corta en el primer mes que no esté completado. El check-in del mes en curso está dentro de plazo hasta fin de mes (y con `graceDays = 20` lo normal es hacerlo incluso el mes siguiente), así que durante casi todo el mes la racha se leía como 0 aunque estuviera intacta.
Author
Owner

Corregido en 167b736 (build 88).

MonthlyCheckInStore.stats() ahora arranca el recuento en el mes en curso si ya está completado y, si está pendiente, en el mes anterior — el plazo del mes en curso no ha vencido, así que no rompe la racha. Un mes anterior sin check-in sí la rompe, porque su plazo pasó.

Afecta también a los logros streak_3/streak_6 y al recordatorio de protección de racha, que leían el mismo 0.

Verificado: 3 tests nuevos en MonthlyCheckInStoreTests (mes en curso pendiente → cuenta; mes en curso completado → cuenta; mes anterior perdido → 0). Comprobado que testCurrentStreakCountsWhenCurrentMonthIsStillPending falla sin el fix y pasa con él. Build Debug OK.

Corregido en `167b736` (build 88). `MonthlyCheckInStore.stats()` ahora arranca el recuento en el mes en curso si ya está completado y, si está pendiente, en el mes anterior — el plazo del mes en curso no ha vencido, así que no rompe la racha. Un mes anterior sin check-in sí la rompe, porque su plazo pasó. Afecta también a los logros `streak_3`/`streak_6` y al recordatorio de protección de racha, que leían el mismo 0. Verificado: 3 tests nuevos en `MonthlyCheckInStoreTests` (mes en curso pendiente → cuenta; mes en curso completado → cuenta; mes anterior perdido → 0). Comprobado que `testCurrentStreakCountsWhenCurrentMonthIsStillPending` falla sin el fix y pasa con él. Build Debug OK.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: alexandrev/InvestmentTrackerApp#47