Always run HTTP polling for download modal updates

The global download poller was disabled when WebSocket was connected,
but WebSocket connections can silently stop delivering messages without
triggering a disconnect event (room subscription lost, server emit
error, proxy timeout). This left modals frozen while downloads
continued server-side. Removing the socketConnected gate ensures the
2-second HTTP poll always runs as a fallback alongside WebSocket.
pull/315/head
Broque Thomas 4 weeks ago
parent 1384b966e8
commit 57259b6e3a

@ -15056,10 +15056,10 @@ let globalPollingFailureCount = 0; // Track consecutive failures for exponential
let globalPollingBaseInterval = 2000; // Base polling interval in ms - MATCHES sync.py exactly
function startGlobalDownloadPolling() {
if (socketConnected) {
console.debug('🔄 [Global Polling] WebSocket active, skipping HTTP polling');
return; // WebSocket handles download updates via room subscriptions
}
// Always run HTTP polling as a fallback — WebSocket connections can silently
// stop delivering messages (room subscription lost, server emit error, proxy
// timeout) without triggering a disconnect event. The 2-second poll is cheap
// (single batched request) and ensures modals never go stale.
if (globalDownloadStatusPoller) {
console.debug('🔄 [Global Polling] Already running, skipping start');
return; // Prevent duplicate pollers

Loading…
Cancel
Save