diff --git a/cmd/bd/create_form.go b/cmd/bd/create_form.go index b772c13f..a13c4002 100644 --- a/cmd/bd/create_form.go +++ b/cmd/bd/create_form.go @@ -217,6 +217,7 @@ The form uses keyboard navigation: } func runCreateForm(cmd *cobra.Command) { + _ = cmd // cmd parameter required by cobra.Command.Run signature // Raw form input - will be populated by the form raw := &createFormRawInput{} @@ -329,7 +330,7 @@ func runCreateForm(cmd *cobra.Command) { err := form.Run() if err != nil { if err == huh.ErrUserAborted { - fmt.Fprintln(os.Stderr, "Issue creation cancelled.") + fmt.Fprintln(os.Stderr, "Issue creation canceled.") os.Exit(0) } FatalError("form error: %v", err) diff --git a/cmd/bd/flags.go b/cmd/bd/flags.go index 2ee05d4d..dfd55959 100644 --- a/cmd/bd/flags.go +++ b/cmd/bd/flags.go @@ -94,6 +94,7 @@ func readBodyFile(filePath string) (string, error) { if filePath == "-" { reader = os.Stdin } else { + // #nosec G304 - filePath comes from user flag, validated by caller file, err := os.Open(filePath) if err != nil { return "", fmt.Errorf("failed to open file: %w", err) diff --git a/internal/hooks/hooks.go b/internal/hooks/hooks.go index d4f94328..fc61b22b 100644 --- a/internal/hooks/hooks.go +++ b/internal/hooks/hooks.go @@ -67,8 +67,10 @@ func (r *Runner) Run(event string, issue *types.Issue) { return // Not executable, skip } - // Run asynchronously - go r.runHook(hookPath, event, issue) + // Run asynchronously (ignore error as this is fire-and-forget) + go func() { + _ = r.runHook(hookPath, event, issue) + }() } // RunSync executes a hook synchronously and returns any error. diff --git a/internal/storage/sqlite/migrations/022_drop_edge_columns.go b/internal/storage/sqlite/migrations/022_drop_edge_columns.go index 7f7c7831..198cd2a8 100644 --- a/internal/storage/sqlite/migrations/022_drop_edge_columns.go +++ b/internal/storage/sqlite/migrations/022_drop_edge_columns.go @@ -68,7 +68,9 @@ func MigrateDropEdgeColumns(db *sql.DB) error { return fmt.Errorf("failed to disable foreign keys: %w", err) } // Re-enable foreign keys at the end (deferred to ensure it runs) - defer db.Exec(`PRAGMA foreign_keys = ON`) + defer func() { + _, _ = db.Exec(`PRAGMA foreign_keys = ON`) + }() // Drop views that depend on the issues table BEFORE starting transaction // This is necessary because SQLite validates views during table operations