- Guard startBatch against null uploadManager in nextTick (race on fast cancel)
- Fix updateSettings not creating globalThrottle when none existed at start
- Fix updateSettings not updating globalSemaphore limit live
- Fix retry pause: 2500ms → 3000ms as intended
- Remove dead isError code in history (was always false after continue)
- Add signal.aborted check in API upload generator (hosters.js)
- Add extra signal check in throttle consume loop for faster abort
- Fix doodstream debug log path (process.cwd → __dirname)
- Fix updater fetchJson signal listener leak
- Make progress column sortable in queue table
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix DoodStream upload: parse <textarea> fields (not just <input hidden>)
- Fix DoodStream upload: handle redirect responses from upload server
- Fix DoodStream upload: submit upload_result to doodstream.com (not CDN)
- Fix DoodStream speed display: switch to async generator streaming
- Add "Start Selected" toolbar button to upload only selected queue items
- Move "Always on Top" from context menu to Settings
- Remove "Shutdown after Finish" from context menu
- Hide error entries from upload history (only show successful uploads)
- Disable background throttling to prevent UI lag on focus switch
- Add debug logging for DoodStream upload troubleshooting
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Stats tab in recent panel (queue counts, sizes, speed, ETA, run time)
- Aborted jobs persist across restart (saved as queued)
- Doodstream: throttle support, better error messages with HTTP status
- Recent panel tab switching (Files / Stats)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix doodstream login: handle redirect on success (server returns HTML dashboard instead of JSON)
- Fix sess_id extraction: match hidden input field format
- Files are now only added to queue after clicking "Uebernehmen" in hoster modal
- Cancel/Escape/click-outside discards pending files
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add doodstream.com web login (email+password) as alternative to API key
- Fix doodstream login: use X-Requested-With header for JSON response
- Add "Aus der Queue entfernen bei Abschluss" setting
- Fix byse.sx download URLs to use /d/ prefix
- Make config writes async to prevent race conditions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>