What's Changed
A quality-focused release addressing 10 bugs discovered through systematic code review. Major
improvements to magnet link handling reliability, theme system stability, and preference validation.
🐛 Bug Fixes
- Magnet confirm race condition — Replaced stale in-memory task lookup with direct aria2 RPC
status fetch, ensuring pause/resume actions target the correct task state - Magnet poll GID overwrite — Read
pendingMagnetGidsfrom live store instead of a stale
snapshot, preventing newly added downloads from being silently removed - Theme listener accumulation — Added a singleton guard to prevent
matchMediachange listeners
from stacking on everyuseTheme()call - Shared isDark ref — Promoted
isDarkfrom per-call local ref to module-level shared state so
alluseTheme()callers stay in sync on system theme changes - History record silently dropped — Changed
INSERT OR IGNOREtoINSERT OR REPLACEin
addRecord, so re-downloading a URL correctly updates the existing history entry - Update check timestamp on failure — Moved
lastCheckUpdateTimepersistence into the success
path so a failed update check doesn't suppress future retries - Proxy URL validation — Added
new URL()validation in advanced preferences to catch malformed
proxy URLs before saving - Missing i18n key — Added the
invalid-proxy-urltranslation key to all 26 locale files - Tracker URL deduplication — Deduplicate individual tracker lines across merged sources to
prevent duplicate entries sent to aria2
📦 Downloads
| Platform | Architecture | File |
|---|---|---|
| macOS | Apple Silicon · Intel | .dmg
|
| Windows | x64 · ARM64 | -setup.exe
|
| Linux | x64 · ARM64 | .AppImage .deb
|