From a847129f9c8ee8064f9233ca49fe24ce42765da7 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Mon, 25 May 2026 19:15:12 -0500 Subject: [PATCH] fix: generate checksums on API asset upload, not just CreateRelease The API endpoint POST /releases/{id}/assets bypasses CreateRelease and UpdateRelease, so checksums were not generated for API uploads. Added GenerateReleaseChecksums call after successful asset upload. Co-Authored-By: Claude Opus 4.6 (1M context) --- routers/api/v1/repo/release_attachment.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/routers/api/v1/repo/release_attachment.go b/routers/api/v1/repo/release_attachment.go index f46f244768..4dd63e2f27 100644 --- a/routers/api/v1/repo/release_attachment.go +++ b/routers/api/v1/repo/release_attachment.go @@ -18,6 +18,7 @@ import ( "git.mokoconsulting.tech/MokoConsulting/MokoGitea/services/context" "git.mokoconsulting.tech/MokoConsulting/MokoGitea/services/context/upload" "git.mokoconsulting.tech/MokoConsulting/MokoGitea/services/convert" + release_service "git.mokoconsulting.tech/MokoConsulting/MokoGitea/services/release" ) func checkReleaseMatchRepo(ctx *context.APIContext, releaseID int64) bool { @@ -263,6 +264,14 @@ func CreateReleaseAttachment(ctx *context.APIContext) { return } + // Regenerate checksums after new attachment + rel, relErr := repo_model.GetReleaseByID(ctx, releaseID) + if relErr == nil { + if checksumErr := release_service.GenerateReleaseChecksums(ctx, rel); checksumErr != nil { + log.Error("GenerateReleaseChecksums after upload: %v", checksumErr) + } + } + ctx.JSON(http.StatusCreated, convert.ToAPIAttachment(ctx.Repo.Repository, attach)) } -- 2.52.0