From f76bbba9bea6f9ec7b0d9feb27f0f6dc2cdf7c10 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 19 Jul 2026 01:58:04 +0200 Subject: [PATCH] refactor(workdir): remove unnecessary global NoConfirm mutation in removeMake (#2906) refactor(workdir): remove unnecessary global NoConfirm mutation in removeMake removeMake always removes packages non-interactively, so it sets settings.NoConfirm = true, calls BuildPacmanCmd, then restores the original value. This pattern is thread-unsafe and redundant because BuildPacmanCmd already accepts a noConfirm bool parameter. Pass true directly to BuildPacmanCmd, eliminating the global mutation. --- pkg/sync/workdir/clean.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkg/sync/workdir/clean.go b/pkg/sync/workdir/clean.go index 79d0b36f..1a1bb8db 100644 --- a/pkg/sync/workdir/clean.go +++ b/pkg/sync/workdir/clean.go @@ -26,11 +26,10 @@ func removeMake(ctx context.Context, config *settings.Configuration, removeArguments.AddTarget(pkg) } - oldValue := settings.NoConfirm - settings.NoConfirm = true + // removeMake always runs non-interactively; pass noConfirm=true directly + // rather than mutating the global settings.NoConfirm. err = cmdBuilder.Show(cmdBuilder.BuildPacmanCmd(ctx, - removeArguments, config.Mode, settings.NoConfirm)) - settings.NoConfirm = oldValue + removeArguments, config.Mode, true)) return err }