dmux 5.2.0 → 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -5
- package/dist/DmuxApp.d.ts.map +1 -1
- package/dist/DmuxApp.js +100 -56
- package/dist/DmuxApp.js.map +1 -1
- package/dist/actions/implementations/closeAction.d.ts.map +1 -1
- package/dist/actions/implementations/closeAction.js +84 -13
- package/dist/actions/implementations/closeAction.js.map +1 -1
- package/dist/actions/implementations/index.d.ts +1 -0
- package/dist/actions/implementations/index.d.ts.map +1 -1
- package/dist/actions/implementations/index.js +3 -0
- package/dist/actions/implementations/index.js.map +1 -1
- package/dist/actions/implementations/mergeAction.d.ts.map +1 -1
- package/dist/actions/implementations/mergeAction.js +59 -19
- package/dist/actions/implementations/mergeAction.js.map +1 -1
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +18 -0
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/merge/conflictResolution.d.ts.map +1 -1
- package/dist/actions/merge/conflictResolution.js +17 -12
- package/dist/actions/merge/conflictResolution.js.map +1 -1
- package/dist/actions/merge/issueHandlers/mainDirtyHandler.d.ts.map +1 -1
- package/dist/actions/merge/issueHandlers/mainDirtyHandler.js +8 -6
- package/dist/actions/merge/issueHandlers/mainDirtyHandler.js.map +1 -1
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.d.ts +1 -1
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.d.ts.map +1 -1
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.js +9 -2
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.js.map +1 -1
- package/dist/actions/merge/multiMergeOrchestrator.d.ts.map +1 -1
- package/dist/actions/merge/multiMergeOrchestrator.js +33 -14
- package/dist/actions/merge/multiMergeOrchestrator.js.map +1 -1
- package/dist/actions/types.d.ts +5 -2
- package/dist/actions/types.d.ts.map +1 -1
- package/dist/actions/types.js +28 -1
- package/dist/actions/types.js.map +1 -1
- package/dist/components/dialogs/AgentChoiceDialog.d.ts +2 -1
- package/dist/components/dialogs/AgentChoiceDialog.d.ts.map +1 -1
- package/dist/components/dialogs/AgentChoiceDialog.js +4 -5
- package/dist/components/dialogs/AgentChoiceDialog.js.map +1 -1
- package/dist/components/panes/PaneCard.d.ts +1 -3
- package/dist/components/panes/PaneCard.d.ts.map +1 -1
- package/dist/components/panes/PaneCard.js +54 -37
- package/dist/components/panes/PaneCard.js.map +1 -1
- package/dist/components/panes/PanesGrid.d.ts +1 -0
- package/dist/components/panes/PanesGrid.d.ts.map +1 -1
- package/dist/components/panes/PanesGrid.js +60 -78
- package/dist/components/panes/PanesGrid.js.map +1 -1
- package/dist/components/popups/agentChoicePopup.d.ts +2 -2
- package/dist/components/popups/agentChoicePopup.js +90 -56
- package/dist/components/popups/agentChoicePopup.js.map +1 -1
- package/dist/components/popups/agentChoiceSelection.d.ts +8 -0
- package/dist/components/popups/agentChoiceSelection.d.ts.map +1 -0
- package/dist/components/popups/agentChoiceSelection.js +14 -0
- package/dist/components/popups/agentChoiceSelection.js.map +1 -0
- package/dist/components/popups/diffPeekPopup.d.ts +7 -0
- package/dist/components/popups/diffPeekPopup.d.ts.map +1 -0
- package/dist/components/popups/diffPeekPopup.js +99 -0
- package/dist/components/popups/diffPeekPopup.js.map +1 -0
- package/dist/components/popups/enabledAgentsPopup.d.ts +7 -0
- package/dist/components/popups/enabledAgentsPopup.d.ts.map +1 -0
- package/dist/components/popups/enabledAgentsPopup.js +196 -0
- package/dist/components/popups/enabledAgentsPopup.js.map +1 -0
- package/dist/components/popups/kebabMenuPopup.js +2 -2
- package/dist/components/popups/kebabMenuPopup.js.map +1 -1
- package/dist/components/popups/mergeUncommittedChoicePopup.d.ts +7 -0
- package/dist/components/popups/mergeUncommittedChoicePopup.d.ts.map +1 -0
- package/dist/components/popups/mergeUncommittedChoicePopup.js +289 -0
- package/dist/components/popups/mergeUncommittedChoicePopup.js.map +1 -0
- package/dist/components/popups/newPanePopup.js +8 -0
- package/dist/components/popups/newPanePopup.js.map +1 -1
- package/dist/components/popups/reopenWorktreePopup.js +33 -3
- package/dist/components/popups/reopenWorktreePopup.js.map +1 -1
- package/dist/components/popups/settingsPopup.js +346 -25
- package/dist/components/popups/settingsPopup.js.map +1 -1
- package/dist/components/popups/shortcutsPopup.js +17 -13
- package/dist/components/popups/shortcutsPopup.js.map +1 -1
- package/dist/components/popups/singleAgentChoicePopup.d.ts +7 -0
- package/dist/components/popups/singleAgentChoicePopup.d.ts.map +1 -0
- package/dist/components/popups/singleAgentChoicePopup.js +95 -0
- package/dist/components/popups/singleAgentChoicePopup.js.map +1 -0
- package/dist/components/ui/FooterHelp.js +1 -1
- package/dist/components/ui/FooterHelp.js.map +1 -1
- package/dist/constants/layout.d.ts +9 -0
- package/dist/constants/layout.d.ts.map +1 -0
- package/dist/constants/layout.js +9 -0
- package/dist/constants/layout.js.map +1 -0
- package/dist/hooks/useActionSystem.d.ts +1 -1
- package/dist/hooks/useActionSystem.d.ts.map +1 -1
- package/dist/hooks/useActionSystem.js +1 -1
- package/dist/hooks/useActionSystem.js.map +1 -1
- package/dist/hooks/useAgentDetection.d.ts +2 -2
- package/dist/hooks/useAgentDetection.d.ts.map +1 -1
- package/dist/hooks/useAgentDetection.js +18 -88
- package/dist/hooks/useAgentDetection.js.map +1 -1
- package/dist/hooks/useAutoUpdater.d.ts.map +1 -1
- package/dist/hooks/useAutoUpdater.js +2 -4
- package/dist/hooks/useAutoUpdater.js.map +1 -1
- package/dist/hooks/useInputHandling.d.ts +5 -0
- package/dist/hooks/useInputHandling.d.ts.map +1 -1
- package/dist/hooks/useInputHandling.js +230 -22
- package/dist/hooks/useInputHandling.js.map +1 -1
- package/dist/hooks/useNavigation.d.ts +1 -1
- package/dist/hooks/useNavigation.d.ts.map +1 -1
- package/dist/hooks/useNavigation.js +26 -4
- package/dist/hooks/useNavigation.js.map +1 -1
- package/dist/hooks/usePaneCreation.d.ts +5 -2
- package/dist/hooks/usePaneCreation.d.ts.map +1 -1
- package/dist/hooks/usePaneCreation.js +123 -23
- package/dist/hooks/usePaneCreation.js.map +1 -1
- package/dist/hooks/usePaneSync.d.ts +1 -1
- package/dist/hooks/usePaneSync.d.ts.map +1 -1
- package/dist/hooks/usePaneSync.js +14 -1
- package/dist/hooks/usePaneSync.js.map +1 -1
- package/dist/hooks/usePanes.d.ts.map +1 -1
- package/dist/hooks/usePanes.js +19 -5
- package/dist/hooks/usePanes.js.map +1 -1
- package/dist/hooks/useServices.d.ts +2 -1
- package/dist/hooks/useServices.d.ts.map +1 -1
- package/dist/hooks/useServices.js +4 -2
- package/dist/hooks/useServices.js.map +1 -1
- package/dist/index.js +200 -21
- package/dist/index.js.map +1 -1
- package/dist/layout/LayoutCalculator.d.ts.map +1 -1
- package/dist/layout/LayoutCalculator.js +4 -1
- package/dist/layout/LayoutCalculator.js.map +1 -1
- package/dist/layout/SpacerManager.d.ts.map +1 -1
- package/dist/layout/SpacerManager.js +2 -1
- package/dist/layout/SpacerManager.js.map +1 -1
- package/dist/services/PaneEventService.d.ts.map +1 -1
- package/dist/services/PaneEventService.js +2 -5
- package/dist/services/PaneEventService.js.map +1 -1
- package/dist/services/PaneWorkerManager.d.ts.map +1 -1
- package/dist/services/PaneWorkerManager.js +2 -14
- package/dist/services/PaneWorkerManager.js.map +1 -1
- package/dist/services/PopupManager.d.ts +14 -2
- package/dist/services/PopupManager.d.ts.map +1 -1
- package/dist/services/PopupManager.js +162 -24
- package/dist/services/PopupManager.js.map +1 -1
- package/dist/services/TmuxHookManager.d.ts.map +1 -1
- package/dist/services/TmuxHookManager.js +4 -2
- package/dist/services/TmuxHookManager.js.map +1 -1
- package/dist/services/TmuxService.d.ts +9 -0
- package/dist/services/TmuxService.d.ts.map +1 -1
- package/dist/services/TmuxService.js +18 -2
- package/dist/services/TmuxService.js.map +1 -1
- package/dist/types.d.ts +11 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/agentDetection.d.ts +15 -8
- package/dist/utils/agentDetection.d.ts.map +1 -1
- package/dist/utils/agentDetection.js +49 -73
- package/dist/utils/agentDetection.js.map +1 -1
- package/dist/utils/agentLaunch.d.ts +60 -2
- package/dist/utils/agentLaunch.d.ts.map +1 -1
- package/dist/utils/agentLaunch.js +490 -41
- package/dist/utils/agentLaunch.js.map +1 -1
- package/dist/utils/agentPromptDispatch.d.ts +33 -0
- package/dist/utils/agentPromptDispatch.d.ts.map +1 -0
- package/dist/utils/agentPromptDispatch.js +99 -0
- package/dist/utils/agentPromptDispatch.js.map +1 -0
- package/dist/utils/asciiArt.d.ts.map +1 -1
- package/dist/utils/asciiArt.js +6 -7
- package/dist/utils/asciiArt.js.map +1 -1
- package/dist/utils/attachAgent.d.ts +25 -0
- package/dist/utils/attachAgent.d.ts.map +1 -0
- package/dist/utils/attachAgent.js +139 -0
- package/dist/utils/attachAgent.js.map +1 -0
- package/dist/utils/conflictResolutionPane.d.ts +2 -1
- package/dist/utils/conflictResolutionPane.d.ts.map +1 -1
- package/dist/utils/conflictResolutionPane.js +48 -53
- package/dist/utils/conflictResolutionPane.js.map +1 -1
- package/dist/utils/controlPaneRecovery.d.ts +2 -0
- package/dist/utils/controlPaneRecovery.d.ts.map +1 -0
- package/dist/utils/controlPaneRecovery.js +156 -0
- package/dist/utils/controlPaneRecovery.js.map +1 -0
- package/dist/utils/devSource.d.ts +7 -0
- package/dist/utils/devSource.d.ts.map +1 -0
- package/dist/utils/devSource.js +19 -0
- package/dist/utils/devSource.js.map +1 -0
- package/dist/utils/devWatchCommand.d.ts +8 -0
- package/dist/utils/devWatchCommand.d.ts.map +1 -0
- package/dist/utils/devWatchCommand.js +14 -0
- package/dist/utils/devWatchCommand.js.map +1 -0
- package/dist/utils/geminiTrust.d.ts +8 -0
- package/dist/utils/geminiTrust.d.ts.map +1 -0
- package/dist/utils/geminiTrust.js +67 -0
- package/dist/utils/geminiTrust.js.map +1 -0
- package/dist/utils/generated-agents-doc.d.ts +1 -1
- package/dist/utils/generated-agents-doc.js +3 -3
- package/dist/utils/hooksDocs.d.ts +2 -9
- package/dist/utils/hooksDocs.d.ts.map +1 -1
- package/dist/utils/hooksDocs.js +26 -6
- package/dist/utils/hooksDocs.js.map +1 -1
- package/dist/utils/layoutManager.d.ts +5 -1
- package/dist/utils/layoutManager.d.ts.map +1 -1
- package/dist/utils/layoutManager.js +103 -26
- package/dist/utils/layoutManager.js.map +1 -1
- package/dist/utils/paneCreation.d.ts +8 -2
- package/dist/utils/paneCreation.d.ts.map +1 -1
- package/dist/utils/paneCreation.js +82 -105
- package/dist/utils/paneCreation.js.map +1 -1
- package/dist/utils/paneGrouping.d.ts.map +1 -1
- package/dist/utils/paneGrouping.js +30 -0
- package/dist/utils/paneGrouping.js.map +1 -1
- package/dist/utils/projectActions.d.ts +5 -0
- package/dist/utils/projectActions.d.ts.map +1 -1
- package/dist/utils/projectActions.js +15 -4
- package/dist/utils/projectActions.js.map +1 -1
- package/dist/utils/reopenWorktree.d.ts +1 -1
- package/dist/utils/reopenWorktree.d.ts.map +1 -1
- package/dist/utils/reopenWorktree.js +23 -31
- package/dist/utils/reopenWorktree.js.map +1 -1
- package/dist/utils/runtimePaths.d.ts +2 -0
- package/dist/utils/runtimePaths.d.ts.map +1 -0
- package/dist/utils/runtimePaths.js +8 -0
- package/dist/utils/runtimePaths.js.map +1 -0
- package/dist/utils/settingsManager.d.ts +3 -0
- package/dist/utils/settingsManager.d.ts.map +1 -1
- package/dist/utils/settingsManager.js +200 -9
- package/dist/utils/settingsManager.js.map +1 -1
- package/dist/utils/systemCheck.d.ts.map +1 -1
- package/dist/utils/systemCheck.js +0 -13
- package/dist/utils/systemCheck.js.map +1 -1
- package/dist/utils/tmux.d.ts +5 -1
- package/dist/utils/tmux.d.ts.map +1 -1
- package/dist/utils/tmux.js +23 -5
- package/dist/utils/tmux.js.map +1 -1
- package/dist/utils/tmuxHookCommands.d.ts +14 -0
- package/dist/utils/tmuxHookCommands.d.ts.map +1 -0
- package/dist/utils/tmuxHookCommands.js +30 -0
- package/dist/utils/tmuxHookCommands.js.map +1 -0
- package/dist/utils/welcomePane.d.ts +2 -1
- package/dist/utils/welcomePane.d.ts.map +1 -1
- package/dist/utils/welcomePane.js +3 -2
- package/dist/utils/welcomePane.js.map +1 -1
- package/dist/utils/welcomePaneManager.js +1 -1
- package/dist/utils/welcomePaneManager.js.map +1 -1
- package/dist/workers/PaneWorker.js.map +1 -1
- package/dist/workers/WorkerMessages.d.ts +2 -1
- package/dist/workers/WorkerMessages.d.ts.map +1 -1
- package/dist/workers/WorkerMessages.js.map +1 -1
- package/package.json +11 -6
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
-
<img src="./dmux.
|
|
20
|
+
<img src="./dmux.webp" alt="dmux demo" width="100%" />
|
|
21
21
|
|
|
22
22
|
## Install
|
|
23
23
|
|
|
@@ -32,15 +32,15 @@ cd /path/to/your/project
|
|
|
32
32
|
dmux
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
Press `n` to create a new pane, type a prompt, pick
|
|
35
|
+
Press `n` to create a new pane, type a prompt, pick one or more agents (or none for a plain terminal), and dmux handles the rest — worktree, branch, and agent launch.
|
|
36
36
|
|
|
37
37
|
## What it does
|
|
38
38
|
|
|
39
39
|
dmux creates a tmux pane for each task. Every pane gets its own git worktree and branch so agents work in complete isolation. When a task is done, press `m` to merge it back into your main branch.
|
|
40
40
|
|
|
41
41
|
- **Worktree isolation** — each pane is a full working copy, no conflicts between agents
|
|
42
|
-
- **Agent support** — Claude Code, Codex, and
|
|
43
|
-
- **
|
|
42
|
+
- **Agent support** — Claude Code, Codex, OpenCode, Cline CLI, Gemini CLI, Qwen CLI, Amp CLI, pi CLI, Cursor CLI, Copilot CLI, and Crush CLI
|
|
43
|
+
- **Multi-select launches** — choose any combination of enabled agents per prompt
|
|
44
44
|
- **AI naming** — branches and commit messages generated automatically
|
|
45
45
|
- **Smart merging** — auto-commit, merge, and clean up in one step
|
|
46
46
|
- **Multi-project** — add multiple repos to the same session
|
|
@@ -64,13 +64,17 @@ dmux creates a tmux pane for each task. Every pane gets its own git worktree and
|
|
|
64
64
|
- tmux 3.0+
|
|
65
65
|
- Node.js 18+
|
|
66
66
|
- Git 2.20+
|
|
67
|
-
- At least one agent
|
|
67
|
+
- At least one supported agent CLI (for example [Claude Code](https://docs.anthropic.com/en/docs/claude-code), [Codex](https://github.com/openai/codex), [OpenCode](https://github.com/opencode-ai/opencode), [Cline CLI](https://docs.cline.bot/cline-cli/getting-started), [Gemini CLI](https://github.com/google-gemini/gemini-cli), [Qwen CLI](https://github.com/QwenLM/qwen-code), [Amp CLI](https://ampcode.com/manual), [pi CLI](https://www.npmjs.com/package/@mariozechner/pi-coding-agent), [Cursor CLI](https://docs.cursor.com/en/cli/overview), [Copilot CLI](https://github.com/github/copilot-cli), [Crush CLI](https://github.com/charmbracelet/crush))
|
|
68
68
|
- [OpenRouter API key](https://openrouter.ai/) (optional, for AI branch names and commit messages)
|
|
69
69
|
|
|
70
70
|
## Documentation
|
|
71
71
|
|
|
72
72
|
Full documentation is available at **[dmux.ai](https://dmux.ai)**, including setup guides, configuration, and hooks.
|
|
73
73
|
|
|
74
|
+
## Contributing
|
|
75
|
+
|
|
76
|
+
See **[CONTRIBUTING.md](./CONTRIBUTING.md)** for the recommended local "dmux-on-dmux" development loop, hook setup, and PR workflow.
|
|
77
|
+
|
|
74
78
|
## License
|
|
75
79
|
|
|
76
80
|
MIT
|
package/dist/DmuxApp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DmuxApp.d.ts","sourceRoot":"","sources":["../src/DmuxApp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAiD3D,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"DmuxApp.d.ts","sourceRoot":"","sources":["../src/DmuxApp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAiD3D,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,YAAY,CAAA;AAiBnB,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAi6BnC,CAAA;AAED,eAAe,OAAO,CAAA"}
|
package/dist/DmuxApp.js
CHANGED
|
@@ -7,7 +7,6 @@ import useProjectSettings from "./hooks/useProjectSettings.js";
|
|
|
7
7
|
import useTerminalWidth from "./hooks/useTerminalWidth.js";
|
|
8
8
|
import useNavigation from "./hooks/useNavigation.js";
|
|
9
9
|
import useAutoUpdater from "./hooks/useAutoUpdater.js";
|
|
10
|
-
import useAgentDetection from "./hooks/useAgentDetection.js";
|
|
11
10
|
import useAgentStatus from "./hooks/useAgentStatus.js";
|
|
12
11
|
import usePaneRunner from "./hooks/usePaneRunner.js";
|
|
13
12
|
import usePaneCreation from "./hooks/usePaneCreation.js";
|
|
@@ -28,9 +27,10 @@ import { useServices } from "./hooks/useServices.js";
|
|
|
28
27
|
import { PaneLifecycleManager } from "./services/PaneLifecycleManager.js";
|
|
29
28
|
import { reopenWorktree } from "./utils/reopenWorktree.js";
|
|
30
29
|
import { fileURLToPath } from "url";
|
|
31
|
-
import { dirname } from "path";
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
30
|
+
import { dirname, resolve as resolvePath } from "path";
|
|
31
|
+
import { resolveEnabledAgentsSelection, } from "./utils/agentLaunch.js";
|
|
32
|
+
import { resolveNextDevSourcePath } from "./utils/devSource.js";
|
|
33
|
+
import { buildDevWatchRespawnCommand } from "./utils/devWatchCommand.js";
|
|
34
34
|
const __filename = fileURLToPath(import.meta.url);
|
|
35
35
|
const __dirname = dirname(__filename);
|
|
36
36
|
import PanesGrid from "./components/panes/PanesGrid.js";
|
|
@@ -42,10 +42,12 @@ import UpdatingIndicator from "./components/indicators/UpdatingIndicator.js";
|
|
|
42
42
|
import FooterHelp from "./components/ui/FooterHelp.js";
|
|
43
43
|
import TmuxHooksPromptDialog from "./components/dialogs/TmuxHooksPromptDialog.js";
|
|
44
44
|
import { PaneEventService } from "./services/PaneEventService.js";
|
|
45
|
-
import { buildProjectActionLayout, buildVisualNavigationRows, } from "./utils/projectActions.js";
|
|
45
|
+
import { buildProjectActionLayout, buildVisualNavigationRows, buildGroupStartRows, } from "./utils/projectActions.js";
|
|
46
|
+
import { getPaneProjectRoot } from "./utils/paneProject.js";
|
|
46
47
|
const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoot, autoUpdater, controlPaneId, }) => {
|
|
47
48
|
const { stdout } = useStdout();
|
|
48
49
|
const terminalHeight = stdout?.rows || 40;
|
|
50
|
+
const isDevMode = process.env.DMUX_DEV === "true";
|
|
49
51
|
/* panes state moved to usePanes */
|
|
50
52
|
const [selectedIndex, setSelectedIndex] = useState(0);
|
|
51
53
|
const { statusMessage, setStatusMessage } = useStatusMessages();
|
|
@@ -63,9 +65,9 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
63
65
|
const { exit } = useApp();
|
|
64
66
|
// Flag to ignore input temporarily after popup closes (prevents buffered keys)
|
|
65
67
|
const [ignoreInput, setIgnoreInput] = useState(false);
|
|
66
|
-
// Agent selection
|
|
67
|
-
|
|
68
|
-
const
|
|
68
|
+
// Agent selection is settings-driven.
|
|
69
|
+
// Installation checks are performed lazily in the Enabled Agents settings popup.
|
|
70
|
+
const availableAgents = resolveEnabledAgentsSelection(settingsManager.getSettings().enabledAgents);
|
|
69
71
|
// Popup support detection
|
|
70
72
|
const [popupsSupported, setPopupsSupported] = useState(false);
|
|
71
73
|
// Track terminal dimensions for responsive layout
|
|
@@ -150,7 +152,7 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
150
152
|
});
|
|
151
153
|
// Spinner animation and branch detection now handled in hooks
|
|
152
154
|
// Pane creation
|
|
153
|
-
const { createNewPane: createNewPaneHook } = usePaneCreation({
|
|
155
|
+
const { createNewPane: createNewPaneHook, createPanesForAgents: createPanesForAgentsHook, } = usePaneCreation({
|
|
154
156
|
panes,
|
|
155
157
|
savePanes,
|
|
156
158
|
projectName,
|
|
@@ -167,10 +169,11 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
167
169
|
sidebarWidth: SIDEBAR_WIDTH,
|
|
168
170
|
projectRoot: projectRoot || process.cwd(),
|
|
169
171
|
popupsSupported,
|
|
172
|
+
isDevMode,
|
|
170
173
|
terminalWidth,
|
|
171
174
|
terminalHeight,
|
|
175
|
+
controlPaneId,
|
|
172
176
|
availableAgents,
|
|
173
|
-
agentChoice,
|
|
174
177
|
settingsManager,
|
|
175
178
|
projectSettings,
|
|
176
179
|
// Callbacks
|
|
@@ -281,12 +284,6 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
281
284
|
};
|
|
282
285
|
}, []);
|
|
283
286
|
// Update checking moved to useAutoUpdater
|
|
284
|
-
// Set default agent choice when detection completes
|
|
285
|
-
useEffect(() => {
|
|
286
|
-
if (agentChoice == null && availableAgents.length > 0) {
|
|
287
|
-
setAgentChoice(availableAgents[0] || "claude");
|
|
288
|
-
}
|
|
289
|
-
}, [availableAgents]);
|
|
290
287
|
// Welcome pane is now fully event-based:
|
|
291
288
|
// - Created at startup (in src/index.ts)
|
|
292
289
|
// - Destroyed when first pane is created (in paneCreation.ts)
|
|
@@ -295,12 +292,14 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
295
292
|
// loadPanes moved to usePanes
|
|
296
293
|
// getPanePositions moved to utils/tmux
|
|
297
294
|
const sessionProjectRoot = projectRoot || process.cwd();
|
|
295
|
+
const activeDevSourcePath = isDevMode ? process.cwd() : undefined;
|
|
298
296
|
const projectActionLayout = useMemo(() => buildProjectActionLayout(panes, sessionProjectRoot, projectName), [panes, sessionProjectRoot, projectName]);
|
|
299
297
|
const navigationRows = useMemo(() => isLoading
|
|
300
298
|
? projectActionLayout.groups.flatMap((group) => group.panes.map((entry) => [entry.index]))
|
|
301
299
|
: buildVisualNavigationRows(projectActionLayout), [isLoading, projectActionLayout]);
|
|
300
|
+
const groupStartRows = useMemo(() => isLoading ? [] : buildGroupStartRows(projectActionLayout), [isLoading, projectActionLayout]);
|
|
302
301
|
// Navigation logic moved to hook
|
|
303
|
-
const { getCardGridPosition, findCardInDirection } = useNavigation(navigationRows);
|
|
302
|
+
const { getCardGridPosition, findCardInDirection } = useNavigation(navigationRows, groupStartRows);
|
|
304
303
|
// findCardInDirection provided by useNavigation
|
|
305
304
|
// savePanes moved to usePanes
|
|
306
305
|
// applySmartLayout moved to utils/tmux
|
|
@@ -308,45 +307,30 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
308
307
|
const handlePaneCreationWithAgent = async (prompt, targetProjectRoot) => {
|
|
309
308
|
const agents = availableAgents;
|
|
310
309
|
const createPanesForAgents = async (selectedAgents) => {
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
for (const selectedAgent of dedupedAgents) {
|
|
316
|
-
const pane = await createNewPaneHook(prompt, selectedAgent, {
|
|
317
|
-
existingPanes: panesForCreation,
|
|
318
|
-
slugSuffix: isMultiLaunch
|
|
319
|
-
? getAgentSlugSuffix(selectedAgent)
|
|
320
|
-
: undefined,
|
|
321
|
-
slugBase,
|
|
322
|
-
targetProjectRoot,
|
|
323
|
-
});
|
|
324
|
-
if (!pane) {
|
|
325
|
-
return;
|
|
326
|
-
}
|
|
327
|
-
panesForCreation = [...panesForCreation, pane];
|
|
328
|
-
}
|
|
310
|
+
await createPanesForAgentsHook(prompt, selectedAgents, {
|
|
311
|
+
existingPanes: panes,
|
|
312
|
+
targetProjectRoot,
|
|
313
|
+
});
|
|
329
314
|
};
|
|
330
315
|
if (agents.length === 0) {
|
|
331
|
-
await createNewPaneHook(prompt, undefined, {
|
|
316
|
+
await createNewPaneHook(prompt, undefined, {
|
|
317
|
+
targetProjectRoot,
|
|
318
|
+
skipAgentSelection: true,
|
|
319
|
+
});
|
|
320
|
+
return;
|
|
332
321
|
}
|
|
333
|
-
|
|
334
|
-
|
|
322
|
+
// Always show the checklist when at least one enabled agent exists.
|
|
323
|
+
// This preserves the "select none for terminal" behavior consistently.
|
|
324
|
+
const selectedAgents = await popupManager.launchAgentChoicePopup();
|
|
325
|
+
if (selectedAgents === null) {
|
|
326
|
+
return;
|
|
335
327
|
}
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
await createPanesForAgents([settings.defaultAgent]);
|
|
341
|
-
}
|
|
342
|
-
else {
|
|
343
|
-
// Show agent choice popup
|
|
344
|
-
const selectedAgents = await popupManager.launchAgentChoicePopup();
|
|
345
|
-
if (selectedAgents && selectedAgents.length > 0) {
|
|
346
|
-
await createPanesForAgents(selectedAgents);
|
|
347
|
-
}
|
|
348
|
-
}
|
|
328
|
+
if (selectedAgents.length === 0) {
|
|
329
|
+
setStatusMessage("Select at least one agent");
|
|
330
|
+
setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
|
|
331
|
+
return;
|
|
349
332
|
}
|
|
333
|
+
await createPanesForAgents(selectedAgents);
|
|
350
334
|
};
|
|
351
335
|
// Helper function to reopen a closed worktree
|
|
352
336
|
const handleReopenWorktree = async (slug, worktreePath, targetProjectRoot) => {
|
|
@@ -377,6 +361,39 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
377
361
|
setIsCreatingPane(false);
|
|
378
362
|
}
|
|
379
363
|
};
|
|
364
|
+
const restartDevSessionAtSource = async (sourcePath) => {
|
|
365
|
+
if (!isDevMode)
|
|
366
|
+
return;
|
|
367
|
+
const tmuxService = TmuxService.getInstance();
|
|
368
|
+
const sourcePaneId = controlPaneId || await tmuxService.getCurrentPaneId();
|
|
369
|
+
await tmuxService.respawnPane(sourcePaneId, buildDevWatchRespawnCommand(sourcePath));
|
|
370
|
+
};
|
|
371
|
+
const handleSetDevSourceFromPane = async (pane) => {
|
|
372
|
+
if (!isDevMode) {
|
|
373
|
+
setStatusMessage("Source switching is only available in dev mode");
|
|
374
|
+
setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
377
|
+
if (!pane.worktreePath) {
|
|
378
|
+
setStatusMessage("Selected pane has no worktree path");
|
|
379
|
+
setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
const paneProjectRoot = getPaneProjectRoot(pane, sessionProjectRoot);
|
|
383
|
+
if (paneProjectRoot !== sessionProjectRoot) {
|
|
384
|
+
setStatusMessage("Source can only be set from panes in this project");
|
|
385
|
+
setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
|
|
386
|
+
return;
|
|
387
|
+
}
|
|
388
|
+
const nextSource = resolveNextDevSourcePath(pane.worktreePath, resolvePath(process.cwd()), resolvePath(sessionProjectRoot));
|
|
389
|
+
if (nextSource.toggledToRoot) {
|
|
390
|
+
setStatusMessage("Switching source to project root...");
|
|
391
|
+
await restartDevSessionAtSource(nextSource.nextSourcePath);
|
|
392
|
+
return;
|
|
393
|
+
}
|
|
394
|
+
setStatusMessage(`Switching source to "${pane.slug}"...`);
|
|
395
|
+
await restartDevSessionAtSource(nextSource.nextSourcePath);
|
|
396
|
+
};
|
|
380
397
|
// Helper function to handle action results recursively
|
|
381
398
|
const handleActionResult = async (result) => {
|
|
382
399
|
// Handle ActionResults from background callbacks (e.g., conflict resolution completion)
|
|
@@ -403,7 +420,7 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
403
420
|
else if (result.type === "choice") {
|
|
404
421
|
if (!result.options || !result.onSelect)
|
|
405
422
|
return;
|
|
406
|
-
const selectedId = await popupManager.launchChoicePopup(result.title || "Choose Option", result.message, result.options);
|
|
423
|
+
const selectedId = await popupManager.launchChoicePopup(result.title || "Choose Option", result.message, result.options, result.data);
|
|
407
424
|
if (selectedId) {
|
|
408
425
|
const nextResult = await result.onSelect(selectedId);
|
|
409
426
|
// Recursively handle nested results
|
|
@@ -457,11 +474,25 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
457
474
|
onPaneRemove: async (paneId) => {
|
|
458
475
|
// Mark pane as closing to prevent race condition with worker
|
|
459
476
|
await lifecycleManager.beginClose(paneId, 'user requested');
|
|
477
|
+
// Adjust selectedIndex before removing from list
|
|
478
|
+
const removedIndex = panes.findIndex((p) => p.paneId === paneId);
|
|
479
|
+
if (removedIndex >= 0 && selectedIndex >= panes.length - 1) {
|
|
480
|
+
setSelectedIndex(Math.max(0, panes.length - 2));
|
|
481
|
+
}
|
|
460
482
|
// Remove from panes list
|
|
461
483
|
const updatedPanes = panes.filter((p) => p.paneId !== paneId);
|
|
462
484
|
savePanes(updatedPanes);
|
|
463
485
|
// Mark close as completed (no more lock needed)
|
|
464
486
|
await lifecycleManager.completeClose(paneId);
|
|
487
|
+
// Return focus to control pane
|
|
488
|
+
if (controlPaneId) {
|
|
489
|
+
try {
|
|
490
|
+
await TmuxService.getInstance().selectPane(controlPaneId);
|
|
491
|
+
}
|
|
492
|
+
catch {
|
|
493
|
+
// Ignore - control pane might not exist
|
|
494
|
+
}
|
|
495
|
+
}
|
|
465
496
|
},
|
|
466
497
|
onActionResult: handleActionResult,
|
|
467
498
|
popupLaunchers: popupsSupported
|
|
@@ -506,6 +537,12 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
506
537
|
// Remove it from our tracking
|
|
507
538
|
const updatedPanes = panes.filter((p) => p.id !== paneId);
|
|
508
539
|
savePanes(updatedPanes);
|
|
540
|
+
const removedPane = panes.find((p) => p.id === paneId);
|
|
541
|
+
if (isDevMode &&
|
|
542
|
+
removedPane?.worktreePath &&
|
|
543
|
+
removedPane.worktreePath === process.cwd()) {
|
|
544
|
+
void restartDevSessionAtSource(sessionProjectRoot);
|
|
545
|
+
}
|
|
509
546
|
},
|
|
510
547
|
});
|
|
511
548
|
// jumpToPane and runCommand functions removed - now handled by action system and pane runner
|
|
@@ -579,6 +616,7 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
579
616
|
isUpdating,
|
|
580
617
|
isLoading,
|
|
581
618
|
ignoreInput: ignoreInput || showHooksPrompt, // Block other input when hooks prompt is shown
|
|
619
|
+
isDevMode,
|
|
582
620
|
quitConfirmMode,
|
|
583
621
|
setQuitConfirmMode,
|
|
584
622
|
showCommandPrompt,
|
|
@@ -600,9 +638,12 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
600
638
|
runCommandInternal,
|
|
601
639
|
handlePaneCreationWithAgent,
|
|
602
640
|
handleReopenWorktree,
|
|
641
|
+
setDevSourceFromPane: handleSetDevSourceFromPane,
|
|
603
642
|
savePanes,
|
|
604
643
|
loadPanes,
|
|
605
644
|
cleanExit,
|
|
645
|
+
availableAgents,
|
|
646
|
+
panesFile,
|
|
606
647
|
projectRoot: sessionProjectRoot,
|
|
607
648
|
projectActionItems: projectActionLayout.actionItems,
|
|
608
649
|
findCardInDirection,
|
|
@@ -639,7 +680,7 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
639
680
|
footerLines += 1;
|
|
640
681
|
}
|
|
641
682
|
// Add status line
|
|
642
|
-
if (updateAvailable || currentBranch || debugMessage) {
|
|
683
|
+
if (isDevMode || updateAvailable || currentBranch || debugMessage) {
|
|
643
684
|
footerLines += 1;
|
|
644
685
|
}
|
|
645
686
|
// Add line for each active status message
|
|
@@ -653,7 +694,7 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
653
694
|
const contentHeight = Math.max(terminalHeight - footerLines, 10);
|
|
654
695
|
return (React.createElement(Box, { flexDirection: "column", height: terminalHeight },
|
|
655
696
|
React.createElement(Box, { flexDirection: "column", height: contentHeight, overflow: "hidden" },
|
|
656
|
-
React.createElement(PanesGrid, { panes: panes, selectedIndex: selectedIndex, isLoading: isLoading, agentStatuses: agentStatuses, fallbackProjectRoot: projectRoot || process.cwd(), fallbackProjectName: projectName }),
|
|
697
|
+
React.createElement(PanesGrid, { panes: panes, selectedIndex: selectedIndex, isLoading: isLoading, agentStatuses: agentStatuses, activeDevSourcePath: activeDevSourcePath, fallbackProjectRoot: projectRoot || process.cwd(), fallbackProjectName: projectName }),
|
|
657
698
|
isLoading && React.createElement(LoadingIndicator, null),
|
|
658
699
|
showCommandPrompt && (React.createElement(CommandPromptDialog, { type: showCommandPrompt, value: commandInput, onChange: setCommandInput })),
|
|
659
700
|
showFileCopyPrompt && React.createElement(FileCopyPrompt, null),
|
|
@@ -676,12 +717,15 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
676
717
|
const pos = getCardGridPosition(selectedIndex);
|
|
677
718
|
return `Grid: ${cols} cols × ${rows} rows | Selected: row ${pos.row}, col ${pos.col} | Terminal: ${terminalWidth}w`;
|
|
678
719
|
})() }),
|
|
679
|
-
(updateAvailable || currentBranch || debugMessage) && (React.createElement(Text, { dimColor: true },
|
|
720
|
+
(isDevMode || updateAvailable || currentBranch || debugMessage) && (React.createElement(Text, { dimColor: true },
|
|
721
|
+
isDevMode && (React.createElement(Text, { color: "yellow", bold: true },
|
|
722
|
+
"DEV MODE",
|
|
723
|
+
" ")),
|
|
680
724
|
updateAvailable && updateInfo && (React.createElement(Text, { color: "red", bold: true },
|
|
681
725
|
"Update available: npm i -g dmux@latest",
|
|
682
726
|
" ")),
|
|
683
727
|
currentBranch && (React.createElement(Text, { color: "magenta" },
|
|
684
|
-
"
|
|
728
|
+
"source: ",
|
|
685
729
|
currentBranch)),
|
|
686
730
|
debugMessage && React.createElement(Text, { dimColor: true },
|
|
687
731
|
" \u2022 ",
|
package/dist/DmuxApp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DmuxApp.js","sourceRoot":"","sources":["../src/DmuxApp.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DmuxApp.js","sourceRoot":"","sources":["../src/DmuxApp.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closeAction.d.ts","sourceRoot":"","sources":["../../../src/actions/implementations/closeAction.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAgB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"closeAction.d.ts","sourceRoot":"","sources":["../../../src/actions/implementations/closeAction.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAgB,MAAM,aAAa,CAAC;AAa7E;;GAEG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAgFvB"}
|
|
@@ -12,6 +12,8 @@ import { WorktreeCleanupService } from '../../services/WorktreeCleanupService.js
|
|
|
12
12
|
import { TMUX_SPLIT_DELAY } from '../../constants/timing.js';
|
|
13
13
|
import { deriveProjectRootFromWorktreePath, getPaneProjectRoot } from '../../utils/paneProject.js';
|
|
14
14
|
import { cleanupPromptFilesForSlug } from '../../utils/promptStore.js';
|
|
15
|
+
import { buildDevWatchRespawnCommand } from '../../utils/devWatchCommand.js';
|
|
16
|
+
import { isActiveDevSourcePath } from '../../utils/devSource.js';
|
|
15
17
|
/**
|
|
16
18
|
* Close a pane - presents options for how to close
|
|
17
19
|
*/
|
|
@@ -20,6 +22,43 @@ export async function closePane(pane, context) {
|
|
|
20
22
|
if (pane.type === 'shell' || !pane.worktreePath) {
|
|
21
23
|
return executeCloseOption(pane, context, 'kill_only');
|
|
22
24
|
}
|
|
25
|
+
const siblingPanesOnWorktree = context.panes.filter(candidate => candidate.id !== pane.id &&
|
|
26
|
+
isActiveDevSourcePath(candidate.worktreePath, pane.worktreePath));
|
|
27
|
+
if (siblingPanesOnWorktree.length > 0) {
|
|
28
|
+
const siblingLabel = siblingPanesOnWorktree.length === 1
|
|
29
|
+
? '1 other pane'
|
|
30
|
+
: `${siblingPanesOnWorktree.length} other panes`;
|
|
31
|
+
const MAX_LISTED_SIBLINGS = 5;
|
|
32
|
+
const listedSiblings = siblingPanesOnWorktree
|
|
33
|
+
.slice(0, MAX_LISTED_SIBLINGS)
|
|
34
|
+
.map(sibling => ` - ${sibling.slug}`);
|
|
35
|
+
const remainingSiblings = siblingPanesOnWorktree.length - listedSiblings.length;
|
|
36
|
+
const remainingSiblingLine = remainingSiblings > 0
|
|
37
|
+
? [` - +${remainingSiblings} more`]
|
|
38
|
+
: [];
|
|
39
|
+
return {
|
|
40
|
+
type: 'choice',
|
|
41
|
+
title: 'Close Pane',
|
|
42
|
+
message: [
|
|
43
|
+
`This worktree is still in use by ${siblingLabel}.`,
|
|
44
|
+
'Other panes on this worktree:',
|
|
45
|
+
...listedSiblings,
|
|
46
|
+
...remainingSiblingLine,
|
|
47
|
+
].join('\n'),
|
|
48
|
+
options: [
|
|
49
|
+
{
|
|
50
|
+
id: 'kill_only',
|
|
51
|
+
label: 'Just close pane',
|
|
52
|
+
description: 'Keep worktree and branch',
|
|
53
|
+
default: true,
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
onSelect: async (optionId) => {
|
|
57
|
+
return executeCloseOption(pane, context, optionId);
|
|
58
|
+
},
|
|
59
|
+
dismissable: true,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
23
62
|
// For worktree panes, present options
|
|
24
63
|
const options = [
|
|
25
64
|
{
|
|
@@ -155,20 +194,29 @@ async function executeCloseOption(pane, context, option) {
|
|
|
155
194
|
}
|
|
156
195
|
// Handle worktree cleanup based on option
|
|
157
196
|
if (pane.worktreePath && (option === 'kill_and_clean' || option === 'kill_clean_branch')) {
|
|
158
|
-
|
|
159
|
-
//
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
paneProjectRoot,
|
|
165
|
-
mainRepoPath,
|
|
166
|
-
deleteBranch: option === 'kill_clean_branch',
|
|
167
|
-
});
|
|
168
|
-
startedBackgroundCleanup = true;
|
|
197
|
+
// Check if sibling panes still share this worktree
|
|
198
|
+
// updatedPanes already excludes the current pane, so any match = active sibling
|
|
199
|
+
const siblingPanes = updatedPanes.filter(p => p.worktreePath === pane.worktreePath);
|
|
200
|
+
if (siblingPanes.length > 0) {
|
|
201
|
+
// Skip worktree/branch deletion — other panes still using it
|
|
202
|
+
LogService.getInstance().info(`Skipping worktree cleanup for ${pane.slug}: ${siblingPanes.length} sibling(s) still using ${pane.worktreePath}`, 'paneActions', pane.id);
|
|
169
203
|
}
|
|
170
|
-
|
|
171
|
-
|
|
204
|
+
else {
|
|
205
|
+
const mainRepoPath = deriveProjectRootFromWorktreePath(pane.worktreePath) || paneProjectRoot;
|
|
206
|
+
// Trigger before_worktree_remove hook
|
|
207
|
+
await triggerHook('before_worktree_remove', paneProjectRoot, pane);
|
|
208
|
+
try {
|
|
209
|
+
WorktreeCleanupService.getInstance().enqueueCleanup({
|
|
210
|
+
pane,
|
|
211
|
+
paneProjectRoot,
|
|
212
|
+
mainRepoPath,
|
|
213
|
+
deleteBranch: option === 'kill_clean_branch',
|
|
214
|
+
});
|
|
215
|
+
startedBackgroundCleanup = true;
|
|
216
|
+
}
|
|
217
|
+
catch (cleanupError) {
|
|
218
|
+
LogService.getInstance().warn(`Failed to start background cleanup for pane ${pane.id}`, 'paneActions', pane.id);
|
|
219
|
+
}
|
|
172
220
|
}
|
|
173
221
|
}
|
|
174
222
|
if (context.onPaneRemove) {
|
|
@@ -216,6 +264,29 @@ async function executeCloseOption(pane, context, option) {
|
|
|
216
264
|
const { handleLastPaneRemoved } = await import('../../utils/postPaneCleanup.js');
|
|
217
265
|
await handleLastPaneRemoved(sessionProjectRoot);
|
|
218
266
|
}
|
|
267
|
+
const hasRemainingPaneForWorktree = Boolean(pane.worktreePath &&
|
|
268
|
+
updatedPanes.some(candidate => isActiveDevSourcePath(candidate.worktreePath, pane.worktreePath)));
|
|
269
|
+
// Dev source fallback:
|
|
270
|
+
// If the pane being closed is the current dev source worktree and no
|
|
271
|
+
// sibling panes remain on that worktree, respawn the control pane from
|
|
272
|
+
// the root checkout.
|
|
273
|
+
if (process.env.DMUX_DEV === 'true' &&
|
|
274
|
+
pane.worktreePath &&
|
|
275
|
+
isActiveDevSourcePath(pane.worktreePath, process.cwd()) &&
|
|
276
|
+
!hasRemainingPaneForWorktree) {
|
|
277
|
+
try {
|
|
278
|
+
const fallbackCommand = buildDevWatchRespawnCommand(sessionProjectRoot);
|
|
279
|
+
const quotedCommand = `'${fallbackCommand.replace(/'/g, "'\\''")}'`;
|
|
280
|
+
const configForRespawn = JSON.parse(fs.readFileSync(panesFile, 'utf-8'));
|
|
281
|
+
const targetControlPaneId = configForRespawn.controlPaneId || execSync('tmux display-message -p "#{pane_id}"', { encoding: 'utf-8', stdio: 'pipe', timeout: 5000 }).trim();
|
|
282
|
+
if (targetControlPaneId) {
|
|
283
|
+
execSync(`tmux respawn-pane -k -t '${targetControlPaneId}' ${quotedCommand}`, { stdio: 'pipe', timeout: 5000 });
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
catch (respawnError) {
|
|
287
|
+
LogService.getInstance().warn('Failed to respawn dev source at root after closing source pane', 'paneActions', pane.id);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
219
290
|
return {
|
|
220
291
|
type: 'success',
|
|
221
292
|
message: startedBackgroundCleanup
|