fix: unify container shutdown logic to prevent orphaned resources #19
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
shutdownContainerhelper methodStop,Remove, andRecreateto use the unified helperProblem
The
Removemethod was silently ignoring container stop/remove errors, which could leave orphaned containers when multiplexer sessions were still active. This caused "Resource busy" errors that were never surfaced to the user.Additionally, there was inconsistent behavior across
Stop,Remove, andRecreate:StopandRecreateproperly killed sessions before stopping containersRemovedid not, leading to the "Resource busy" failuresSolution
Created a
shutdownContainerhelper that encapsulates the common shutdown sequence:All three methods now use this helper, ensuring consistent behavior.
Additional Improvements
Createcleanup now usesstopContainerWithRetryand reports failuresCreateSessioncleanup reports if session kill fails (prevents orphaned tmux sessions)Removenow properly handles worktree removal errors (fails on real errors, ignores "not found")Test plan
just check)🤖 Generated with Claude Code