Skip to content

Releases: lgdark7/FAIRY-MUSIC

FAIRY MUSIC v1.0.11

Choose a tag to compare

@lgdark7 lgdark7 released this 25 Oct 16:31

FAIRY MUSIC v1.0.11 — Official Website Integration & In-App Portal Access

🌟 What's New in v1.0.11:

  • Official Website Integration: Added direct links to our official portal (fairymusic.vercel.app) across the app inside Settings → Developer & Links, About Screen, and the Welcome Onboarding Dialog.
  • In-App Portal Access: Instant one-tap navigation to the official web portal, dynamic release changelogs, and community hubs.
  • Playback & Streaming Stability: Enhanced network timeout resilience, improved audio stream caching, and smooth track transitions.
  • Listen Together Synchronisation: Maintained dynamic room queue stability and anti-drift synchronization.
  • Zero Data Loss In-Place Upgrade: Cryptographically signed with the official release keystore (717C073360660DAEE10ED18DB94E05E3BC33E026A25709D5BDDD468A014A6C44) — all existing users can update directly with zero data loss without uninstalling.

📥 Download & Update:

  • In-App OTA Update: Open Settings → Check for Updates to update instantly.
  • Direct Download: Download FAIRY-MUSIC-v1.0.11.apk below or visit fairymusic.vercel.app.

FAIRY MUSIC v1.0.10

Choose a tag to compare

@lgdark7 lgdark7 released this 10 Oct 15:48

FAIRY MUSIC v1.0.10 — Listen Together Room Sync, Anti-Drift Math & Seamless Streaming

🚀 What's New in v1.0.10:

  • Rock-Solid Listen Together Room Sync: Complete architectural overhaul of dynamic queue synchronization. Radio recommendations and upcoming tracks now append dynamically to guest queues without resets or desync after 3+ songs.
  • Drift Protection & Anti-Jank Math: Fixed the 75% track backward seek bug! Periodic playback synchronization now rigorously validates track IDs and uses non-disruptive drift compensation instead of jarring hard seeks.
  • Fixed Auto-Pause on Song Transition: Track changes and buffer completion now broadcast active playback state continuously to eliminate unexpected pauses.
  • Resilient Room Reconnection & Session Teardown: Upgraded to 3-tier metadata fallback to prevent "unknown" track states, plus full session cache cleanup on disconnect.
  • Hardened OTA Updater: Resilient changelog parsing ensures zero update crashes across diverse JSON formats.
  • Zero Data Loss In-Place Upgrade: Signed with the persistent release keystore — existing users can update instantly without losing playlists or local songs.

📥 Download & Update:

  • In-App Update: Open Settings → Check for Updates to update instantly with zero data loss.
  • Direct Download: Download FAIRY-MUSIC-v1.0.10.apk below.

Full Changelog: v1.0.9...v1.0.10

FAIRY MUSIC v1.0.9

Choose a tag to compare

@github-actions github-actions released this 10 Oct 12:14

FAIRY MUSIC v1.0.9 — Performance Revolution & Real-Time Announcements

🚀 What's New in v1.0.9:

  • Background Push Announcements: Stay connected! Receive news, updates, and announcements directly on your device status bar even when the app is completely closed.
  • 42% Smaller App Size (70 MB): Optimized build with full R8 tree-shaking, minification, and unused resource stripping. Dropped from 118 MB down to 70 MB!
  • Zero-Jank Butter-Smooth UI (0.00% Jank): Replaced unmemoized database queries and downscaled heavy feed bitmaps, eliminating scroll stutter and freeing over 200MB of RAM.
  • In-App Feedback System: Native feedback dialog in Settings & About screens to send suggestions and report issues directly to the developer.
  • Seamless In-Place Update: Existing users update directly without losing playlists, local settings, or downloads.

📥 Download & Update:

  • In-App Update: Open Settings → Check for Updates to update instantly with zero data loss.
  • Direct Download: Download FAIRY-MUSIC-v1.0.9.apk below.

FAIRY MUSIC v1.0.8

Choose a tag to compare

@lgdark7 lgdark7 released this 29 Sep 17:03

FAIRY MUSIC v1.0.8 — Play Together Production Hardening

What's New & Fixed in Play Together:

  • Monotonic Revision Sync (Revisions 1..N): Every host playback action and queue update carries a monotonic revision counter. Out-of-order or delayed packets from earlier events can no longer overwrite newer track transitions or seek positions.
  • Authoritative Transit Advancement: The guest now computes the exact host playback position using timestamp deltas ($pos_{expected} = pos_{host} + \Delta t imes speed$), compensating for network transit latency.
  • Authentic Buffer State (No Fake BUFFER_READY): Guests now signal BUFFER_READY only after ExoPlayer finishes resolving the audio stream and enters STATE_READY.
  • Automatic Recovery on Extraction Errors: Added ExoPlayer onPlayerError listener on guests to catch YouTube stream extraction failures and trigger bounded recovery re-syncs.
  • Explicit Connection Lifecycle & 15s Watchdog: Added AUTHENTICATING, IN_ROOM, and FAILED states. Added a 15-second handshake watchdog to prevent the UI from getting stuck indefinitely in CONNECTING.
  • Refined Drift Compensation: Corrected speed micro-adjustments ($0.96\times$ vs $1.04\times$) with strict $1.0\times$ normalization on pause and in-sync states.

