myrlin-workbook 0.9.22 → 0.9.23
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/logs/server.pid +1 -1
- package/package.json +1 -1
- package/src/web/public/app.js +7 -1
package/logs/server.pid
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
68900
|
package/package.json
CHANGED
package/src/web/public/app.js
CHANGED
|
@@ -9095,13 +9095,19 @@ class CWMApp {
|
|
|
9095
9095
|
sessionName = savedTitle;
|
|
9096
9096
|
}
|
|
9097
9097
|
console.log('[DnD] openTerminalInPane slot:', slotIdx, 'session:', sessionId, 'name:', sessionName);
|
|
9098
|
+
// If the target slot has a disconnected placeholder, clear it so we reuse the slot.
|
|
9099
|
+
// Without this, "Click to connect" opens in a different pane instead of replacing.
|
|
9100
|
+
if (this.terminalPanes[slotIdx] && this.terminalPanes[slotIdx]._disconnected) {
|
|
9101
|
+
this.terminalPanes[slotIdx] = null;
|
|
9102
|
+
}
|
|
9103
|
+
|
|
9098
9104
|
// If the target slot already has an active terminal, find the next empty slot
|
|
9099
9105
|
if (this.terminalPanes[slotIdx]) {
|
|
9100
9106
|
const emptySlot = this.terminalPanes.findIndex(p => p === null);
|
|
9101
9107
|
if (emptySlot !== -1) {
|
|
9102
9108
|
slotIdx = emptySlot;
|
|
9103
9109
|
} else {
|
|
9104
|
-
// All slots full
|
|
9110
|
+
// All slots full, replace the target slot
|
|
9105
9111
|
this.terminalPanes[slotIdx].dispose();
|
|
9106
9112
|
this.terminalPanes[slotIdx] = null;
|
|
9107
9113
|
}
|