Skip to main content
2026-10-30Pure Music PlayerDev WeeklySubsonicFoldable

Pure Music Player October Dev Weekly: Subsonic Incremental Sync, Foldable Playback Interface, and More Secure PureStream Connections

This month, Pure Music Player completed Subsonic incremental synchronization, a five-posture playback interface for foldable iPhone, a reimagined PureStream configuration page, and two core reliability fixes. Newly added tracks appear instantly in album and artist views, and legacy libraries now undergo automatic safe migration on startup.

Pure Music Player October Dev Weekly: Subsonic Incremental Sync, Foldable Playback Interface, and More Secure PureStream Connections

In October, the Pure Music Player team made progress across library synchronization, adaptation for new form-factor devices, service connection experiences, and underlying storage reliability. Here are the highlights of this weekly report.

🔄 Subsonic Incremental Sync: Data-Efficient, Second-Level Refresh

To make remote library synchronization more efficient and seamless, we comprehensively upgraded the synchronization mechanism for Subsonic music sources:

  • Incremental fetch mechanism: Upgraded from previous full rescans to incremental synchronization, fetching only tracks that changed on the remote server, significantly conserving bandwidth and cutting sync duration.
  • Anytime cancellation and unified progress: Synchronization can be canceled manually at any time; the Source Center and individual music source rows display the exact same progress in real time.
  • Automatic artwork and lyrics completion: Once synchronization completes, the system automatically fetches missing album covers and lyrics in the background; lyrics are saved locally and remain accessible while offline.
  • Separate storage for homonymous entities: Albums or artists sharing identical names across different music sources are cataloged independently to prevent overwriting each other.
  • Clear status and multilingual support: Track info pages explicitly note that metadata originates from Subsonic; the library refreshes automatically upon completion; clear copy is provided for unsynced, syncing, completing, and failed states across 9 languages.

📱 Foldable iPhone Playback Interface: Adaptive Five-Posture Canvas

To embrace emerging device form factors, we crafted a brand-new playback interface for foldable iPhone and dual-screen folding devices:

  • Intelligent five-posture layout: The adaptive playback layout automatically selects among tent, portrait, landscape, unfolded, and book layouts based on screen posture.
  • Avoiding creases and obstructions: Layout algorithms precisely detect physical creases and system occlusion zones. In unfolded mode, album artwork and controls appear on the left while lyrics or the queue occupy the right; in book posture, lyrics rest comfortably across the lower half.
  • Thoughtful fallback protection: A two-tier toggle is provided: switch back to the classic playback view with one tap, or simply disable the two-column unfolded layout so that iPad placed horizontally returns to the classic stacked presentation.
  • System safe area tracking: Cleaned up legacy screen-dimension and device-type heuristic checks, adapting the layout dynamically to system-provided safe areas. Physical foldable device verification is ongoing, with animation and accessibility polish in final stages.

🔗 Simplified PureStream Setup: Passwordless Direct Connection, Clear and Intuitive

We redesigned the connection configuration flow with the PureStream server:

  • Intuitive dual-mode selection: When unconfigured, a concise summary is shown first, followed by two mode cards—the “Binding Card” indicating a PureStream subscription requirement, and the “Direct Connection Card” explaining support for self-hosted PureStream or third-party Subsonic servers.
  • Passwordless direct authorization: After binding, the player retrieves temporary credentials directly from the home server via device authorization, no longer requiring manual entry of usernames and passwords.
  • Clear visual hierarchy: Removed read-only server address displays as well as hostnames and physical file paths from diagnostic views. When configured, elements are ordered logically: “Summary → Connection/Sync → Progress → Primary Action → Audio Quality → Diagnostics”, with audio quality collapsed by default.

⏱ Graceful Handling of Busy Networks: Smart Retries and Gentle Backoff

When encountering network fluctuations or busy server instances, the client operates far more reliably:

  • Retry based on server recommendation: When the server returns “Please try again later”, the client retries according to the server’s suggested wait duration, rather than rigidly waiting 5 seconds and failing outright after 6 attempts.
  • Immediate rate-limiting feedback: When encountering request rate limits, users are promptly notified to try again later, avoiding silent waiting loops.
  • Differentiated error handling: General network hiccups employ smooth backoff retries with defined upper limits; definitive errors such as inactive entitlements, household mismatches, or invalid authorizations halt retries immediately. Each request includes a unique request identifier to facilitate server-side tracing.

📚 Large Library Mode Settings Overhaul: Clear, Intuitive, and Informative

To support management of large music collections exceeding tens of thousands of tracks, we redesigned the settings interface for Large Library Mode:

  • Unified nomenclature: Standardized on “Large Library Mode”, eliminating confusing references such as “Fast List Index” and “High Performance Mode”.
  • Elimination of repetitive information: Each technical fact is shown only once; library size, index build progress, and membership benefits each occupy a dedicated section, eliminating nested card clutter.
  • Responsive adaptive layout: Progress bars expand across the full row width, preventing truncation on small screens and excessive whitespace on wide displays.
  • Precise status copy: Distinct copy is provided for paused, failed, repairing, and ready states; confirmation dialogs when clearing indices adjust dynamically based on toggle states, preventing discrepancies between explanatory text and actual system behavior.

🛠 Core Storage Reliability Fixes

This month, we resolved two fundamental reliability issues:

  • Safe identification of legacy libraries: If a legacy library cannot be parsed by newer versions, the application automatically initiates a safe, lightweight migration on startup; upon success, local folders can be added normally, while failures safely retain the original library to protect user data.
  • Zero track loss in large library incremental indexing: Previously, the large library index could omit newly added tracks following initial construction; now, the index synchronizes updates upon saving and verifies integrity at startup. If an inconsistency is detected, it automatically falls back to standard listing and rebuilds the index, ensuring newly imported tracks appear seamlessly in album and artist views.

📌 Known Issues and Next Steps

The following known issues are being refined in upcoming releases:

  1. Certain animations, popup positioning, and screen reader reading orders on foldable iPhone are still undergoing polish; reduced motion adaptations will be included in subsequent updates.
  2. UI feedback for network retries will continue to improve: currently, rapid successive taps on “Check Connection” may initiate duplicate checks, and retry countdowns are not yet displayed.
  3. A very small number of much older library schemas may still require manual recovery; the majority of legacy libraries now migrate automatically and safely on startup.

Next, we will continue completing foldable device optimization and accessibility polish, add retry notifications and countdown timers, and broaden automatic migration support for legacy libraries.