Download & Update:

  • Direct Download: Download FAIRY-MUSIC-v1.0.8.apk below.
  • In-App Update: Existing users can also update with 1-tap directly inside Settings → Check for Updates.

Full Changelog: v1.0.7...v1.0.8

FAIRY MUSIC v1.0.7 - Play Together Host Skip & Universal Sync Fix

Choose a tag to compare

@lgdark7 lgdark7 released this 26 Sep 18:04

What's New in v1.0.7:

  • Instant Host Skip Sync: When the host skips a song (Next or Previous), all guests immediately transition to the exact new song instead of replaying the old song.
  • In-Track Seek Guard: Fixed false SEEK(0ms) events during song transitions that caused previous tracks to restart from the beginning on guests.
  • Immediate Track Broadcast: Bypassed syncing lock during track transitions so the host always broadcasts the new song's YouTube metadata to everyone in the room.
  • Universal Signing: Embedded persistent keystore with APK Signature Scheme v2 to prevent install conflicts across devices.

Full Changelog: v1.0.6...v1.0.7

FAIRY MUSIC v1.0.6 - Play Together Sync & Zero Skip Fix

Choose a tag to compare

@lgdark7 lgdark7 released this 26 Sep 17:32

FAIRY MUSIC v1.0.6

🎶 Play Together (Listen Together) Complete Overhaul

  • Synchronized Song Queues: Fixed issue where host and guest played completely different songs by dynamically instantiating ListQueue with exact MediaMetadata.
  • Zero Song Skips & Loop Prevention: Excised AutomixCrossfade during active rooms, stopping premature track skipping and infinite skip loops.
  • Smooth Micro-Sync: Replaced abrupt 10s heartbeat hard-seeks with pitch-preserving playback speed micro-adjustments (0.95x / 1.05x) for imperceptible drift correction.
  • Isolated Guest Controls: Blocked direct local playback override clobbers on guest devices, ensuring reliable host sync.
  • Immediate Playback Readiness: Enforced immediate player.prepare() and playWhenReady synchronization on guest devices.

FAIRY MUSIC v1.0.5 - Home Screen Lag Fix & 120 FPS Smooth Scroll

Choose a tag to compare

@lgdark7 lgdark7 released this 25 Sep 16:34

FAIRY MUSIC v1.0.5

⚡ Complete Home Screen Scroll & Lag Optimization

  • Silky Smooth 120 FPS Scrolling: Removed 21 layout displacement animators on nested containers and section headers that caused frame dropping during vertical scroll.
  • Eliminated UI Thread Recomposition Loop: Replaced 120 FPS continuous TopAppBar infinite pulse loop with a clean static accent border.
  • Zero Marquee Layout Jank: Excised basicMarquee() text tickers from grid cards, stopping dozens of concurrent continuous redraws.
  • Cached Image Pipeline: Wrapped Coil ImageRequest instances in remember() for instantaneous cache hits while browsing.
  • Zero-Lag Room Database Queries: Eliminated per-card database Flow subscriptions in Quick Picks, Forgotten Favorites, and Home sections.
  • Batched In-Memory Deduplication: Guarded all list operations with remember to prevent GC pauses.
  • Single-Canvas Equalizer: Rewrote PlayingIndicator to draw all visualizer bars in a single hardware-accelerated Canvas.

FAIRY MUSIC v1.0.4

Choose a tag to compare

@lgdark7 lgdark7 released this 25 Sep 03:53

FAIRY MUSIC v1.0.4 — Clean Home Screen layout with streamlined design, retained ultra-smooth Compose performance optimizations, and instant 1-tap in-app OTA update.

FAIRY MUSIC v1.0.3

Choose a tag to compare

@lgdark7 lgdark7 released this 24 Sep 19:09

FAIRY MUSIC v1.0.3

  • Verified 1-tap in-app OTA update system.
  • Fixed lateinit navController initialization in UpdateAvailableDialog.
  • Listen Together multi-device party audio sync stability fixes.

FAIRY MUSIC v1.0.2 — Listen Together Playback Sync Fix & OTA Delivery

Choose a tag to compare

@lgdark7 lgdark7 released this 24 Sep 18:20

FAIRY MUSIC v1.0.2 Release Notes

🎧 Listen Together Party Mode Fixed

  • Eliminated Glitchy Forward-Seeking & Auto-Skipping: Removed uncalibrated device-to-server clock skew arithmetic in position calculation, preventing endless forward seek jumps and false track skips.
  • Simultaneous Multi-Device Playback: Resolved barrier deadlock so guests auto-play smoothly as soon as the track is buffered, without waiting for missing server buffer complete barriers.
  • Echo / Feedback Loop Prevention: ExoPlayer automatic timeline events (onPlayWhenReadyChanged, onMediaItemTransition, onPositionDiscontinuity) are strictly restricted to the room host.
  • Queue Synchronization Guard: Host-only queue observation prevents bidirectional queue ping-pong and unexpected track resets.

🚀 In-App OTA Updates

  • Retained android.permission.REQUEST_INSTALL_PACKAGES in FOSS build flavor.
  • Defensive installer verification enabling seamless single-tap in-app upgrades.