nothumanallowed 6.4.3 → 6.4.4

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": "6.4.3",
3
+ "version": "6.4.4",
4
4
  "description": "NotHumanAllowed — 38 AI agents for security, code, DevOps, data & daily ops. Per-agent memory, Telegram + Discord auto-responder, proactive intelligence daemon, voice chat, plugin system.",
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 = '6.4.3';
8
+ export const VERSION = '6.4.4';
9
9
  export const BASE_URL = 'https://nothumanallowed.com/cli';
10
10
  export const API_BASE = 'https://nothumanallowed.com/api/v1';
11
11
 
@@ -878,14 +878,18 @@ function showToast(type, title, body, durationMs) {
878
878
  // ---- WEBSOCKET (connect to daemon for real-time events) ----
879
879
  var ws = null;
880
880
  var wsReconnectTimer = null;
881
+ var wsRetryCount = 0;
882
+ var wsMaxRetries = 3;
881
883
  function connectWebSocket() {
884
+ if (wsRetryCount >= wsMaxRetries) return; // Stop trying after 3 failures
882
885
  try {
883
886
  ws = new WebSocket('ws://' + window.location.host);
884
887
  } catch(e) { return; }
885
888
 
886
889
  ws.onopen = function() {
890
+ wsRetryCount = 0;
887
891
  var indicator = document.getElementById('wsIndicator');
888
- if (indicator) indicator.style.color = 'var(--green)';
892
+ if (indicator) { indicator.style.color = 'var(--green)'; indicator.title = 'Live updates: connected'; }
889
893
  };
890
894
 
891
895
  ws.onmessage = function(event) {
@@ -897,14 +901,14 @@ function connectWebSocket() {
897
901
 
898
902
  ws.onclose = function() {
899
903
  var indicator = document.getElementById('wsIndicator');
900
- if (indicator) indicator.style.color = 'var(--dim)';
904
+ if (indicator) { indicator.style.color = 'var(--dim)'; indicator.title = 'Live updates: disconnected'; }
901
905
  ws = null;
902
- // Reconnect after 10 seconds
903
- if (!wsReconnectTimer) {
906
+ wsRetryCount++;
907
+ if (wsRetryCount < wsMaxRetries && !wsReconnectTimer) {
904
908
  wsReconnectTimer = setTimeout(function() {
905
909
  wsReconnectTimer = null;
906
910
  connectWebSocket();
907
- }, 10000);
911
+ }, 30000); // 30s between retries
908
912
  }
909
913
  };
910
914