From c5debdae3483205718a93c19c677e9f8adfc8f4e Mon Sep 17 00:00:00 2001 From: Samuel K Date: Thu, 14 May 2026 12:18:41 -0500 Subject: [PATCH] fix(daemon): trust merge layer for ShutdownAction instead of re-defaulting The daemon's safety-net fallback to StopContainer masked the context-dependent default set by merge.go (StopCompose for compose workspaces, StopContainer for image workspaces). Remove the conditional and use mergedConfig.ShutdownAction directly, since the merge layer guarantees it is always populated. --- pkg/daemon/agent/daemon.go | 5 +---- pkg/daemon/agent/daemon_test.go | 4 ++-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/pkg/daemon/agent/daemon.go b/pkg/daemon/agent/daemon.go index 83d367481..90963a6e7 100644 --- a/pkg/daemon/agent/daemon.go +++ b/pkg/daemon/agent/daemon.go @@ -61,10 +61,7 @@ func BuildWorkspaceDaemonConfig( // build info isn't required in the workspace and can be omitted platformOptions.Build = nil - shutdownAction := config.ShutdownActionStopContainer - if mergedConfig.ShutdownAction != "" { - shutdownAction = mergedConfig.ShutdownAction - } + shutdownAction := mergedConfig.ShutdownAction daemonConfig := &DaemonConfig{ Platform: platformOptions, diff --git a/pkg/daemon/agent/daemon_test.go b/pkg/daemon/agent/daemon_test.go index c80202cf4..e0483433a 100644 --- a/pkg/daemon/agent/daemon_test.go +++ b/pkg/daemon/agent/daemon_test.go @@ -15,9 +15,9 @@ func TestBuildWorkspaceDaemonConfig_ShutdownAction(t *testing.T) { want string }{ { - name: "defaults to stopContainer when empty", + name: "passes through empty value from merged config", shutdownAction: "", - want: config.ShutdownActionStopContainer, + want: "", }, { name: "preserves none",