From 7f93aaea218060f37ebce4e398a14cb5978520bd Mon Sep 17 00:00:00 2001 From: "Molecule AI Dev Engineer A (Kimi)" Date: Tue, 26 May 2026 13:03:03 +0000 Subject: [PATCH] fix(checkpoints): handle RowsAffected error in Delete handler Previously the error from result.RowsAffected() was discarded, so a driver error after DELETE would incorrectly return 404 instead of 500. Co-Authored-By: Claude Opus 4.7 --- workspace-server/internal/handlers/checkpoints.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/workspace-server/internal/handlers/checkpoints.go b/workspace-server/internal/handlers/checkpoints.go index 0c07b7d88..7b22d7743 100644 --- a/workspace-server/internal/handlers/checkpoints.go +++ b/workspace-server/internal/handlers/checkpoints.go @@ -229,7 +229,12 @@ func (h *CheckpointsHandler) Delete(c *gin.Context) { return } - n, _ := result.RowsAffected() + n, err := result.RowsAffected() + if err != nil { + log.Printf("Delete checkpoints RowsAffected error workspace=%s wf=%s: %v", workspaceID, workflowID, err) + c.JSON(http.StatusInternalServerError, gin.H{"error": "failed to delete checkpoints"}) + return + } if n == 0 { c.JSON(http.StatusNotFound, gin.H{"error": "no checkpoints found for workflow"}) return -- 2.52.0