hanabi: pin the saves art URLs to a commit #11

Merged
joeyr merged 1 commit from hanabi/pin-art-urls into main 2026-08-16 23:03:46 -05:00
Owner

Forgejo caches branch raw URLs. After committing the wooden table top, the raw endpoint kept serving the previous image long enough to look like the commit had not landed — the file was in git, git show confirmed it, and the URL returned the old one.

A save is also a snapshot. Art moving under an already-published save is a mod that changes without anyone touching it.

So the save gets /raw/commit/<sha>/ URLs pinned to whatever commit last touched games/hanabi/art. Sources keep branch/main so a hand-pasted script still fetches something; the substitution applies only to the copy embedded in the save, covering both the Lua ART_BASE and the mat ImageURL.

Verified: pinned URLs return 200 and the mat hash matches local, where the branch URL was still returning the superseded image.

Forgejo caches branch raw URLs. After committing the wooden table top, the raw endpoint kept serving the **previous** image long enough to look like the commit had not landed — the file was in git, `git show` confirmed it, and the URL returned the old one. A save is also a snapshot. Art moving under an already-published save is a mod that changes without anyone touching it. So the save gets `/raw/commit/<sha>/` URLs pinned to whatever commit last touched `games/hanabi/art`. Sources keep `branch/main` so a hand-pasted script still fetches something; the substitution applies only to the copy embedded in the save, covering both the Lua `ART_BASE` and the mat `ImageURL`. Verified: pinned URLs return 200 and the mat hash matches local, where the branch URL was still returning the superseded image.
hanabi: pin the save's art URLs to a commit
All checks were successful
lint / lua (pull_request) Successful in 18s
7f131c89f5
Forgejo caches branch raw URLs. After committing the wooden table top, the raw
endpoint kept serving the previous image for long enough to look like the commit
had not landed -- the file was in git, git show confirmed it, and the URL
returned the old one. Anything built against branch/main inherits that.

A save is also a snapshot. Art moving under an already-published save is a mod
that changes without anyone touching it, which is the opposite of what
committing the art was meant to buy.

So the save gets /raw/commit/<sha>/ URLs, pinned to whatever commit last touched
games/hanabi/art. The sources keep branch/main, because a hand-pasted script
should still fetch something, and the substitution happens only on the copy
embedded in the save. Both the Lua's ART_BASE and the mat object's ImageURL go
through it.

Verified: the pinned URLs return 200 and the mat's hash matches the local file,
where the branch URL was still returning the superseded one.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
joeyr merged commit c998ef8d6e into main 2026-08-16 23:03:46 -05:00
joeyr referenced this pull request from a commit 2026-08-16 23:03:47 -05:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
joeyr/tts-games!11
No description provided.