Repository navigation
Squelch v0.1.1 (Tauri v2 + Rust)
Squelch v0.1.1 (Tauri v2 + Rust Native Architecture)
Squelch v0.1.1 marks a major milestone: complete migration from Electron to Tauri v2 with a native Rust backend.
🚀 Highlights
- Huge Performance & Memory Win:
- Idle RAM consumption slashed by > 75% (from ~160 MB down to ~28 MB).
- Production DMG download size shrunk from 100 MB down to 2.9 MB!
- Cold startup accelerated to under 300ms leveraging native macOS WebKit.
- Completely removed Electron and 339 obsolete dependencies.
- Native Rust Tray & Multi-Window State Synchronization:
- Thread-safe
AppStorein Rust utilizingMutex<Value>for global playback status. - Real-time state synchronization across main management window, tray popover, and audio worker via
squelch:player-sync. - Multi-frame animated tray icon with SDF capsule waveforms (idle, buffering, playing, error).
- Thread-safe
- Asynchronous Rust ICY Demuxing Proxy:
- High-performance local loopback proxy built with Tokio and Axum.
- Intercepts and parses Shoutcast/Icecast
StreamTitlemetadata without CORS restrictions or audio stutter.
- Security Hardening:
- Strict external URL scheme filtering (
https,http,mailto) incommands::open_external. - Rigorous escaping and sanitization of AppleScript notification inputs (
\,",$,`). - Scoped application data storage in standard macOS directory.
- Strict external URL scheme filtering (
- UI & UX Refinements:
- Borderless frosted glass HUD tray popover with consistent neutral graphite surfaces.
- Native macOS system notifications with 1-minute sleep timer warning and settings test trigger.
- Dynamic macOS system font picker with search filter.
- Radio Browser online directory search deduplication and responsive button wrapping.
- Safe application exit confirmation modal when invoked from the tray menu.