Miguel Palhas and Claude Opus 5
d8797e1996
feat(daemon): refresh metadata on add
...
The metadata lane runs daily, so a series added a moment ago showed no
seasons for up to 24 hours and a movie had no digital release date —
the field §6.2 gates targeted search on.
AppState now carries a MetadataCommand channel alongside the movie,
episode and season ones. Both create handlers send on it after the row
is committed, and a new daemon lane drains it. Its own task rather than
an arm of manual::run: a refresh against TMDB can take a while and must
not sit in front of an operator's manual search.
The add never waits on TMDB and never fails because of it. A refresh
that fails leaves metadata_refreshed_at NULL, which is what the daily
sweep already treats as due, so the title is retried rather than lost.
A command naming a title deleted in between finds no row and does
nothing. METADATA_INTERVAL is unchanged.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-24 18:12:10 +01:00
..
2026-08-22 22:38:31 +01:00
2026-08-23 14:56:51 +01:00
2026-08-23 14:56:51 +01:00
2026-08-22 21:00:35 +01:00
2026-08-23 17:45:09 +01:00
2026-08-23 14:56:51 +01:00
2026-08-23 00:42:13 +01:00
2026-08-22 21:43:03 +01:00
2026-08-22 23:21:30 +01:00
2026-08-24 18:12:10 +01:00
2026-08-23 19:34:55 +01:00
2026-08-22 21:43:03 +01:00
2026-08-22 21:43:03 +01:00
2026-08-23 02:31:50 +01:00
2026-08-24 16:31:09 +01:00
2026-08-22 21:00:35 +01:00
2026-08-24 11:40:44 +01:00
2026-08-23 16:50:45 +01:00
2026-08-23 18:18:26 +01:00
2026-08-23 01:40:53 +01:00
2026-08-23 18:18:26 +01:00
2026-08-23 09:13:37 +01:00
2026-08-23 19:07:00 +01:00
2026-08-22 21:43:03 +01:00
2026-08-23 16:53:52 +01:00
2026-08-22 23:02:34 +01:00
2026-08-22 20:40:31 +01:00
2026-08-24 16:43:53 +01:00
2026-08-22 23:02:34 +01:00
2026-08-23 14:56:51 +01:00
2026-08-23 14:56:51 +01:00
2026-08-23 18:18:26 +01:00
2026-08-23 01:40:53 +01:00
2026-08-22 21:00:35 +01:00
2026-08-23 22:45:08 +01:00
2026-08-23 22:12:05 +01:00
2026-08-24 16:43:53 +01:00
2026-08-24 16:43:53 +01:00
2026-08-23 12:22:56 +01:00
2026-08-23 01:40:53 +01:00
2026-08-22 23:42:36 +01:00
2026-08-23 02:04:36 +01:00
2026-08-23 01:04:15 +01:00
2026-08-23 09:08:52 +01:00
2026-08-23 22:45:08 +01:00
2026-08-23 01:40:53 +01:00
2026-08-22 21:43:03 +01:00
2026-08-22 23:02:34 +01:00
2026-08-22 23:02:34 +01:00
2026-08-23 02:04:36 +01:00
2026-08-23 09:13:37 +01:00
2026-08-23 22:12:05 +01:00
2026-08-23 17:45:09 +01:00
2026-08-22 20:40:31 +01:00
2026-08-23 22:45:08 +01:00
2026-08-24 16:43:53 +01:00
2026-08-22 23:02:34 +01:00
2026-08-23 18:41:36 +01:00
2026-08-23 14:56:51 +01:00
2026-08-23 19:34:55 +01:00
2026-08-23 19:45:33 +01:00
2026-08-24 16:43:53 +01:00
2026-08-23 01:40:53 +01:00
2026-08-23 17:59:45 +01:00
2026-08-23 22:45:08 +01:00
2026-08-23 09:08:52 +01:00
2026-08-24 16:43:53 +01:00
2026-08-23 14:56:51 +01:00
2026-08-22 23:02:34 +01:00
2026-08-22 23:02:34 +01:00
2026-08-22 21:43:03 +01:00
2026-08-23 19:07:29 +01:00
2026-08-24 16:43:53 +01:00
2026-08-22 23:42:36 +01:00
2026-08-23 01:40:53 +01:00
2026-08-23 14:56:51 +01:00
2026-08-22 19:36:39 +01:00
2026-08-23 22:45:08 +01:00
2026-08-23 18:24:50 +01:00
2026-08-22 21:00:35 +01:00
2026-08-23 18:24:50 +01:00
2026-08-24 12:09:52 +01:00
2026-08-23 17:59:45 +01:00
2026-08-23 16:49:42 +01:00
2026-08-24 18:12:10 +01:00
2026-08-22 23:42:36 +01:00
2026-08-23 22:17:51 +01:00
2026-08-23 14:56:51 +01:00
2026-08-24 16:43:53 +01:00
2026-08-23 18:23:41 +01:00
2026-08-23 17:59:45 +01:00
2026-08-23 18:24:50 +01:00
2026-08-23 18:24:50 +01:00
2026-08-23 22:45:08 +01:00
2026-08-22 23:42:36 +01:00
2026-08-23 19:45:33 +01:00
2026-08-23 02:04:36 +01:00
2026-08-22 23:42:36 +01:00
2026-08-23 09:13:37 +01:00
2026-08-23 16:49:42 +01:00
2026-08-22 22:38:31 +01:00
2026-08-23 22:45:08 +01:00
2026-08-23 09:08:52 +01:00
2026-08-23 19:07:00 +01:00
2026-08-24 16:43:53 +01:00
2026-08-22 23:02:34 +01:00
2026-08-22 23:02:34 +01:00
2026-08-23 02:31:50 +01:00
2026-08-22 23:02:34 +01:00
2026-08-23 01:40:53 +01:00
2026-08-22 23:02:34 +01:00
2026-08-23 18:24:50 +01:00
2026-08-23 18:24:50 +01:00
2026-08-24 16:43:53 +01:00
2026-08-23 19:07:29 +01:00
2026-08-23 14:56:51 +01:00
2026-08-22 23:33:09 +01:00
2026-08-24 11:40:44 +01:00
2026-08-23 09:02:42 +01:00
2026-08-24 18:12:10 +01:00
2026-08-23 18:24:50 +01:00
2026-08-22 22:38:31 +01:00
2026-08-23 16:53:52 +01:00
2026-08-23 17:59:45 +01:00
2026-08-23 01:40:53 +01:00
2026-08-23 19:45:33 +01:00
2026-08-23 16:49:42 +01:00
2026-08-23 22:45:08 +01:00
2026-08-22 20:40:31 +01:00
2026-08-23 19:34:55 +01:00
2026-08-22 21:00:35 +01:00
2026-08-22 23:02:34 +01:00
2026-08-23 01:40:53 +01:00
2026-08-23 16:55:58 +01:00
2026-08-22 21:43:03 +01:00
2026-08-22 21:43:03 +01:00
2026-08-23 09:08:52 +01:00
2026-08-22 22:38:31 +01:00
2026-08-23 16:32:28 +01:00
2026-08-23 01:40:53 +01:00
2026-08-22 23:23:56 +01:00
2026-08-22 23:21:30 +01:00
2026-08-22 23:21:30 +01:00
2026-08-22 23:21:30 +01:00
2026-08-23 16:32:28 +01:00
2026-08-23 17:59:45 +01:00
2026-08-23 14:56:51 +01:00
2026-08-23 01:40:53 +01:00
2026-08-23 09:02:42 +01:00
2026-08-23 22:17:51 +01:00
2026-08-22 21:43:03 +01:00
2026-08-23 17:45:09 +01:00
2026-08-23 19:07:00 +01:00
2026-08-22 23:02:34 +01:00
2026-08-23 02:44:42 +01:00
2026-08-22 23:02:34 +01:00
2026-08-23 17:45:09 +01:00
2026-08-23 01:40:53 +01:00
2026-08-23 18:24:50 +01:00
2026-08-23 22:45:08 +01:00
2026-08-24 16:43:53 +01:00
2026-08-23 19:34:55 +01:00
2026-08-23 22:12:05 +01:00
2026-08-23 18:24:50 +01:00
2026-08-24 16:43:53 +01:00
2026-08-23 17:45:09 +01:00
2026-08-24 18:12:10 +01:00
2026-08-22 22:38:31 +01:00
2026-08-23 09:02:42 +01:00
2026-08-23 16:32:28 +01:00
2026-08-22 20:40:31 +01:00
2026-08-23 14:56:51 +01:00
2026-08-22 20:40:31 +01:00
2026-08-23 22:45:08 +01:00
2026-08-23 02:04:36 +01:00
2026-08-23 16:49:42 +01:00
2026-08-23 22:12:05 +01:00
2026-08-22 23:02:34 +01:00
2026-08-23 18:23:41 +01:00
2026-08-22 23:33:09 +01:00
2026-08-23 22:45:08 +01:00
2026-08-24 12:09:52 +01:00
2026-08-22 22:08:32 +01:00
2026-08-22 22:38:31 +01:00
2026-08-23 14:56:51 +01:00
2026-08-24 11:40:44 +01:00
2026-08-22 23:21:30 +01:00
2026-08-23 17:45:09 +01:00