What's Changed
This release introduces a complete cross-platform protocol handler registration system with robust macOS support, multi-language UI, and reliable state management.
✨ New Features
- Protocol handler registration — Users can now register Motrix Next as the default handler for
magnet://,thunder://, andmotrixnext://links directly from Settings, with per-protocol toggle switches - Multi-language protocol labels — Protocol labels with URI scheme format (
[ magnet:// ]) added across all 26 locales - Hijack detection — On startup, detects when another application has taken over a registered protocol and shows an OS-level notification with an in-app dialog to guide the user
🛠 Improvements
- macOS identity resolution — Uses
app.config().identifierfromtauri.conf.jsoninstead ofNSBundle.mainBundle(), which incorrectly returned the parent process's bundle ID (e.g. Terminal.app) in dev mode - Post-registration verification — After calling
LSSetDefaultHandlerForURLScheme, verifies the handler actually changed, catching silent no-ops when no.appbundle exists - IPC error display — Fixed Tauri error objects displaying as
[object Object]in toast messages by properly extracting inner messages from serializedAppErrorvariants - Failed registration rollback — When protocol registration fails, the toggle automatically reverts to its previous state and the reverted value is persisted to config
🐛 Bug Fixes
- Fixed protocol switches staying ON after failed registration attempts
- Fixed
syncProtocolHandlersandonMountedrace condition causing inconsistent switch states across app restarts - Fixed redundant closure lint flagged by Clippy in protocol registration path
📦 Downloads
| Platform | Architecture | File |
|---|---|---|
| macOS | Apple Silicon · Intel | .dmg
|
| Windows | x64 · ARM64 | -setup.exe
|
| Linux | x64 · ARM64 | .AppImage .deb
|