Skip to content

fix(replay): hand the fetched release assets to the manifest refresh - #11

Merged
NewtTheWolf merged 1 commit into
mainfrom
fix/replay-passes-release-assets
Aug 18, 2026
Merged

fix(replay): hand the fetched release assets to the manifest refresh#11
NewtTheWolf merged 1 commit into
mainfrom
fix/replay-passes-release-assets

Conversation

@NewtTheWolf

Copy link
Copy Markdown
Contributor

Found while repairing every plugin on the production registry after #10.

The admin Replay webhook fetches the upstream release — assets included — and then calls refreshManifestAtRelease(plugin, tag, version) without them. The asset-first resolver returns null for an empty asset list, strict mode declares the manifest missing, and the replay quietly defers to a delayed asset recheck (30s/90s/180s) instead of doing the work the operator just asked for.

Production logs from the sweep, for releases whose .tabularium asset has been published all along:

"reason":"no manifest asset published on the release","assetCount":0,
"msg":"manifest asset missing — strict mode"

Consequence: pressing Replay wrote no manifest data, so min_runtime_version (and the release README, and the manifest sha/raw) stayed empty unless a background recheck happened to land. The release webhook path has always passed normalized.assets; the replay simply did not.

One argument. Covered by a new route test that drives the endpoint with a mocked forge and asserts the release row comes back with manifest_raw and min_runtime_version written — it fails against the old code.

bun test 479 pass / 0 fail, tsc clean.

The admin replay fetched the upstream release, assets and all, then
called refreshManifestAtRelease without them. The asset-first resolver
saw an empty list, strict mode declared the manifest missing, and the
replay deferred to a delayed asset recheck — so pressing the button
wrote no manifest data and left min_runtime_version NULL until a
background retry happened to land. The release webhook path already
passed its assets; the replay just did not.

Visible on the production registry: replaying every plugin logged
'manifest asset missing — strict mode' with assetCount: 0 for releases
whose manifest asset was published all along.
@vercel

vercel Bot commented Aug 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

2 Skipped Deployments
Project Deployment Actions Updated (UTC)
tabularium-docs Skipped Skipped Aug 18, 2026 7:21pm
tabularium-website Skipped Skipped Aug 18, 2026 7:21pm

Request Review

@vercel
vercel Bot temporarily deployed to Preview – tabularium-website August 18, 2026 19:21 Inactive
@vercel
vercel Bot temporarily deployed to Preview – tabularium-docs August 18, 2026 19:21 Inactive
@NewtTheWolf
NewtTheWolf merged commit f92f0fd into main Aug 18, 2026
9 checks passed
@NewtTheWolf
NewtTheWolf deleted the fix/replay-passes-release-assets branch August 18, 2026 19:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant