Files
punktfunk/plugin-kit/test
enricobuehler f5f11f84f0 fix(plugin-kit): the Steam art scan knew one filename and one layout, so most covers were never found
Forza Horizon 6 shows a banner where its cover should be. The cover is on
disk the whole time: `librarycache/2483190/711e39.../library_capsule.jpg`,
300x450, the exact asset Steam itself draws. The scan never looked for that
name, fell back to the flat CDN URL for `library_600x900.jpg`, which 404s for
this appid, and the client then walked its candidate list down to the header —
a 460x215 banner in a 2:3 poster slot.

Measured against a real 779-app `appcache/librarycache` (the .41 box), the scan
was missing far more than one title. Three findings, each independent:

  * `library_capsule.jpg` is the newer name for the 2:3 cover. 46 appids carry
    only that name; none carry both it and `library_600x900.jpg`.
  * `header.jpg` is the newer name for the header. 594 appids carry it, 122
    carry `library_header.jpg`, and again no appid carries both — so the one
    name we knew covered 16% of them.
  * The `<appid>/<name>` layout, with no hash dir in between, is the MAJORITY:
    623 of 779 appids. `findLocalArtFile` walked only `<appid>/<hash>/<name>`
    and the oldest `<appid>_<name>` form, so it saw none of them.

The renamed files are the same assets — every `library_capsule.jpg` in that
cache measures 300x450, the same as every `library_600x900.jpg`, and both
header spellings measure 460x215 — so this is purely about knowing to look.

Simulating the resolver over that cache, per-appid art found locally:

  portrait   25 -> 328      hero    75 -> 323
  header     86 -> 716      logo    66 -> 295

None of this was visible before because a title that resolves no local file
still gets a CDN URL, and for anything Valve has not re-hashed that URL works.
It is the newer titles — the ones whose flat CDN URL 404s — that lose their art
outright, which is why this reads as "some games" rather than "the library".
2026-08-16 10:00:53 +02:00
..