github FrancescoGrazioso/Meld v0.2.0
0.2.0

latest releases: v0.9.2, v0.8.9, v0.8.8...
8 months ago

Meld v0.2.0 — Release Notes

Highlights

This release marks a major overhaul of the Spotify integration. The app no longer requires a Spotify Developer account or Client ID — just log in with your Spotify credentials directly in the app and you're ready to go.

New Features

Simplified Spotify Login

No more Client ID, redirect URIs, or developer dashboard. Log in directly via the in-app browser using your Spotify account. Authentication is handled transparently through cookie extraction and TOTP-based token generation.

Spotify-Only Mode

New toggle in Settings > Integrations > Spotify that hides all YouTube Music content from the home screen, giving you a pure Spotify-driven experience.

Spotify Album Screen

Dedicated album view for Spotify albums with full tracklist, metadata, and one-tap playback.

Smart Profile Caching

A 3-tier hybrid cache (GraphQL → REST → local storage) for your top tracks and artists, with automatic background refresh. Eliminates repeated API calls and dramatically speeds up home screen loading.

Recommendation Engine

Personalized queue building based on your Spotify listening profile, combining:

  • Artist affinity
  • Genre overlap
  • Recency
  • Popularity

Includes diversification logic to avoid monotony and repetitive playback.

Improvements

Faster Playback Start

Timeout guards on REST calls (3s) and recommendation engine (4s) ensure tracks start playing immediately, falling back gracefully to artist top tracks when the engine is slow.

GraphQL-First API Architecture

Switched the Spotify backend from public REST-only to internal GraphQL as the primary data source, with REST as a fallback. This provides richer data and avoids most rate-limiting issues.

Resilient Rate Limit Handling

REST 429 responses now trigger a 5-minute cooldown, preventing repeated failed requests. GraphQL endpoints are unaffected by REST rate limits.

Thumbnail Fallback Chain

Player artwork now uses a 3-level fallback:

  1. Spotify album art
  2. YouTube match thumbnail
  3. YouTube video thumbnail

This ensures cover art is always displayed.

WebView Cipher Improvements

Improved error handling and timer management in the cipher WebView, reducing JavaScript errors during signature deobfuscation.

Technical Changes

  • Removed SPOTIFY_CLIENT_ID build config and all OAuth2/PKCE authentication code
  • Added SpotifyProfileCache.kt for persistent profile data management
  • Added SpotifyAlbumScreen.kt and SpotifyAlbumViewModel.kt
  • Refactored Spotify.kt with GraphQL support and JSON navigation helpers
  • Refactored SpotifyAuth.kt for cookie-based + TOTP authentication
  • Updated 25 files across the app and spotify modules

Don't miss a new Meld release

NewReleases is sending notifications on new releases.