build marketplace icon URLs from HEAD, not from a branch name

Every available plugin drew a broken image on any server reading the remote
catalogue. The URLs said /raw/branch/main/, and four plugin repositories were
created on `master` — so those 404'd, and the others only worked by accident of
which branch somebody happened to use.

The comment above the builder already said "a repo whose default branch is
`master` gets a 404", marked [open]. It then happened. A warning in a comment
is not a guard.

Gitea resolves /raw/HEAD/ to whatever the default branch is, so the question
stops being asked. Verified against both spellings, and all 12 icons in the
live catalogue now answer 200.

It did not show on alpha because every plugin there is INSTALLED, and an
installed plugin's tile is served locally from /plugins/<name>/ rather than
from the catalogue.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-19 10:55:10 +00:00
co-authored by Claude Opus 5
parent 427bd1afff
commit 5b486ed019
2 changed files with 14 additions and 9 deletions
+2 -2
View File
@@ -285,7 +285,7 @@ const BUNDLED: CatalogueEntry[] = [
color: '#22c55e',
// Artwork rather than a glyph, so the tile draws no coloured square behind it.
tile: 'bare',
iconUrl: 'https://gitea.officer.dev/plugins/music/raw/branch/main/assets/icon.png',
iconUrl: 'https://gitea.officer.dev/plugins/music/raw/HEAD/assets/icon.png',
source: 'https://gitea.officer.dev/plugins/music.git',
permissions: [
{
@@ -320,7 +320,7 @@ const BUNDLED: CatalogueEntry[] = [
// Ships artwork as of 2026-08-15, so the tile is `bare` like music's. `icon` stays as the fallback
// for the case the assets fail to publish — the glyph is strictly better than the generic box.
tile: 'bare',
iconUrl: 'https://gitea.officer.dev/plugins/offscale/raw/branch/main/assets/icon.png',
iconUrl: 'https://gitea.officer.dev/plugins/offscale/raw/HEAD/assets/icon.png',
icon: 'Network',
source: 'https://gitea.officer.dev/plugins/offscale.git',
permissions: [