#Xonora - Native iOS Client for Music Assistant Now in Alpha Testing

1 messages · Page 1 of 1 (latest)

vale mulch
#

For those of you using Music Assistant, I've built Xonora, a native iOS client that brings your MA library to iPhone with features that aren't possible with the web interface.

Why a Native Client?
While the Music Assistant PWA works well, a native iOS app unlocks several capabilities:
Lock screen and Control Center integration with native iOS media controls
Hardware-accelerated audio processing for better sound quality
True gapless playback using low-level audio APIs
More responsive UI with SwiftUI

Technical Highlights:
Xonora implements the Sendspin protocol through a custom SendspinKit audio engine written in Swift. This enables sample-accurate playback and maintains compatibility with Music Assistant's native streaming protocol. The app uses AVAudioEngine instead of higher-level APIs, which eliminates the small gaps between tracks that plague many music players.
For audio processing, Xonora leverages Apple's vDSP framework for efficient, hardware-accelerated DSP operations without draining battery life.

Current Status (v1.0.1 Alpha):
The app is functional for daily use with core features working:
Library browsing and search
Gapless playback
Multi-room synchronization via Sendspin

The app has been submitted to TestFlight. Once approved, the repository will be updated with the TestFlight link for public testing.

Open Source:
GitHub: https://github.com/hayupadhyaya/xonora-ios

I've been a Music Assistant user for a while and wanted a first-class iOS experience. Excited to share this with the community and hear your feedback once TestFlight goes live.

GitHub

Contribute to hayupadhyaya/xonora-ios development by creating an account on GitHub.

vale mulch
#

v1.0.7- Released

CarPlay — Major Overhaul

The CarPlay experience has been rebuilt from the ground up. This is the centerpiece of v1.0.7

  • Tab Bar Navigation: Dedicated Home, Library, Queue, and Now Playing tabs
  • Home Tab: Horizontal scrolling artwork rows for Continue Listening, Recently Played, and Recommendations — synced with your iOS home screen
  • Library Drill-Down: Browse Artists -> Albums -> Tracks directly from the dashboard
  • Queue Tab: Live queue with current-track indicator; tap any item to jump playback
  • Now Playing Favorites: Heart tracks directly from the CarPlay Now Playing screen
  • Siri Integration: "Hey Siri, play..." media intent support (Will not play anything yetTo Do)
  • Template & Image Caching: Album and playlist track templates cached in memory — no artwork reload on back/re-enter. Disk-cached 240x240 resized images for smooth scrolling (Super slow on initial load)
  • Performance: Debounced home rebuilds (300ms) to prevent UI freezes; stable reconnect behavior with persistent cancellables

Authentication — Username & Password

Gone are the days of hunting for access tokens, copying them from browser dev tools, and praying you didn't accidentally grab an expired one. Xonora now supports proper username and password login as the default authentication method. Credentials are stored securely in the Keychain. Token auth is still available as a fallback for the nostalgic.

  • Server Setup: New toggle between Username/Password and Token auth modes
  • Keychain Storage: Credentials stored securely via KeychainHelper
  • User & Provider Info: Settings page now shows your logged-in user and connected providers