-
Multi-Hoster-Upload v3.3.53 Stable
released this
2026-06-08 21:28:34 +02:00 | 10 commits to master since this releaseStability hardening from the 4-agent crash audit (19 HIGH + 9 MEDIUM findings, 35 confirmed). Implements the highest-impact ones:
-
Hot-path timer callbacks now wrapped in try/catch. setInterval bodies (speedMonitor, statsInterval) and the per-byte progressCb closure used to let any throw escape into Node's unhandled-exception path → silent process death. Each is now bounded; a throw is rotLog'd and the timer keeps running.
-
Main process event listeners (uploadManager 'progress', 'stats', 'rot-log') wrapped in try/catch with object-shape validation. JSON.stringify in the rot-log entries → pairs encoder now per-key try/catch to survive a circular ref or non-serializable value.
-
New safeSend(channel, data) wrapper used for all 15 channels of main → renderer IPC. Guards mainWindow.isDestroyed() + try/catch so a racing window-close during a webContents.send() doesn't bubble.
-
Renderer: handleProgress and handleStats wrapped in try/catch — any throw inside the IPC-driven path is logged via window.api.debugLog and the renderer event loop survives.
-
Auto-updater no longer calls app.quit() unconditionally 900ms after launching the installer. It now polls globalThis._mhuUploadManagerRef.getActiveJobCount() every 3s and only quits when 0 active uploads (or after a 30 min safety timeout). Prevents the 'app vanished mid-upload' scenario if the user clicked install and a background batch was still running.
-
crash.log is now collected in the Support Bundle next to debug.log + account-rotation.log + doodstream-debug.log + fileuploader.log.
Downloads
-