dmux 3.1.0 → 3.2.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/dist/CleanTextInput.d.ts +9 -0
- package/dist/CleanTextInput.d.ts.map +1 -1
- package/dist/CleanTextInput.js +127 -47
- package/dist/CleanTextInput.js.map +1 -1
- package/dist/DmuxApp.d.ts +2 -2
- package/dist/DmuxApp.d.ts.map +1 -1
- package/dist/DmuxApp.js +1408 -751
- package/dist/DmuxApp.js.map +1 -1
- package/dist/actions/paneActions.d.ts.map +1 -1
- package/dist/actions/paneActions.js +68 -11
- package/dist/actions/paneActions.js.map +1 -1
- package/dist/actions/types.d.ts +1 -0
- package/dist/actions/types.d.ts.map +1 -1
- package/dist/actions/types.js +1 -0
- package/dist/actions/types.js.map +1 -1
- package/dist/components/ActionInputDialog.d.ts.map +1 -1
- package/dist/components/ActionInputDialog.js +3 -2
- package/dist/components/ActionInputDialog.js.map +1 -1
- package/dist/components/DialogBox.d.ts +16 -0
- package/dist/components/DialogBox.d.ts.map +1 -0
- package/dist/components/DialogBox.js +12 -0
- package/dist/components/DialogBox.js.map +1 -0
- package/dist/components/FooterHelp.d.ts +9 -0
- package/dist/components/FooterHelp.d.ts.map +1 -1
- package/dist/components/FooterHelp.js +41 -5
- package/dist/components/FooterHelp.js.map +1 -1
- package/dist/components/PaneCard.d.ts +3 -1
- package/dist/components/PaneCard.d.ts.map +1 -1
- package/dist/components/PaneCard.js +50 -33
- package/dist/components/PaneCard.js.map +1 -1
- package/dist/components/PanesGrid.d.ts +3 -5
- package/dist/components/PanesGrid.d.ts.map +1 -1
- package/dist/components/PanesGrid.js +40 -10
- package/dist/components/PanesGrid.js.map +1 -1
- package/dist/dashboard.js +1 -1
- package/dist/decorative-pane.d.ts +3 -0
- package/dist/decorative-pane.d.ts.map +1 -0
- package/dist/decorative-pane.js +136 -0
- package/dist/decorative-pane.js.map +1 -0
- package/dist/hooks/useActionSystem.d.ts +14 -1
- package/dist/hooks/useActionSystem.d.ts.map +1 -1
- package/dist/hooks/useActionSystem.js +93 -4
- package/dist/hooks/useActionSystem.js.map +1 -1
- package/dist/hooks/useNavigation.js +1 -1
- package/dist/hooks/useNavigation.js.map +1 -1
- package/dist/hooks/usePaneCreation.d.ts +1 -2
- package/dist/hooks/usePaneCreation.d.ts.map +1 -1
- package/dist/hooks/usePaneCreation.js +30 -29
- package/dist/hooks/usePaneCreation.js.map +1 -1
- package/dist/hooks/usePaneRunner.d.ts.map +1 -1
- package/dist/hooks/usePaneRunner.js +8 -3
- package/dist/hooks/usePaneRunner.js.map +1 -1
- package/dist/hooks/usePanes.d.ts.map +1 -1
- package/dist/hooks/usePanes.js +210 -37
- package/dist/hooks/usePanes.js.map +1 -1
- package/dist/hooks/useWorktreeActions.d.ts.map +1 -1
- package/dist/hooks/useWorktreeActions.js +7 -13
- package/dist/hooks/useWorktreeActions.js.map +1 -1
- package/dist/index.js +217 -29
- package/dist/index.js.map +1 -1
- package/dist/popups/agentChoicePopup.d.ts +7 -0
- package/dist/popups/agentChoicePopup.d.ts.map +1 -0
- package/dist/popups/agentChoicePopup.js +74 -0
- package/dist/popups/agentChoicePopup.js.map +1 -0
- package/dist/popups/choicePopup.d.ts +7 -0
- package/dist/popups/choicePopup.d.ts.map +1 -0
- package/dist/popups/choicePopup.js +64 -0
- package/dist/popups/choicePopup.js.map +1 -0
- package/dist/popups/components/FileList.d.ts +13 -0
- package/dist/popups/components/FileList.d.ts.map +1 -0
- package/dist/popups/components/FileList.js +61 -0
- package/dist/popups/components/FileList.js.map +1 -0
- package/dist/popups/components/PopupContainer.d.ts +14 -0
- package/dist/popups/components/PopupContainer.d.ts.map +1 -0
- package/dist/popups/components/PopupContainer.js +15 -0
- package/dist/popups/components/PopupContainer.js.map +1 -0
- package/dist/popups/components/PopupInputBox.d.ts +11 -0
- package/dist/popups/components/PopupInputBox.d.ts.map +1 -0
- package/dist/popups/components/PopupInputBox.js +10 -0
- package/dist/popups/components/PopupInputBox.js.map +1 -0
- package/dist/popups/components/PopupWrapper.d.ts +37 -0
- package/dist/popups/components/PopupWrapper.d.ts.map +1 -0
- package/dist/popups/components/PopupWrapper.js +88 -0
- package/dist/popups/components/PopupWrapper.js.map +1 -0
- package/dist/popups/components/index.d.ts +8 -0
- package/dist/popups/components/index.d.ts.map +1 -0
- package/dist/popups/components/index.js +8 -0
- package/dist/popups/components/index.js.map +1 -0
- package/dist/popups/config.d.ts +40 -0
- package/dist/popups/config.d.ts.map +1 -0
- package/dist/popups/config.js +40 -0
- package/dist/popups/config.js.map +1 -0
- package/dist/popups/confirmPopup.d.ts +7 -0
- package/dist/popups/confirmPopup.d.ts.map +1 -0
- package/dist/popups/confirmPopup.js +72 -0
- package/dist/popups/confirmPopup.js.map +1 -0
- package/dist/popups/hooksPopup.d.ts +7 -0
- package/dist/popups/hooksPopup.d.ts.map +1 -0
- package/dist/popups/hooksPopup.js +71 -0
- package/dist/popups/hooksPopup.js.map +1 -0
- package/dist/popups/inputPopup.d.ts +7 -0
- package/dist/popups/inputPopup.d.ts.map +1 -0
- package/dist/popups/inputPopup.js +48 -0
- package/dist/popups/inputPopup.js.map +1 -0
- package/dist/popups/kebabMenuPopup.d.ts +7 -0
- package/dist/popups/kebabMenuPopup.d.ts.map +1 -0
- package/dist/popups/kebabMenuPopup.js +52 -0
- package/dist/popups/kebabMenuPopup.js.map +1 -0
- package/dist/popups/logsPopup.d.ts +12 -0
- package/dist/popups/logsPopup.d.ts.map +1 -0
- package/dist/popups/logsPopup.js +364 -0
- package/dist/popups/logsPopup.js.map +1 -0
- package/dist/popups/mergePopup.d.ts +7 -0
- package/dist/popups/mergePopup.d.ts.map +1 -0
- package/dist/popups/mergePopup.js +310 -0
- package/dist/popups/mergePopup.js.map +1 -0
- package/dist/popups/newPanePopup.d.ts +7 -0
- package/dist/popups/newPanePopup.d.ts.map +1 -0
- package/dist/popups/newPanePopup.js +234 -0
- package/dist/popups/newPanePopup.js.map +1 -0
- package/dist/popups/progressPopup.d.ts +8 -0
- package/dist/popups/progressPopup.d.ts.map +1 -0
- package/dist/popups/progressPopup.js +54 -0
- package/dist/popups/progressPopup.js.map +1 -0
- package/dist/popups/remotePopup.d.ts +6 -0
- package/dist/popups/remotePopup.d.ts.map +1 -0
- package/dist/popups/remotePopup.js +166 -0
- package/dist/popups/remotePopup.js.map +1 -0
- package/dist/popups/settingsPopup.d.ts +7 -0
- package/dist/popups/settingsPopup.d.ts.map +1 -0
- package/dist/popups/settingsPopup.js +212 -0
- package/dist/popups/settingsPopup.js.map +1 -0
- package/dist/popups/shortcutsPopup.d.ts +6 -0
- package/dist/popups/shortcutsPopup.d.ts.map +1 -0
- package/dist/popups/shortcutsPopup.js +74 -0
- package/dist/popups/shortcutsPopup.js.map +1 -0
- package/dist/popups/templates/SimpleInputPopup.d.ts +15 -0
- package/dist/popups/templates/SimpleInputPopup.d.ts.map +1 -0
- package/dist/popups/templates/SimpleInputPopup.js +28 -0
- package/dist/popups/templates/SimpleInputPopup.js.map +1 -0
- package/dist/server/embedded-assets.d.ts.map +1 -1
- package/dist/server/embedded-assets.js +2077 -968
- package/dist/server/embedded-assets.js.map +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/routes.d.ts +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +73 -6
- package/dist/server/routes.js.map +1 -1
- package/dist/services/ConfigWatcher.d.ts.map +1 -1
- package/dist/services/ConfigWatcher.js +10 -3
- package/dist/services/ConfigWatcher.js.map +1 -1
- package/dist/services/LogService.d.ts +112 -0
- package/dist/services/LogService.d.ts.map +1 -0
- package/dist/services/LogService.js +252 -0
- package/dist/services/LogService.js.map +1 -0
- package/dist/services/PaneWorkerManager.d.ts.map +1 -1
- package/dist/services/PaneWorkerManager.js +35 -9
- package/dist/services/PaneWorkerManager.js.map +1 -1
- package/dist/services/TunnelService.d.ts +1 -0
- package/dist/services/TunnelService.d.ts.map +1 -1
- package/dist/services/TunnelService.js +56 -15
- package/dist/services/TunnelService.js.map +1 -1
- package/dist/shared/StateManager.d.ts +49 -1
- package/dist/shared/StateManager.d.ts.map +1 -1
- package/dist/shared/StateManager.js +97 -2
- package/dist/shared/StateManager.js.map +1 -1
- package/dist/spacer-pane.d.ts +8 -0
- package/dist/spacer-pane.d.ts.map +1 -0
- package/dist/spacer-pane.js +40 -0
- package/dist/spacer-pane.js.map +1 -0
- package/dist/theme/colors.d.ts +25 -0
- package/dist/theme/colors.d.ts.map +1 -0
- package/dist/theme/colors.js +33 -0
- package/dist/theme/colors.js.map +1 -0
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/asciiArt.d.ts +26 -0
- package/dist/utils/asciiArt.d.ts.map +1 -0
- package/dist/utils/asciiArt.js +88 -0
- package/dist/utils/asciiArt.js.map +1 -0
- package/dist/utils/conflictResolutionPane.d.ts.map +1 -1
- package/dist/utils/conflictResolutionPane.js +8 -4
- package/dist/utils/conflictResolutionPane.js.map +1 -1
- package/dist/utils/fileScanner.d.ts +23 -0
- package/dist/utils/fileScanner.d.ts.map +1 -0
- package/dist/utils/fileScanner.js +123 -0
- package/dist/utils/fileScanner.js.map +1 -0
- package/dist/utils/generated-agents-doc.d.ts +1 -1
- package/dist/utils/generated-agents-doc.js +1 -1
- package/dist/utils/hooks.d.ts +3 -3
- package/dist/utils/hooks.d.ts.map +1 -1
- package/dist/utils/hooks.js +70 -41
- package/dist/utils/hooks.js.map +1 -1
- package/dist/utils/hooksDocs.d.ts +1 -1
- package/dist/utils/layoutManager.d.ts +45 -0
- package/dist/utils/layoutManager.d.ts.map +1 -0
- package/dist/utils/layoutManager.js +500 -0
- package/dist/utils/layoutManager.js.map +1 -0
- package/dist/utils/paneCreation.d.ts.map +1 -1
- package/dist/utils/paneCreation.js +125 -11
- package/dist/utils/paneCreation.js.map +1 -1
- package/dist/utils/popup.d.ts +97 -0
- package/dist/utils/popup.d.ts.map +1 -0
- package/dist/utils/popup.js +509 -0
- package/dist/utils/popup.js.map +1 -0
- package/dist/utils/postPaneCleanup.d.ts +12 -0
- package/dist/utils/postPaneCleanup.d.ts.map +1 -0
- package/dist/utils/postPaneCleanup.js +53 -0
- package/dist/utils/postPaneCleanup.js.map +1 -0
- package/dist/utils/shellPaneDetection.d.ts +44 -0
- package/dist/utils/shellPaneDetection.d.ts.map +1 -0
- package/dist/utils/shellPaneDetection.js +175 -0
- package/dist/utils/shellPaneDetection.js.map +1 -0
- package/dist/utils/tmux.d.ts +53 -1
- package/dist/utils/tmux.d.ts.map +1 -1
- package/dist/utils/tmux.js +352 -84
- package/dist/utils/tmux.js.map +1 -1
- package/dist/utils/welcomePane.d.ts +22 -0
- package/dist/utils/welcomePane.d.ts.map +1 -0
- package/dist/utils/welcomePane.js +119 -0
- package/dist/utils/welcomePane.js.map +1 -0
- package/dist/utils/welcomePaneManager.d.ts +36 -0
- package/dist/utils/welcomePaneManager.d.ts.map +1 -0
- package/dist/utils/welcomePaneManager.js +160 -0
- package/dist/utils/welcomePaneManager.js.map +1 -0
- package/dist/workers/PaneWorker.js +2 -0
- package/dist/workers/PaneWorker.js.map +1 -1
- package/package.json +5 -2
- package/dist/components/NewPaneDialog.d.ts +0 -9
- package/dist/components/NewPaneDialog.d.ts.map +0 -1
- package/dist/components/NewPaneDialog.js +0 -11
- package/dist/components/NewPaneDialog.js.map +0 -1
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Decorative pane renderer - displays ASCII art with animated falling binary characters
|
|
3
|
+
// This runs continuously without showing a command prompt
|
|
4
|
+
import { ASCII_ART as ASCII_ART_EXPORTS } from "./utils/asciiArt.js";
|
|
5
|
+
// Parse the ASCII art string into an array of lines
|
|
6
|
+
const ASCII_ART = ASCII_ART_EXPORTS.dmuxWelcome.trim().split("\n");
|
|
7
|
+
const FILL_CHAR = "·";
|
|
8
|
+
const ORANGE = "\x1b[38;5;208m"; // ANSI 256-color orange
|
|
9
|
+
const DIM_GRAY = "\x1b[38;5;238m"; // Dim gray for fill dots
|
|
10
|
+
const RESET = "\x1b[0m"; // Reset color
|
|
11
|
+
// Static drop settings
|
|
12
|
+
const TAIL_LENGTH = 8; // Length of the fading tail
|
|
13
|
+
const NUM_STATIC_DROPS = 150; // Number of drops to render in static view
|
|
14
|
+
// Shades from bright to dim for the tail effect (orange)
|
|
15
|
+
const SHADES = [
|
|
16
|
+
"\x1b[38;5;214m", // Bright orange
|
|
17
|
+
"\x1b[38;5;208m", // Orange
|
|
18
|
+
"\x1b[38;5;202m", // Darker orange
|
|
19
|
+
"\x1b[38;5;166m", // Even darker
|
|
20
|
+
"\x1b[38;5;130m", // Very dark orange
|
|
21
|
+
"\x1b[38;5;94m", // Brown-orange
|
|
22
|
+
"\x1b[38;5;58m", // Dark brown
|
|
23
|
+
"\x1b[38;5;236m", // Almost black
|
|
24
|
+
];
|
|
25
|
+
/**
|
|
26
|
+
* Generate random static drops that look like a paused animation
|
|
27
|
+
*/
|
|
28
|
+
function generateStaticDrops(width, height) {
|
|
29
|
+
const drops = [];
|
|
30
|
+
for (let i = 0; i < NUM_STATIC_DROPS; i++) {
|
|
31
|
+
// Random column
|
|
32
|
+
const column = Math.floor(Math.random() * width);
|
|
33
|
+
// Random position in the screen (can be anywhere including partially visible)
|
|
34
|
+
const y = Math.floor(Math.random() * (height + TAIL_LENGTH));
|
|
35
|
+
// Random binary characters
|
|
36
|
+
const chars = Array.from({ length: TAIL_LENGTH }, () => Math.random() > 0.5 ? "1" : "0");
|
|
37
|
+
drops.push({ column, y, chars });
|
|
38
|
+
}
|
|
39
|
+
return drops;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Render static drops to a grid
|
|
43
|
+
*/
|
|
44
|
+
function renderStaticDrops(drops, grid, height) {
|
|
45
|
+
for (const drop of drops) {
|
|
46
|
+
for (let i = 0; i < drop.chars.length; i++) {
|
|
47
|
+
const row = Math.floor(drop.y - i);
|
|
48
|
+
if (row >= 0 &&
|
|
49
|
+
row < height &&
|
|
50
|
+
drop.column >= 0 &&
|
|
51
|
+
drop.column < grid[row].length) {
|
|
52
|
+
const shadeIndex = Math.min(i, SHADES.length - 1);
|
|
53
|
+
grid[row][drop.column] = {
|
|
54
|
+
char: drop.chars[i],
|
|
55
|
+
color: SHADES[shadeIndex],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
function render(width, height) {
|
|
62
|
+
// Generate random static drops for this render
|
|
63
|
+
const drops = generateStaticDrops(width, height);
|
|
64
|
+
// Create a grid for the background layer (falling characters)
|
|
65
|
+
const backgroundGrid = Array.from({ length: height }, () => Array.from({ length: width }, () => null));
|
|
66
|
+
// Render all drops to the background grid
|
|
67
|
+
renderStaticDrops(drops, backgroundGrid, height);
|
|
68
|
+
const artHeight = ASCII_ART.length;
|
|
69
|
+
const artWidth = Math.max(...ASCII_ART.map((line) => line.length));
|
|
70
|
+
// Calculate vertical centering for ASCII art
|
|
71
|
+
const topPadding = Math.floor((height - artHeight) / 2);
|
|
72
|
+
const lines = [];
|
|
73
|
+
// Build each line by combining background and foreground
|
|
74
|
+
for (let row = 0; row < height; row++) {
|
|
75
|
+
const isArtRow = row >= topPadding && row < topPadding + artHeight;
|
|
76
|
+
const artLine = isArtRow ? ASCII_ART[row - topPadding] : null;
|
|
77
|
+
let line = "";
|
|
78
|
+
for (let col = 0; col < width; col++) {
|
|
79
|
+
if (isArtRow && artLine) {
|
|
80
|
+
const trimmedArt = artLine.trimEnd();
|
|
81
|
+
const leftPadding = Math.max(0, Math.floor((width - trimmedArt.length) / 2));
|
|
82
|
+
const artCol = col - leftPadding;
|
|
83
|
+
// If we're in the art region and the art has a character here
|
|
84
|
+
if (artCol >= 0 && artCol < trimmedArt.length) {
|
|
85
|
+
const artChar = trimmedArt[artCol];
|
|
86
|
+
// ASCII art takes precedence - render in orange
|
|
87
|
+
line += ORANGE + artChar + RESET;
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
// Outside art region - show background or fill char
|
|
91
|
+
const bg = backgroundGrid[row][col];
|
|
92
|
+
if (bg) {
|
|
93
|
+
line += bg.color + bg.char + RESET;
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
line += DIM_GRAY + FILL_CHAR + RESET;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
// Not an art row - show background or fill char
|
|
102
|
+
const bg = backgroundGrid[row][col];
|
|
103
|
+
if (bg) {
|
|
104
|
+
line += bg.color + bg.char + RESET;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
line += DIM_GRAY + FILL_CHAR + RESET;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
lines.push(line);
|
|
112
|
+
}
|
|
113
|
+
// Clear screen and render
|
|
114
|
+
process.stdout.write("\x1b[2J\x1b[H"); // Clear screen and home cursor
|
|
115
|
+
process.stdout.write(lines.join("\n"));
|
|
116
|
+
}
|
|
117
|
+
// Initial render
|
|
118
|
+
const initialWidth = process.stdout.columns || 80;
|
|
119
|
+
const initialHeight = process.stdout.rows || 24;
|
|
120
|
+
render(initialWidth, initialHeight);
|
|
121
|
+
// Re-render only on terminal resize (static, no animation)
|
|
122
|
+
process.stdout.on("resize", () => {
|
|
123
|
+
const width = process.stdout.columns || 80;
|
|
124
|
+
const height = process.stdout.rows || 24;
|
|
125
|
+
render(width, height);
|
|
126
|
+
});
|
|
127
|
+
// Keep the process running
|
|
128
|
+
process.stdin.resume();
|
|
129
|
+
// Handle Ctrl+C gracefully (though this pane will be killed by tmux)
|
|
130
|
+
process.on("SIGINT", () => {
|
|
131
|
+
process.exit(0);
|
|
132
|
+
});
|
|
133
|
+
process.on("SIGTERM", () => {
|
|
134
|
+
process.exit(0);
|
|
135
|
+
});
|
|
136
|
+
//# sourceMappingURL=decorative-pane.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorative-pane.js","sourceRoot":"","sources":["../src/decorative-pane.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,8 +15,21 @@ interface UseActionSystemParams {
|
|
|
15
15
|
projectName: string;
|
|
16
16
|
onPaneUpdate?: (pane: DmuxPane) => void;
|
|
17
17
|
onPaneRemove?: (paneId: string) => void;
|
|
18
|
+
forceRepaint?: () => void;
|
|
19
|
+
popupLaunchers?: {
|
|
20
|
+
launchConfirmPopup?: (title: string, message: string, yesLabel?: string, noLabel?: string) => Promise<boolean>;
|
|
21
|
+
launchChoicePopup?: (title: string, message: string, options: Array<{
|
|
22
|
+
id: string;
|
|
23
|
+
label: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
danger?: boolean;
|
|
26
|
+
default?: boolean;
|
|
27
|
+
}>) => Promise<string | null>;
|
|
28
|
+
launchInputPopup?: (title: string, message: string, placeholder?: string, defaultValue?: string) => Promise<string | null>;
|
|
29
|
+
launchProgressPopup?: (message: string, type: 'info' | 'success' | 'error', timeout: number) => Promise<void>;
|
|
30
|
+
};
|
|
18
31
|
}
|
|
19
|
-
export default function useActionSystem({ panes, savePanes, sessionName, projectName, onPaneUpdate, onPaneRemove, }: UseActionSystemParams): {
|
|
32
|
+
export default function useActionSystem({ panes, savePanes, sessionName, projectName, onPaneUpdate, onPaneRemove, forceRepaint, popupLaunchers, }: UseActionSystemParams): {
|
|
20
33
|
actionState: TUIActionState;
|
|
21
34
|
setActionState: import("react").Dispatch<import("react").SetStateAction<TUIActionState>>;
|
|
22
35
|
executeAction: (actionId: PaneAction, pane: DmuxPane, params?: any) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActionSystem.d.ts","sourceRoot":"","sources":["../../src/hooks/useActionSystem.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAiB,UAAU,EAAsB,MAAM,qBAAqB,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,UAAU,qBAAqB;IAC7B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"useActionSystem.d.ts","sourceRoot":"","sources":["../../src/hooks/useActionSystem.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAiB,UAAU,EAAsB,MAAM,qBAAqB,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,UAAU,qBAAqB;IAC7B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAG1B,cAAc,CAAC,EAAE;QACf,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/G,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,OAAO,CAAC;YAAC,OAAO,CAAC,EAAE,OAAO,CAAA;SAAC,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QACvL,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QAC3H,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC/G,CAAC;CACH;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,KAAK,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,EAAE,qBAAqB;;;8BAiBV,UAAU,QACd,QAAQ,WACL,GAAG;gCA+IF,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,YACpC;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE;;;EA4DjE"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import { useState, useCallback, useMemo } from 'react';
|
|
8
8
|
import { executeAction } from '../actions/index.js';
|
|
9
9
|
import { handleActionResult, createInitialTUIState } from '../adapters/tuiActionHandler.js';
|
|
10
|
-
export default function useActionSystem({ panes, savePanes, sessionName, projectName, onPaneUpdate, onPaneRemove, }) {
|
|
10
|
+
export default function useActionSystem({ panes, savePanes, sessionName, projectName, onPaneUpdate, onPaneRemove, forceRepaint, popupLaunchers, }) {
|
|
11
11
|
// TUI state for rendering dialogs
|
|
12
12
|
const [actionState, setActionState] = useState(createInitialTUIState());
|
|
13
13
|
// Create action context
|
|
@@ -18,12 +18,45 @@ export default function useActionSystem({ panes, savePanes, sessionName, project
|
|
|
18
18
|
savePanes,
|
|
19
19
|
onPaneUpdate,
|
|
20
20
|
onPaneRemove,
|
|
21
|
-
|
|
21
|
+
forceRepaint,
|
|
22
|
+
}), [panes, sessionName, projectName, savePanes, onPaneUpdate, onPaneRemove, forceRepaint]);
|
|
22
23
|
// Execute an action and handle the result
|
|
23
24
|
const executeActionWithHandling = useCallback(async (actionId, pane, params) => {
|
|
24
25
|
try {
|
|
25
26
|
const result = await executeAction(actionId, pane, context, params);
|
|
26
|
-
//
|
|
27
|
+
// If popup launchers are available, handle interactive results with popups
|
|
28
|
+
if (popupLaunchers) {
|
|
29
|
+
if (result.type === 'confirm' && popupLaunchers.launchConfirmPopup) {
|
|
30
|
+
const confirmed = await popupLaunchers.launchConfirmPopup(result.title || 'Confirm', result.message, result.confirmLabel, result.cancelLabel);
|
|
31
|
+
if (confirmed && result.onConfirm) {
|
|
32
|
+
const nextResult = await result.onConfirm();
|
|
33
|
+
// Recursively handle the next result
|
|
34
|
+
await handleResultWithPopups(nextResult);
|
|
35
|
+
}
|
|
36
|
+
else if (!confirmed && result.onCancel) {
|
|
37
|
+
const nextResult = await result.onCancel();
|
|
38
|
+
await handleResultWithPopups(nextResult);
|
|
39
|
+
}
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (result.type === 'choice' && popupLaunchers.launchChoicePopup) {
|
|
43
|
+
const selectedId = await popupLaunchers.launchChoicePopup(result.title || 'Choose', result.message, result.options || []);
|
|
44
|
+
if (selectedId && result.onSelect) {
|
|
45
|
+
const nextResult = await result.onSelect(selectedId);
|
|
46
|
+
await handleResultWithPopups(nextResult);
|
|
47
|
+
}
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (result.type === 'input' && popupLaunchers.launchInputPopup) {
|
|
51
|
+
const inputValue = await popupLaunchers.launchInputPopup(result.title || 'Input', result.message, result.placeholder, result.defaultValue);
|
|
52
|
+
if (inputValue !== null && result.onSubmit) {
|
|
53
|
+
const nextResult = await result.onSubmit(inputValue);
|
|
54
|
+
await handleResultWithPopups(nextResult);
|
|
55
|
+
}
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// Fall back to inline dialogs if popup launchers not available
|
|
27
60
|
handleActionResult(result, actionState, (updates) => {
|
|
28
61
|
setActionState(prev => ({ ...prev, ...updates }));
|
|
29
62
|
});
|
|
@@ -36,7 +69,63 @@ export default function useActionSystem({ panes, savePanes, sessionName, project
|
|
|
36
69
|
statusType: 'error',
|
|
37
70
|
}));
|
|
38
71
|
}
|
|
39
|
-
|
|
72
|
+
// Helper to recursively handle action results with popups
|
|
73
|
+
async function handleResultWithPopups(result) {
|
|
74
|
+
if (result.type === 'confirm' && popupLaunchers?.launchConfirmPopup) {
|
|
75
|
+
const confirmed = await popupLaunchers.launchConfirmPopup(result.title || 'Confirm', result.message, result.confirmLabel, result.cancelLabel);
|
|
76
|
+
if (confirmed && result.onConfirm) {
|
|
77
|
+
const nextResult = await result.onConfirm();
|
|
78
|
+
await handleResultWithPopups(nextResult);
|
|
79
|
+
}
|
|
80
|
+
else if (!confirmed && result.onCancel) {
|
|
81
|
+
const nextResult = await result.onCancel();
|
|
82
|
+
await handleResultWithPopups(nextResult);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
else if (result.type === 'choice' && popupLaunchers?.launchChoicePopup) {
|
|
86
|
+
const selectedId = await popupLaunchers.launchChoicePopup(result.title || 'Choose', result.message, result.options || []);
|
|
87
|
+
if (selectedId && result.onSelect) {
|
|
88
|
+
const nextResult = await result.onSelect(selectedId);
|
|
89
|
+
await handleResultWithPopups(nextResult);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else if (result.type === 'input' && popupLaunchers?.launchInputPopup) {
|
|
93
|
+
const inputValue = await popupLaunchers.launchInputPopup(result.title || 'Input', result.message, result.placeholder, result.defaultValue);
|
|
94
|
+
if (inputValue !== null && result.onSubmit) {
|
|
95
|
+
const nextResult = await result.onSubmit(inputValue);
|
|
96
|
+
await handleResultWithPopups(nextResult);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
// For non-interactive results (success, error, info, etc.)
|
|
101
|
+
// Use progress popup if available, otherwise fall back to inline status message
|
|
102
|
+
if (popupLaunchers?.launchProgressPopup) {
|
|
103
|
+
const type = result.type === 'error' ? 'error' : result.type === 'success' ? 'success' : 'info';
|
|
104
|
+
await popupLaunchers.launchProgressPopup(result.message, type, 1000);
|
|
105
|
+
// Force repaint after popup dismisses (with a slight delay to avoid layout issues)
|
|
106
|
+
if (context.forceRepaint) {
|
|
107
|
+
setTimeout(() => {
|
|
108
|
+
context.forceRepaint();
|
|
109
|
+
}, 300);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
setActionState(prev => ({
|
|
114
|
+
...prev,
|
|
115
|
+
statusMessage: result.message,
|
|
116
|
+
statusType: result.type === 'error' ? 'error' : result.type === 'success' ? 'success' : 'info',
|
|
117
|
+
}));
|
|
118
|
+
// Auto-clear after 3 seconds
|
|
119
|
+
setTimeout(() => {
|
|
120
|
+
setActionState(prev => ({
|
|
121
|
+
...prev,
|
|
122
|
+
statusMessage: '',
|
|
123
|
+
}));
|
|
124
|
+
}, 3000);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}, [context, actionState, popupLaunchers]);
|
|
40
129
|
// Handle callback execution (for multi-step actions)
|
|
41
130
|
const executeCallback = useCallback(async (callback, options) => {
|
|
42
131
|
if (!callback)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActionSystem.js","sourceRoot":"","sources":["../../src/hooks/useActionSystem.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,aAAa,EAAkC,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EAEtB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"useActionSystem.js","sourceRoot":"","sources":["../../src/hooks/useActionSystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { useMemo } from 'react';
|
|
|
2
2
|
export default function useNavigation(terminalWidth, panesLength, isLoading) {
|
|
3
3
|
const cardWidth = 35 + 2; // Card width + gap
|
|
4
4
|
const cardsPerRow = Math.max(1, Math.floor(terminalWidth / cardWidth));
|
|
5
|
-
const totalItems = panesLength + (isLoading ? 0 :
|
|
5
|
+
const totalItems = panesLength + (isLoading ? 0 : 2); // Two buttons: agent and terminal
|
|
6
6
|
const getCardGridPosition = useMemo(() => {
|
|
7
7
|
return (index) => {
|
|
8
8
|
const row = Math.floor(index / cardsPerRow);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavigation.js","sourceRoot":"","sources":["../../src/hooks/useNavigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,aAAqB,EAAE,WAAmB,EAAE,SAAkB;IAClG,MAAM,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,mBAAmB;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,WAAW,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"useNavigation.js","sourceRoot":"","sources":["../../src/hooks/useNavigation.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,12 @@ interface Params {
|
|
|
5
5
|
projectName: string;
|
|
6
6
|
setIsCreatingPane: (v: boolean) => void;
|
|
7
7
|
setStatusMessage: (msg: string) => void;
|
|
8
|
-
setNewPanePrompt: (v: string) => void;
|
|
9
8
|
loadPanes: () => Promise<void>;
|
|
10
9
|
panesFile: string;
|
|
11
10
|
availableAgents: Array<'claude' | 'opencode'>;
|
|
12
11
|
forceRepaint?: () => void;
|
|
13
12
|
}
|
|
14
|
-
export default function usePaneCreation({ panes, savePanes, projectName, setIsCreatingPane, setStatusMessage,
|
|
13
|
+
export default function usePaneCreation({ panes, savePanes, projectName, setIsCreatingPane, setStatusMessage, loadPanes, panesFile, availableAgents, forceRepaint }: Params): {
|
|
15
14
|
readonly openInEditor: (currentPrompt: string, setPrompt: (v: string) => void) => Promise<void>;
|
|
16
15
|
readonly createNewPane: (prompt: string, agent?: "claude" | "opencode") => Promise<void>;
|
|
17
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaneCreation.d.ts","sourceRoot":"","sources":["../../src/hooks/usePaneCreation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"usePaneCreation.d.ts","sourceRoot":"","sources":["../../src/hooks/usePaneCreation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,UAAU,MAAM;IACd,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC;IAC9C,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,EAAE,MAAM;2CAC9H,MAAM,aAAa,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI;qCAqB5C,MAAM,UAAU,QAAQ,GAAG,UAAU;EAyF3E"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { execSync } from 'child_process';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { createPane } from '../utils/paneCreation.js';
|
|
4
|
-
|
|
4
|
+
import { LogService } from '../services/LogService.js';
|
|
5
|
+
export default function usePaneCreation({ panes, savePanes, projectName, setIsCreatingPane, setStatusMessage, loadPanes, panesFile, availableAgents, forceRepaint }) {
|
|
5
6
|
const openInEditor = async (currentPrompt, setPrompt) => {
|
|
6
7
|
try {
|
|
7
8
|
const os = await import('os');
|
|
@@ -25,25 +26,12 @@ export default function usePaneCreation({ panes, savePanes, projectName, setIsCr
|
|
|
25
26
|
catch { }
|
|
26
27
|
};
|
|
27
28
|
const createNewPane = async (prompt, agent) => {
|
|
28
|
-
setIsCreatingPane(true);
|
|
29
|
-
setStatusMessage('Generating slug...');
|
|
30
29
|
// CRITICAL: Force repaint FIRST to prevent blank screen
|
|
31
30
|
if (forceRepaint) {
|
|
32
31
|
forceRepaint();
|
|
33
32
|
}
|
|
34
|
-
//
|
|
33
|
+
// Minimal clearing to avoid layout shifts
|
|
35
34
|
process.stdout.write('\x1b[2J\x1b[H');
|
|
36
|
-
process.stdout.write('\n'.repeat(100));
|
|
37
|
-
try {
|
|
38
|
-
execSync('tmux clear-history', { stdio: 'pipe' });
|
|
39
|
-
execSync('tmux send-keys C-l', { stdio: 'pipe' });
|
|
40
|
-
}
|
|
41
|
-
catch { }
|
|
42
|
-
await new Promise(r => setTimeout(r, 100));
|
|
43
|
-
try {
|
|
44
|
-
execSync('tmux refresh-client', { stdio: 'pipe' });
|
|
45
|
-
}
|
|
46
|
-
catch { }
|
|
47
35
|
try {
|
|
48
36
|
// Use the shared pane creation utility
|
|
49
37
|
const result = await createPane({
|
|
@@ -56,13 +44,9 @@ export default function usePaneCreation({ panes, savePanes, projectName, setIsCr
|
|
|
56
44
|
// This shouldn't happen in the TUI flow since we handle agent choice
|
|
57
45
|
// before calling createNewPane, but just in case
|
|
58
46
|
setStatusMessage('Agent choice is required');
|
|
59
|
-
|
|
47
|
+
setTimeout(() => setStatusMessage(''), 3000);
|
|
60
48
|
return;
|
|
61
49
|
}
|
|
62
|
-
// Update status as we go
|
|
63
|
-
setStatusMessage(`Creating worktree: ${result.pane.slug}...`);
|
|
64
|
-
await new Promise(r => setTimeout(r, 500));
|
|
65
|
-
setStatusMessage(agent ? `Worktree created, launching ${agent === 'opencode' ? 'opencode' : 'Claude'}...` : 'Worktree created.');
|
|
66
50
|
// Save the pane
|
|
67
51
|
const updatedPanes = [...panes, result.pane];
|
|
68
52
|
await savePanes(updatedPanes);
|
|
@@ -75,28 +59,45 @@ export default function usePaneCreation({ panes, savePanes, projectName, setIsCr
|
|
|
75
59
|
const savedPanes = Array.isArray(config) ? config : config.panes || [];
|
|
76
60
|
const paneExists = savedPanes.some((p) => p.id === result.pane.id);
|
|
77
61
|
if (!paneExists) {
|
|
78
|
-
|
|
62
|
+
const msg = 'Pane not found in config after save, retrying...';
|
|
63
|
+
console.error('Warning:', msg);
|
|
64
|
+
LogService.getInstance().warn(msg, 'usePaneCreation', result.pane.id);
|
|
79
65
|
await savePanes(updatedPanes);
|
|
80
66
|
}
|
|
81
67
|
}
|
|
82
68
|
catch (error) {
|
|
83
|
-
|
|
69
|
+
const msg = 'Could not validate pane save';
|
|
70
|
+
console.error('Warning:', msg, error);
|
|
71
|
+
LogService.getInstance().warn(msg, 'usePaneCreation', result.pane.id);
|
|
84
72
|
}
|
|
85
73
|
// CRITICAL: Force repaint FIRST before clearing
|
|
86
74
|
if (forceRepaint) {
|
|
87
75
|
forceRepaint();
|
|
88
76
|
}
|
|
89
|
-
//
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
77
|
+
// CRITICAL: Aggressive clearing to prevent artifacts
|
|
78
|
+
// 1. Clear screen with ANSI codes (including scrollback)
|
|
79
|
+
process.stdout.write('\x1b[2J\x1b[3J\x1b[H');
|
|
80
|
+
// 2. Clear tmux history and scrollback
|
|
81
|
+
try {
|
|
82
|
+
execSync('tmux clear-history', { stdio: 'pipe' });
|
|
83
|
+
}
|
|
84
|
+
catch { }
|
|
85
|
+
// 3. Force tmux client refresh
|
|
86
|
+
try {
|
|
87
|
+
execSync('tmux refresh-client', { stdio: 'pipe' });
|
|
88
|
+
}
|
|
89
|
+
catch { }
|
|
94
90
|
await loadPanes();
|
|
91
|
+
// CRITICAL: One more repaint after loadPanes to ensure clean render
|
|
92
|
+
if (forceRepaint) {
|
|
93
|
+
forceRepaint();
|
|
94
|
+
}
|
|
95
95
|
}
|
|
96
96
|
catch (error) {
|
|
97
|
-
|
|
97
|
+
const msg = 'Failed to create pane';
|
|
98
|
+
console.error(msg, error);
|
|
99
|
+
LogService.getInstance().error(msg, 'usePaneCreation', undefined, error instanceof Error ? error : undefined);
|
|
98
100
|
setStatusMessage(`Failed to create pane: ${error}`);
|
|
99
|
-
setIsCreatingPane(false);
|
|
100
101
|
setTimeout(() => setStatusMessage(''), 3000);
|
|
101
102
|
}
|
|
102
103
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaneCreation.js","sourceRoot":"","sources":["../../src/hooks/usePaneCreation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"usePaneCreation.js","sourceRoot":"","sources":["../../src/hooks/usePaneCreation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaneRunner.d.ts","sourceRoot":"","sources":["../../src/hooks/usePaneRunner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"usePaneRunner.d.ts","sourceRoot":"","sources":["../../src/hooks/usePaneRunner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI7D,UAAU,MAAM;IACd,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,eAAe,EAAE,eAAe,CAAC;IACjC,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,iBAAiB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,EAAE,MAAM;6CACzE,MAAM;wCAcX,MAAM,GAAG,KAAK,QAAQ,QAAQ;yCAmD7B,MAAM,WAAW,MAAM;wCA6BxB,MAAM,WAAW,MAAM;4CAoBnB,QAAQ,QAAQ,MAAM,GAAG,KAAK;EAwB3E"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { execSync } from 'child_process';
|
|
2
2
|
import fs from 'fs/promises';
|
|
3
|
-
import {
|
|
3
|
+
import { enforceControlPaneSize } from '../utils/tmux.js';
|
|
4
|
+
import { SIDEBAR_WIDTH } from '../utils/layoutManager.js';
|
|
4
5
|
export default function usePaneRunner({ panes, savePanes, projectSettings, setStatusMessage, setRunningCommand }) {
|
|
5
6
|
const copyNonGitFiles = async (worktreePath) => {
|
|
6
7
|
try {
|
|
@@ -133,8 +134,12 @@ export default function usePaneRunner({ panes, savePanes, projectSettings, setSt
|
|
|
133
134
|
}
|
|
134
135
|
try {
|
|
135
136
|
execSync(`tmux join-pane -h -s '${windowId}'`, { stdio: 'pipe' });
|
|
136
|
-
|
|
137
|
-
|
|
137
|
+
// Don't apply global layouts - just enforce sidebar width
|
|
138
|
+
try {
|
|
139
|
+
const controlPaneId = execSync('tmux display-message -p "#{pane_id}"', { encoding: 'utf-8' }).trim();
|
|
140
|
+
enforceControlPaneSize(controlPaneId, SIDEBAR_WIDTH);
|
|
141
|
+
}
|
|
142
|
+
catch { }
|
|
138
143
|
execSync(`tmux select-pane -t '{last}'`, { stdio: 'pipe' });
|
|
139
144
|
setStatusMessage(`Attached ${type} window`);
|
|
140
145
|
setTimeout(() => setStatusMessage(''), 2000);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaneRunner.js","sourceRoot":"","sources":["../../src/hooks/usePaneRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,aAAa,CAAC;AAE7B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"usePaneRunner.js","sourceRoot":"","sources":["../../src/hooks/usePaneRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePanes.d.ts","sourceRoot":"","sources":["../../src/hooks/usePanes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"usePanes.d.ts","sourceRoot":"","sources":["../../src/hooks/usePanes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA8C5C,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO;;;;;mCA0cnC,QAAQ,EAAE;EA+E9C"}
|