This commit is contained in:
ponzischeme89
2026-08-23 13:20:54 +12:00
parent 766cea2199
commit 89ebe21201
35 changed files with 1000 additions and 195 deletions
+7 -5
View File
@@ -3379,11 +3379,13 @@ Things to preserve:
or a completion reminder can use the first without inheriting the second. Near dates are
named and far ones rounded to weeks or months — a pace measured over a fortnight cannot
honestly pick a day four months out.
- **"Catch up" is not a synonym for "finish".** `BaseItem.isOngoingSeries` prefers Sonarr's
lifecycle where the gateway attached one and falls back to Emby's `Status`, which is the
only source the direct path has; both absent means "finish", the weaker claim. `Status`
is in `fieldsDetail` on both paths for this, and the gateway's item cache key moved to
`item:v5:` so entries written before it cannot hide the field.
- **"Catch up" is not a synonym for "finish".** `Status` is the canonical series-detail
field on both paths. The gateway replaces Emby's value with the latest recognised Sonarr
observation stored by the existing daily lifecycle scan, while direct mode keeps Emby as
its only source; both absent means "finish", the weaker claim. The scan history's maximum
id versions the gateway item cache (`item:v7:r<revision>`) and rides `/v1/status`, so both
Redis and an open television's in-memory detail cache move when Sonarr does. Schedule-card
lifecycle metadata is only the opening-frame fallback before the full record arrives.
- **Quiet is the property a unit test cannot check**, so `SeriesPaceScreenshotTest` renders
the line on a real hero → `build/screenshots/series-pace/`. It covers both spacing cases
(with a progress bar above it and without), both verbs, and — the one worth keeping — the