feat(applications): surface per-app release-notes link in the applications view (BUNYIP-343) #368
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/BUNYIP-343-application-release-notes"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Surfaces a per-application "Release notes" link in the applications view (BUNYIP-343). Adds an admin-editable
release_notes_urlcolumn, modelled exactly on the existingsource_code_urlfield, and renders it on each application card.Blocker resolution
The 2026-07-10 audit flagged three gaps; resolved here:
app_cardfed by bunyip-api, notsrc/pages/applications.applicationsrow.Changes
release_notes_urlcolumn and seedsmokosh/drillmark(guarded onIS NULLso an admin edit is never clobbered).Application,ApplicationResponse,CreateApplication/UpdateApplication, and the repository create/update SQL (appended as the highest bind parameter so existing positional params are untouched; runtime queries, no.sqlxregen).DetailsView, so create and edit stay in sync. The admin API already accepts it (both handlers deserialize intoCreate/UpdateApplication).Why a stored column, not derived from Forgejo config
The hosted launch tiles carry no Forgejo repo config; the download products point at the private
psa-systems-privateorg (release pages not public); and one app can map to multiple repos. A derived URL would surface on ~zero real apps and could not express the mapping. The column decouples release-notes from download config and lets ops fix links without a deploy. (Chosen with the reporter.)Verification
release_notes_urlcolumn exists, and the seed lands (mokosh -> .../mokosh-server/releases,drillmark -> .../drillmark/releases).app_cardrendering/omitting the link; a web test proves the admin form sends the edited URL.just check-containergreen (fmt + clippy -D warnings + 104 tests).Note for the reporter
The seed URLs (
https://dev.a8n.run/psa-systems/<repo>/releases) are best-effort public defaults. If the canonical release-notes location differs (different org, per-repo, or multiple repos per app), correct them in the admin applications UI - no migration needed.Closes BUNYIP-343.
🤖 Generated with Claude Code