fix(release): +view 支持 tag/gitea id/version_id 三重引用解析(生产上按 tag 请求原本回落 HTML)

This commit is contained in:
Taoyouce 2026-07-07 16:40:05 +00:00
parent b4e66f1eaa
commit d08c80079f
2 changed files with 17 additions and 3 deletions

View File

@ -173,7 +173,11 @@ func Shortcuts(translators ...*i18n.Translator) []*common.Shortcut {
if err != nil {
return err
}
env, err := ctx.CallAPI("GET", fmt.Sprintf("%s/releases/%s", ctx.RepoPath(), id), nil)
versionID, err := resolveVersionID(ctx, id)
if err != nil {
return err
}
env, err := ctx.CallAPI("GET", fmt.Sprintf("%s/releases/%s", ctx.RepoPath(), versionID), nil)
if err != nil {
return err
}

View File

@ -90,8 +90,18 @@ func TestReleaseEdit(t *testing.T) {
func TestReleaseView(t *testing.T) {
server := newReleaseTestServer(t, func(w http.ResponseWriter, r *http.Request) {
assertReleaseRequest(t, r, "GET", "/owner/repo/releases/v1.0.json")
writeReleaseJSON(t, w, map[string]interface{}{"tag_name": "v1.0", "name": "Version 1.0"})
switch r.URL.Path {
case "/owner/repo/releases.json":
writeReleaseJSON(t, w, map[string]interface{}{
"releases": []map[string]interface{}{
{"tag_name": "v1.0", "id": "900001", "version_id": 7},
},
})
case "/owner/repo/releases/7.json":
writeReleaseJSON(t, w, map[string]interface{}{"tag_name": "v1.0", "name": "Version 1.0"})
default:
t.Fatalf("unexpected request: %s %s", r.Method, r.URL.Path)
}
})
defer server.Close()