@@ -316,6 +316,9 @@ <h3>Select NPG Device</h3>
316
316
lslButton . classList . remove ( 'running' ) ;
317
317
lslButton . classList . add ( 'not-running' ) ;
318
318
lslButton . disabled = data . npg_running ;
319
+ if ( ! data . lsl_running && ! data . npg_running ) {
320
+ updateAppButtons ( [ ] ) ;
321
+ }
319
322
}
320
323
321
324
// Update NPG button state
@@ -330,11 +333,15 @@ <h3>Select NPG Device</h3>
330
333
npgButton . classList . remove ( 'running' ) ;
331
334
npgButton . classList . add ( 'not-running' ) ;
332
335
npgButton . disabled = data . lsl_running ;
336
+ if ( ! data . npg_running && ! data . lsl_running ) {
337
+ updateAppButtons ( [ ] ) ;
338
+ }
333
339
}
334
340
335
341
// Update app buttons when stream stops
336
342
if ( ( data . message && data . message . includes ( 'terminated' ) ) ||
337
- ( data . message && data . message . includes ( 'disconnected' ) ) ) {
343
+ ( data . message && data . message . includes ( 'disconnected' ) ) ||
344
+ ( data . message && data . message . includes ( 'interrupted' ) ) ) {
338
345
updateAppButtons ( [ ] ) ;
339
346
340
347
// If we're in the NPG popup, update status
@@ -350,15 +357,10 @@ <h3>Select NPG Device</h3>
350
357
}
351
358
352
359
// Update running apps list
353
- if ( data . running_apps ) {
360
+ if ( data . running_apps && ( data . lsl_running || data . npg_running ) ) {
354
361
updateAppButtons ( data . running_apps ) ;
355
362
}
356
363
} ;
357
-
358
- eventSource . onerror = function ( ) {
359
- console . log ( "SSE connection error - reconnecting..." ) ;
360
- setTimeout ( setupEventSource , 1000 ) ;
361
- } ;
362
364
}
363
365
364
366
document . addEventListener ( 'DOMContentLoaded' , function ( ) {
0 commit comments