Skip to content

Squelch v0.1.1 (Tauri v2 + Rust)

Choose a tag to compare

@mrbvrz mrbvrz released this 02 Nov 03:47
· 98 commits to main since this release

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 AppStore in Rust utilizing Mutex<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).
  • Asynchronous Rust ICY Demuxing Proxy:
    • High-performance local loopback proxy built with Tokio and Axum.
    • Intercepts and parses Shoutcast/Icecast StreamTitle metadata without CORS restrictions or audio stutter.
  • Security Hardening:
    • Strict external URL scheme filtering (https, http, mailto) in commands::open_external.
    • Rigorous escaping and sanitization of AppleScript notification inputs (\, ", $, `).
    • Scoped application data storage in standard macOS directory.
  • 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.