zeroed-some/loosecannon / ac0bee2

Browse files

fixes, stale extension problem

Authored by espadonne
SHA
ac0bee2056b423e802ea23e71e332188cb2e879d
Parents
7ca20f7
Tree
91b81c2

2 changed files

StatusFile+-
C extension/background/background-fixed.js 0 0
M extension/background/background.js 11 5
extension/background/background.js → extension/background/background-fixed.jscopied (88% similarity)
@@ -1,4 +1,4 @@
1
-// Background script for LooseCannon
1
+// Background script for LooseCannon - Fixed Connection Issues
22
 console.log('[LooseCannon Background] Initialized');
33
 
44
 class LooseCannonBackground {
@@ -37,8 +37,11 @@ class LooseCannonBackground {
3737
           break;
3838
 
3939
         case 'GET_SERVER_STATUS':
40
+          // Check connection immediately when asked
41
+          this.checkServerConnection().then(() => {
4042
             sendResponse({ connected: this.isConnected });
41
-          break;
43
+          });
44
+          return true; // Keep channel open for async response
4245
 
4346
         case 'GET_PERSONALITIES':
4447
           sendResponse({ personalities: this.personalities });
@@ -109,24 +112,28 @@ class LooseCannonBackground {
109112
 
110113
   async checkServerConnection() {
111114
     try {
115
+      console.log('[LooseCannon] Checking server connection...');
112116
       const response = await fetch(`${this.serverUrl}/status`);
117
+
113118
       if (response.ok) {
114119
         const data = await response.json();
115120
         this.isConnected = true;
116121
         this.personalities = data.personalities || [];
117
-        console.log('[LooseCannon] Server connected, personalities:', this.personalities);
122
+        console.log('[LooseCannon] Server connected successfully');
123
+        console.log('[LooseCannon] Available personalities:', this.personalities);
124
+        return true;
118125
       } else {
119126
         this.isConnected = false;
120127
         console.warn('[LooseCannon] Server responded with error:', response.status);
128
+        return false;
121129
       }
122130
     } catch (error) {
123131
       this.isConnected = false;
124
-      console.error('[LooseCannon] Could not connect to server:', error);
125
-    }
132
+      console.error('[LooseCannon] Could not connect to server:', error.message);
126133
 
127
-    // Retry connection every 5 seconds if not connected
128
-    if (!this.isConnected) {
134
+      // Retry in 5 seconds
129135
       setTimeout(() => this.checkServerConnection(), 5000);
136
+      return false;
130137
     }
131138
   }
132139
 
extension/background/background.jsmodified
@@ -37,8 +37,11 @@ class LooseCannonBackground {
3737
           break;
3838
 
3939
         case 'GET_SERVER_STATUS':
40
+          // Check connection immediately when asked
41
+          this.checkServerConnection().then(() => {
4042
             sendResponse({ connected: this.isConnected });
41
-          break;
43
+          });
44
+          return true; // Keep channel open for async response
4245
 
4346
         case 'GET_PERSONALITIES':
4447
           sendResponse({ personalities: this.personalities });
@@ -109,19 +112,22 @@ class LooseCannonBackground {
109112
 
110113
   async checkServerConnection() {
111114
     try {
115
+      console.log('[LooseCannon] Checking server connection to:', this.serverUrl);
112116
       const response = await fetch(`${this.serverUrl}/status`);
117
+
113118
       if (response.ok) {
114119
         const data = await response.json();
115120
         this.isConnected = true;
116121
         this.personalities = data.personalities || [];
117
-        console.log('[LooseCannon] Server connected, personalities:', this.personalities);
122
+        console.log('[LooseCannon] ✅ Server connected successfully');
123
+        console.log('[LooseCannon] Available personalities:', this.personalities);
118124
       } else {
119125
         this.isConnected = false;
120
-        console.warn('[LooseCannon] Server responded with error:', response.status);
126
+        console.warn('[LooseCannon] ❌ Server responded with error:', response.status);
121127
       }
122128
     } catch (error) {
123129
       this.isConnected = false;
124
-      console.error('[LooseCannon] Could not connect to server:', error);
130
+      console.error('[LooseCannon] ❌ Could not connect to server:', error.message);
125131
     }
126132
 
127133
     // Retry connection every 5 seconds if not connected