An episode does not take from its series what upstream gives it #63
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
An episode does not take from its series what upstream gives it.
Two fields, one block of
DtoService.AttachBasicFields, found by replaying thecommitted scenarios against a production library.
PrimaryImageAspectRatio(DtoService.cs:1381): where an episode carries noprimary image of its own, upstream attaches the ratio measured from the
series' poster —
so an episode with no artwork still reports
0.6666…, the 2:3 of the seriesposter. This server reports nothing. Measured: 19 occurrences across
/Items/Latest,/Shows/NextUpand/UserItems/Resume. There is a secondcall at
:1454for the other type that inherits this way.AirTime(DtoService.cs:1423):dto.AirTime = series.AirTime,unconditionally. This server never emits the field — it is not a
BaseItemscolumn here, and upstream keeps it in the series'
Datablob. Measured: 4occurrences.
Both are pre-existing and neither is new. They became visible only once the
refusals fixed in #48 stopped aborting whole responses, so more of each body is
now compared:
browsingreports more differences than before while every otherscenario reports far fewer.
Not reachable from the reference library, whose episodes all carry their own
artwork and whose series name no air time.
Fixed, and the issue text was wrong on both halves.
PrimaryImageAspectRatiois inherited, but the rule covers seasons aswell as episodes — the second call at
DtoService.cs:1454servesSeason.Both blocks sit under a commented-out
ItemFieldscheck, so neither is gated bywhat the request asked for. Where the item's own
ImageTagshas noPrimary,the series' ratio is attached.
AirTimeis not inherited at all. It sits insideif (item is Series tmp)(
DtoService.cs:1419) — a series' own field, which this port never emitted. Allfour occurrences in the diff were on
Seriesrows.Measured against upstream,
Fields=PrimaryImageAspectRatio&Limit=100:/Items/Latest/Shows/NextUp/UserItems/ResumePer-id value comparison on all three: 16, 4 and 2 differing ids → 0, 0, 0.
Harness
browsing28 → 5.Reading the stored image dimensions is enough: upstream's
ImageProcessorreturns the stored width and height when both are positive and only opens the
file otherwise, and no row in the measured library has a non-positive dimension
or a remote path.
This exposed a deeper defect rather than hiding one — see #65, where a season
whose own poster went unreported borrowed its series' shape and reported a ratio
upstream does not send.