Second link in the chain for punktfunk#265, which fixes "Forza Horizon 6 shows a banner instead of a cover".
What the kit fix does
plugin-kit 0.4.2 teaches findLocalArtFile the filenames and layouts Steam actually uses now. Measured against a real 779-app appcache/librarycache:
library_capsule.jpg is the newer name for the 2:3 cover — 46 appids have only that one, Forza Horizon 6 among them.
header.jpg is the newer name for the header — 594 appids, against 122 for library_header.jpg. No appid carries both.
The <appid>/<name> layout, with no hash dir, holds 623 of 779 appids; the scan walked only <appid>/<hash>/<name>.
Per-appid art found locally on that cache: portrait 25 → 328, hero 75 → 323, header 86 → 716, logo 66 → 295, with no appid losing art it already had.
This repo's own source does not change — the kit is --external at build time, so the version bump is the whole delivery mechanism.
Why the range moves to ^0.4.2 instead of resting on ^0.4.1
^0.4.1 already admits 0.4.2, but a host's plugins dir keeps its own bun.lock, and each plugin gets its own nestednode_modules/@punktfunk/plugin-kit. Under the old range, bun add @punktfunk/plugin-steam@0.1.2 is free to keep the 0.4.1 it already has and the fix never arrives. That is not hypothetical — on the .41 box, patching the hoisted kit copy changed nothing at all while the runner logged a clean [steam] sync (startup): reconciled 22 entries, because this plugin resolves its own nested copy.
⚠ Ordering: CI is red until the kit is published
ci.yml installs with --frozen-lockfile, and bun.lock still pins @punktfunk/plugin-kit@0.4.1 — the 0.4.2 tarball does not exist yet, so the lockfile cannot be regenerated. Sequence:
merge punktfunk#265, push tag plugin-kit-v0.4.2 → kit publishes
bun install here, commit the regenerated bun.lock → CI goes green
merge, then tag v0.1.2 — merging alone publishes nothing
punktfunk-plugin-index gets version + integrity + verification.reviewedAt
Happy to do step 2 as soon as the tag lands.
Second link in the chain for [punktfunk#265](https://git.unom.io/unom/punktfunk/pulls/265), which fixes "Forza Horizon 6 shows a banner instead of a cover".
## What the kit fix does
`plugin-kit` 0.4.2 teaches `findLocalArtFile` the filenames and layouts Steam actually uses now. Measured against a real 779-app `appcache/librarycache`:
* **`library_capsule.jpg`** is the newer name for the 2:3 cover — 46 appids have only that one, Forza Horizon 6 among them.
* **`header.jpg`** is the newer name for the header — **594** appids, against 122 for `library_header.jpg`. No appid carries both.
* The **`<appid>/<name>`** layout, with no hash dir, holds **623 of 779** appids; the scan walked only `<appid>/<hash>/<name>`.
Per-appid art found locally on that cache: portrait 25 → 328, hero 75 → 323, header 86 → 716, logo 66 → 295, with no appid losing art it already had.
This repo's own source does not change — the kit is `--external` at build time, so the version bump is the whole delivery mechanism.
## Why the range moves to `^0.4.2` instead of resting on `^0.4.1`
`^0.4.1` already admits 0.4.2, but a host's plugins dir keeps its **own `bun.lock`**, and each plugin gets its **own nested** `node_modules/@punktfunk/plugin-kit`. Under the old range, `bun add @punktfunk/plugin-steam@0.1.2` is free to keep the 0.4.1 it already has and the fix never arrives. That is not hypothetical — on the .41 box, patching the hoisted kit copy changed nothing at all while the runner logged a clean `[steam] sync (startup): reconciled 22 entries`, because this plugin resolves its own nested copy.
## ⚠ Ordering: CI is red until the kit is published
`ci.yml` installs with `--frozen-lockfile`, and `bun.lock` still pins `@punktfunk/plugin-kit@0.4.1` — the 0.4.2 tarball does not exist yet, so the lockfile cannot be regenerated. Sequence:
1. merge punktfunk#265, push tag `plugin-kit-v0.4.2` → kit publishes
2. `bun install` here, commit the regenerated `bun.lock` → CI goes green
3. merge, then tag `v0.1.2` — merging alone publishes nothing
4. `punktfunk-plugin-index` gets version + integrity + `verification.reviewedAt`
Happy to do step 2 as soon as the tag lands.
plugin-kit 0.4.2 teaches `findLocalArtFile` the names and layouts Steam
actually uses today: `library_capsule.jpg` beside `library_600x900.jpg`,
`header.jpg` beside `library_header.jpg`, and the `<appid>/<name>` layout
that holds 623 of the 779 appids on the reference cache. Measured there,
per-appid art found locally goes portrait 25 -> 328 and header 86 -> 716,
with no appid losing art it already had.
The range moves to ^0.4.2 rather than resting on ^0.4.1 admitting it. A
host's plugins dir has its own bun.lock pinning the NESTED kit copy, so
`bun add @punktfunk/plugin-steam@0.1.2` under the old range is free to
keep the 0.4.1 it already has — which is exactly the state found on the
.41 box, where patching the hoisted kit did nothing because the plugin
resolves its own nested one.
Nothing in this repo's own source changes: the kit is external at build
time, so this is the version bump that lets the fix travel.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Second link in the chain for punktfunk#265, which fixes "Forza Horizon 6 shows a banner instead of a cover".
What the kit fix does
plugin-kit0.4.2 teachesfindLocalArtFilethe filenames and layouts Steam actually uses now. Measured against a real 779-appappcache/librarycache:library_capsule.jpgis the newer name for the 2:3 cover — 46 appids have only that one, Forza Horizon 6 among them.header.jpgis the newer name for the header — 594 appids, against 122 forlibrary_header.jpg. No appid carries both.<appid>/<name>layout, with no hash dir, holds 623 of 779 appids; the scan walked only<appid>/<hash>/<name>.Per-appid art found locally on that cache: portrait 25 → 328, hero 75 → 323, header 86 → 716, logo 66 → 295, with no appid losing art it already had.
This repo's own source does not change — the kit is
--externalat build time, so the version bump is the whole delivery mechanism.Why the range moves to
^0.4.2instead of resting on^0.4.1^0.4.1already admits 0.4.2, but a host's plugins dir keeps its ownbun.lock, and each plugin gets its own nestednode_modules/@punktfunk/plugin-kit. Under the old range,bun add @punktfunk/plugin-steam@0.1.2is free to keep the 0.4.1 it already has and the fix never arrives. That is not hypothetical — on the .41 box, patching the hoisted kit copy changed nothing at all while the runner logged a clean[steam] sync (startup): reconciled 22 entries, because this plugin resolves its own nested copy.⚠ Ordering: CI is red until the kit is published
ci.ymlinstalls with--frozen-lockfile, andbun.lockstill pins@punktfunk/plugin-kit@0.4.1— the 0.4.2 tarball does not exist yet, so the lockfile cannot be regenerated. Sequence:plugin-kit-v0.4.2→ kit publishesbun installhere, commit the regeneratedbun.lock→ CI goes greenv0.1.2— merging alone publishes nothingpunktfunk-plugin-indexgets version + integrity +verification.reviewedAtHappy to do step 2 as soon as the tag lands.