From ff02f5e826bdd27abb062a3c9e5213967e59c860 Mon Sep 17 00:00:00 2001 From: Molecule AI Core-BE Date: Thu, 14 May 2026 23:05:29 +0000 Subject: [PATCH] fix(handlers): add rows.Err() checks to loadWorkspaceSecrets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit loadWorkspaceSecrets() iterates over global_secrets and workspace_secrets rows without checking rows.Err() after the loop. If the connection is interrupted mid-iteration, the error is silently ignored. Add the standard deferred Err() check (pattern from secrets.go, org_helpers.go) to both loops. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- workspace-server/internal/handlers/workspace_provision.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/workspace-server/internal/handlers/workspace_provision.go b/workspace-server/internal/handlers/workspace_provision.go index 7900945c..821b313b 100644 --- a/workspace-server/internal/handlers/workspace_provision.go +++ b/workspace-server/internal/handlers/workspace_provision.go @@ -805,6 +805,9 @@ func loadWorkspaceSecrets(ctx context.Context, workspaceID string) (map[string]s envVars[k] = string(decrypted) } } + if err := globalRows.Err(); err != nil { + log.Printf("Provisioner: global_secrets rows.Err workspace=%s: %v", workspaceID, err) + } } wsRows, err := db.DB.QueryContext(ctx, `SELECT key, encrypted_value, encryption_version FROM workspace_secrets WHERE workspace_id = $1`, workspaceID) @@ -823,6 +826,9 @@ func loadWorkspaceSecrets(ctx context.Context, workspaceID string) (map[string]s envVars[k] = string(decrypted) } } + if err := wsRows.Err(); err != nil { + log.Printf("Provisioner: workspace_secrets rows.Err workspace=%s: %v", workspaceID, err) + } } return envVars, "" }