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 CHANGED
@@ -1 +1 @@
1
- 67796
1
+ 68900
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myrlin-workbook",
3
- "version": "0.9.22",
3
+ "version": "0.9.23",
4
4
  "description": "Browser-based project manager for Claude Code sessions - session discovery, multi-terminal, cost tracking, docs, and kanban board",
5
5
  "main": "src/index.js",
6
6
  "bin": {
@@ -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 - replace the target slot
9110
+ // All slots full, replace the target slot
9105
9111
  this.terminalPanes[slotIdx].dispose();
9106
9112
  this.terminalPanes[slotIdx] = null;
9107
9113
  }