vibora 2.5.3 → 2.6.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/index.html CHANGED
@@ -5,7 +5,7 @@
5
5
  <link rel="icon" type="image/jpeg" href="/logo-dark.jpg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>Vibora</title>
8
- <script type="module" crossorigin src="/assets/index-BVoQpjgJ.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-7VMTe1r2.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="/assets/index-BtG6gcrm.css">
10
10
  </head>
11
11
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibora",
3
- "version": "2.5.3",
3
+ "version": "2.6.0",
4
4
  "description": "The Vibe Engineer's Cockpit",
5
5
  "license": "PolyForm-Shield-1.0.0",
6
6
  "repository": {
package/server/index.js CHANGED
@@ -14436,8 +14436,19 @@ class PTYManager {
14436
14436
  destroy(terminalId) {
14437
14437
  const session = this.sessions.get(terminalId);
14438
14438
  if (!session) {
14439
+ log2.pty.warn("destroy called for non-existent terminal", { terminalId });
14439
14440
  return false;
14440
14441
  }
14442
+ const info = session.getInfo();
14443
+ log2.pty.info("Destroying terminal", {
14444
+ terminalId,
14445
+ name: info.name,
14446
+ cwd: info.cwd,
14447
+ tabId: info.tabId,
14448
+ stack: new Error().stack?.split(`
14449
+ `).slice(1, 6).join(`
14450
+ `)
14451
+ });
14441
14452
  session.kill();
14442
14453
  this.sessions.delete(terminalId);
14443
14454
  db.delete(terminals).where(eq(terminals.id, terminalId)).run();
@@ -14498,7 +14509,12 @@ class PTYManager {
14498
14509
  return session.getInfo();
14499
14510
  }
14500
14511
  listTerminals() {
14501
- return Array.from(this.sessions.values()).map((s) => s.getInfo());
14512
+ const terminals2 = Array.from(this.sessions.values()).map((s) => s.getInfo());
14513
+ log2.pty.debug("listTerminals called", {
14514
+ count: terminals2.length,
14515
+ terminals: terminals2.map((t) => ({ id: t.id, name: t.name, cwd: t.cwd, tabId: t.tabId }))
14516
+ });
14517
+ return terminals2;
14502
14518
  }
14503
14519
  killClaudeInTerminal(terminalId) {
14504
14520
  const session = this.sessions.get(terminalId);
@@ -14717,9 +14733,15 @@ var terminalWebSocketHandlers = {
14717
14733
  const ptyManager2 = getPTYManager();
14718
14734
  const tabManager2 = getTabManager();
14719
14735
  tabManager2.ensureDefaultTab();
14736
+ const terminalsList = ptyManager2.listTerminals();
14737
+ log2.ws.debug("Sending terminals:list to new client", {
14738
+ clientId: clientData.id,
14739
+ terminalCount: terminalsList.length,
14740
+ terminals: terminalsList.map((t) => ({ id: t.id, name: t.name, cwd: t.cwd, tabId: t.tabId }))
14741
+ });
14720
14742
  sendTo(ws, {
14721
14743
  type: "terminals:list",
14722
- payload: { terminals: ptyManager2.listTerminals() }
14744
+ payload: { terminals: terminalsList }
14723
14745
  });
14724
14746
  sendTo(ws, {
14725
14747
  type: "tabs:list",
@@ -14770,6 +14792,10 @@ var terminalWebSocketHandlers = {
14770
14792
  break;
14771
14793
  }
14772
14794
  case "terminal:destroy": {
14795
+ log2.ws.info("terminal:destroy received", {
14796
+ terminalId: message.payload.terminalId,
14797
+ clientId: clientData.id
14798
+ });
14773
14799
  ptyManager2.destroy(message.payload.terminalId);
14774
14800
  break;
14775
14801
  }