El widget no se actualiza hasta que no abro la app #42

Open
opened 2026-09-01 14:17:41 +00:00 by alexandrev · 1 comment
Owner

Reportado por Alexandre (2026-09-01): "El widget no se actualiza hasta que no abro la app y eso no debería ser así". Investigar cuándo se recarga la timeline del widget y por qué los datos nuevos no llegan sin abrir la app.

Reportado por Alexandre (2026-09-01): "El widget no se actualiza hasta que no abro la app y eso no debería ser así". Investigar cuándo se recarga la timeline del widget y por qué los datos nuevos no llegan sin abrir la app.
Author
Owner

Causa raíz encontrada e implementada en 6dd7552 (rama 1.6.3, build 86):

  1. QuickUpdateView.saveAll() hacía context.save() directo sin pasar por SnapshotRepository → nunca llamaba a CoreDataStack.refreshWidgetData() (checkpoint WAL + WidgetCenter.reloadAllTimelines). El camino de AddSnapshotView sí refresca; el Quick Update — el flujo principal — no. El único otro punto que refrescaba era scenePhase == .active → por eso el widget solo se actualizaba al abrir la app.
  2. Fix + red de seguridad: refreshWidgetData() tras el save del Quick Update y también al pasar la app a .background.

Build Debug OK. Queda abierto hasta que salga en release y se verifique en device. Nota: el refresco horario propio del widget no veía los datos por falta del checkpoint WAL.

Causa raíz encontrada e implementada en `6dd7552` (rama 1.6.3, build 86): 1. **`QuickUpdateView.saveAll()` hacía `context.save()` directo** sin pasar por `SnapshotRepository` → nunca llamaba a `CoreDataStack.refreshWidgetData()` (checkpoint WAL + `WidgetCenter.reloadAllTimelines`). El camino de `AddSnapshotView` sí refresca; el Quick Update — el flujo principal — no. El único otro punto que refrescaba era `scenePhase == .active` → por eso el widget solo se actualizaba al abrir la app. 2. Fix + red de seguridad: `refreshWidgetData()` tras el save del Quick Update y también al pasar la app a `.background`. Build Debug OK. Queda abierto hasta que salga en release y se verifique en device. Nota: el refresco horario propio del widget no veía los datos por falta del checkpoint WAL.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: alexandrev/InvestmentTrackerApp#42