github Psychotoxical/psysonic app-v1.4.1
Psysonic v1.4.1

one month ago

Fixed

Random Albums — Performance & Memory

  • Auto-refresh removed: The 30-second auto-cycle timer caused 10 React state updates/second (progress bar interval) and a burst of 30 concurrent image fetches on every tick, eventually making the whole app unresponsive. The page now loads once on mount; use the manual refresh button to get a new selection.

  • Concurrent fetch limit: Image fetches are now capped at 5 simultaneous network requests (was unlimited — 30 at once on every refresh).

  • Object URL memory leak: The in-memory image cache now caps at 150 entries and revokes old object URLs via URL.revokeObjectURL() when evicting. Previously, object URLs accumulated without bound across the entire session.

  • Dangling state updates: useCachedUrl now uses a cancellation flag — if a component unmounts while a fetch is in flight (e.g. during a grid refresh), the resolved URL is discarded instead of calling setState on an unmounted component.

i18n

  • Page title "Neueste" on the New Releases page was hardcoded German. Now uses t('sidebar.newReleases').

Don't miss a new psysonic release

NewReleases is sending notifications on new releases.