nothumanallowed 13.2.55 → 13.2.56

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nothumanallowed",
3
- "version": "13.2.55",
3
+ "version": "13.2.56",
4
4
  "description": "NotHumanAllowed — 38 AI agents, 80 tools, Studio (visual agentic workflows). Email, calendar, browser automation, screen capture, canvas, cron/heartbeat, Alexandria E2E messaging, GitHub, Notion, Slack, voice chat, free AI (Liara), 28 languages. Zero-dependency CLI.",
5
5
  "type": "module",
6
6
  "bin": {
package/src/constants.mjs CHANGED
@@ -5,7 +5,7 @@ import { fileURLToPath } from 'url';
5
5
  const __filename = fileURLToPath(import.meta.url);
6
6
  const __dirname = path.dirname(__filename);
7
7
 
8
- export const VERSION = '13.2.55';
8
+ export const VERSION = '13.2.56';
9
9
  export const BASE_URL = 'https://nothumanallowed.com/cli';
10
10
  export const API_BASE = 'https://nothumanallowed.com/api/v1';
11
11
 
@@ -2624,15 +2624,16 @@ function showToast(type, title, body, durationMs) {
2624
2624
  var ws = null;
2625
2625
  var wsReconnectTimer = null;
2626
2626
  var wsRetryCount = 0;
2627
- var wsMaxRetries = 1;
2627
+ var wsRetryDelay = 2000; // start at 2s, exponential backoff up to 30s
2628
2628
  function connectWebSocket() {
2629
- if (wsRetryCount >= wsMaxRetries) return; // Stop trying after 3 failures
2629
+ if (wsReconnectTimer) return; // already scheduled
2630
2630
  try {
2631
2631
  ws = new WebSocket('ws://' + window.location.host);
2632
2632
  } catch(e) { return; }
2633
2633
 
2634
2634
  ws.onopen = function() {
2635
2635
  wsRetryCount = 0;
2636
+ wsRetryDelay = 2000;
2636
2637
  var indicator = document.getElementById('wsIndicator');
2637
2638
  if (indicator) { indicator.style.color = 'var(--green)'; indicator.title = 'Live updates: connected'; }
2638
2639
  };
@@ -2646,15 +2647,15 @@ function connectWebSocket() {
2646
2647
 
2647
2648
  ws.onclose = function() {
2648
2649
  var indicator = document.getElementById('wsIndicator');
2649
- if (indicator) { indicator.style.color = 'var(--dim)'; indicator.title = 'Live updates: disconnected'; }
2650
+ if (indicator) { indicator.style.color = 'var(--dim)'; indicator.title = 'Live updates: reconnecting...'; }
2650
2651
  ws = null;
2651
2652
  wsRetryCount++;
2652
- if (wsRetryCount < wsMaxRetries && !wsReconnectTimer) {
2653
- wsReconnectTimer = setTimeout(function() {
2654
- wsReconnectTimer = null;
2655
- connectWebSocket();
2656
- }, 3000); // 3s between retries
2657
- }
2653
+ var delay = Math.min(wsRetryDelay * Math.pow(1.5, Math.min(wsRetryCount - 1, 6)), 30000);
2654
+ wsRetryDelay = delay;
2655
+ wsReconnectTimer = setTimeout(function() {
2656
+ wsReconnectTimer = null;
2657
+ connectWebSocket();
2658
+ }, delay);
2658
2659
  };
2659
2660
 
2660
2661
  ws.onerror = function() {