edde746
de76c0a515
feat(tv): refresh the Watch Next row without the app open
...
The Watch Next row previously only updated while the app was in the
foreground, so it drifted stale until the next launch. A WorkManager
periodic job (6h, network-connected, KEEP) now runs a headless Flutter
engine executing `systemShelfBackgroundMain`, which mirrors the
cold-start profile bind from cached tokens (never prompting for a PIN),
fetches Continue Watching through the existing multi-server aggregation,
and republishes the shelf through the normal Watch Next pipeline.
The job is armed by a committed foreground sync, cancelled when the
shelf is cleared, and re-armed after boot or app update only when
persisted shelf state exists. It skips entirely while a foreground
engine holds the shelf lifecycle lease, both to defer to the live app
and to avoid two engines sharing the database in one process. The Dart
isolate always reports completion over `backgroundSyncComplete`; the
worker hard-caps the run at 90 seconds and destroys the engine on the
main thread.
2026-08-09 10:59:30 +02:00
..
2026-08-04 16:56:54 +02:00
2026-08-07 13:23:53 +02:00
2026-08-09 07:30:47 +02:00
2026-08-07 08:43:48 +02:00
2026-08-09 07:30:47 +02:00
2026-08-02 15:35:42 +02:00
2026-08-05 12:03:05 +02:00
2026-07-24 03:46:46 +02:00
2026-08-05 06:09:26 +02:00
2026-07-30 11:55:13 +02:00
2026-08-09 08:08:59 +02:00
2026-07-26 04:24:55 +02:00
2026-05-04 22:40:18 +02:00
2026-08-02 04:37:29 +02:00
2026-05-28 15:46:08 -04:00
2026-08-05 06:09:26 +02:00
2026-08-06 03:45:09 +02:00
2026-08-05 06:09:26 +02:00
2026-08-08 09:09:48 +02:00
2026-06-14 13:40:16 +02:00
2026-07-30 01:40:24 +02:00
2026-07-12 17:31:15 +02:00
2026-07-24 03:56:40 +02:00
2026-07-30 20:03:04 +02:00
2026-05-01 01:20:36 +02:00
2026-07-26 06:09:47 +02:00
2026-08-06 03:47:43 +02:00
2026-08-06 03:47:43 +02:00
2026-07-26 06:09:48 +02:00
2026-08-06 03:45:09 +02:00
2026-07-26 19:41:23 +02:00
2026-08-08 09:09:48 +02:00
2026-05-01 01:20:36 +02:00
2026-08-03 02:34:37 +02:00
2026-07-24 03:56:40 +02:00
2026-08-05 07:14:11 +02:00
2026-08-07 13:23:53 +02:00
2026-07-10 19:06:51 +02:00
2026-08-05 06:09:26 +02:00
2026-08-05 06:09:26 +02:00
2026-08-05 06:09:26 +02:00
2026-08-05 06:09:26 +02:00
2026-08-09 07:30:47 +02:00
2026-07-12 08:42:25 +02:00
2026-08-05 06:09:26 +02:00
2026-08-05 06:09:26 +02:00
2026-08-05 06:09:26 +02:00
2026-08-03 17:07:05 +02:00
2026-07-31 21:45:33 +02:00
2026-07-05 15:55:52 +02:00
2026-08-05 06:09:26 +02:00
2026-06-26 00:26:26 +02:00
2026-07-29 04:24:04 +02:00
2026-08-04 04:35:06 +02:00
2026-07-18 20:04:09 +02:00
2026-07-18 20:04:09 +02:00
2026-07-05 14:29:57 +02:00
2026-07-31 21:45:32 +02:00
2026-07-26 06:09:48 +02:00
2026-08-06 04:21:24 +02:00
2026-07-26 06:09:48 +02:00
2026-07-24 03:46:46 +02:00
2026-08-05 06:09:26 +02:00
2026-07-17 23:09:07 +02:00
2026-08-05 06:09:26 +02:00
2026-04-16 23:13:15 +02:00
2026-04-21 12:04:48 +02:00
2026-08-08 09:09:48 +02:00
2026-06-06 11:45:34 +02:00
2026-07-26 06:09:48 +02:00
2026-07-26 06:09:47 +02:00
2026-07-05 19:26:28 +02:00
2026-07-26 06:09:49 +02:00
2026-08-09 06:28:59 +02:00
2026-08-08 10:02:04 +02:00
2026-08-02 16:16:19 +02:00
2026-07-17 23:09:07 +02:00
2026-07-26 06:09:49 +02:00
2026-08-09 07:30:47 +02:00
2026-07-26 06:09:48 +02:00
2026-08-05 06:09:26 +02:00
2026-08-08 12:18:32 +02:00
2026-08-09 07:30:47 +02:00
2026-07-05 15:55:52 +02:00
2026-07-30 01:33:46 +02:00
2026-07-16 14:36:48 +02:00
2026-08-02 03:59:56 +02:00
2026-08-02 03:59:56 +02:00
2026-08-02 04:55:54 +02:00
2026-08-02 04:37:29 +02:00
2026-07-24 03:46:46 +02:00
2026-05-28 15:46:08 -04:00
2026-08-05 12:03:05 +02:00
2026-05-01 01:20:36 +02:00
2026-07-12 08:42:25 +02:00
2026-08-06 03:45:09 +02:00
2026-08-07 08:43:47 +02:00
2026-07-26 06:09:49 +02:00
2026-05-10 13:33:02 +02:00
2026-07-26 06:09:49 +02:00
2026-07-26 06:09:49 +02:00
2026-08-02 04:37:29 +02:00
2026-07-31 21:45:32 +02:00
2026-07-30 02:46:10 +02:00
2026-07-26 19:41:23 +02:00
2026-08-09 10:59:30 +02:00
2026-08-09 10:59:16 +02:00
2026-08-09 07:30:47 +02:00
2026-08-09 07:30:47 +02:00
2026-07-24 03:56:40 +02:00
2026-07-30 20:03:04 +02:00
2026-08-03 00:04:03 +02:00
2026-07-24 03:46:46 +02:00
2026-08-08 09:09:48 +02:00
2026-07-26 06:09:48 +02:00