[PR #58] [CLOSED] Player Persistence, Advanced Caching, and Mobile UI Enhancements #120

Closed
opened 2026-03-03 00:07:52 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/binimum/tidal-ui/pull/58
Author: @biase-d
Created: 11/18/2025
Status: Closed

Base: mainHead: misc-fixes


📝 Commits (10+)

  • d39e706 fix webmanifest
  • 55ead04 fix navigation resetting playback
  • 5794b5b save playback and queue to local storage
  • ba3343d add api health checks, fix favicon and manifest url
  • f44b6ed Hide Header on scroll when on mobile
  • 9dd94f4 add compact player
  • c946386 preserve user context when adding to queue or playing a new song
  • 9167353 add health checks
  • 157d314 Implement a hybrid caching strategy
  • d3740f9 Merge branch 'main' into misc-fixes

📊 Changes

9 files changed (+712 additions, -519 deletions)

View changed files

📝 src/lib/components/AudioPlayer.svelte (+363 -241)
📝 src/lib/components/SearchInterface.svelte (+6 -3)
📝 src/lib/config.ts (+61 -146)
src/lib/stores/apiHealth.ts (+84 -0)
📝 src/lib/stores/player.ts (+53 -7)
📝 src/routes/+layout.svelte (+57 -49)
📝 src/routes/+page.svelte (+11 -4)
📝 src/service-worker.ts (+76 -68)
📝 static/site.webmanifest (+1 -1)

📄 Description

Hi, Thanks for the awesome project. I have made a few changes hope they will be useful

  • Player State Persistence: The player's state is no longer wiped out on navigation, The current queue, active track, and playback progress are now saved to Local Storage. This prevents the user from losing their listening session upon a page refresh.

  • Hybrid Caching Strategy: Implements a sophisticated dual-cache system in the service worker. The core application shell is stored in a versioned cache that updates with new deployments, while a separate, persistent cache is used for data (like audio streams and API responses). This ensures media is not re-downloaded unnecessarily after an update

  • Reliable API Routing: Integrates the API health-checking system directly into the fetch logic. Requests are now intelligently routed to healthy, responsive endpoints, ensuring the application remains functional even if some API servers are down

  • Compact Audio Player: The audio player now collapses into a space-saving compact mode on smaller viewports, preventing it from taking up excessive screen real estate

  • Auto-Hiding Header on Mobile: To maximize content visibility, the main header now gracefully slides out of view when scrolling down and reappears when scrolling up on smaller screen devices

  • Fixes: Corrects the URLs for the favicon and site.webmanifest files to ensure they load correctly and the PWA is properly configured


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/binimum/tidal-ui/pull/58 **Author:** [@biase-d](https://github.com/biase-d) **Created:** 11/18/2025 **Status:** ❌ Closed **Base:** `main` ← **Head:** `misc-fixes` --- ### 📝 Commits (10+) - [`d39e706`](https://github.com/binimum/tidal-ui/commit/d39e706ae0d9b710adfaf1f8e834b05d91a74de2) fix webmanifest - [`55ead04`](https://github.com/binimum/tidal-ui/commit/55ead04182ed6ab18eae85faa5095bdd7776de1c) fix navigation resetting playback - [`5794b5b`](https://github.com/binimum/tidal-ui/commit/5794b5b4b0003d1b18884a1694ab91b83da55cf0) save playback and queue to local storage - [`ba3343d`](https://github.com/binimum/tidal-ui/commit/ba3343deef3a50d68be8064909e3ed9480194a61) add api health checks, fix favicon and manifest url - [`f44b6ed`](https://github.com/binimum/tidal-ui/commit/f44b6ed62e381ccc9d806c8ff13cb35efe05b1a9) Hide Header on scroll when on mobile - [`9dd94f4`](https://github.com/binimum/tidal-ui/commit/9dd94f4218c78d66df4f1b164436a0b42394a5d8) add compact player - [`c946386`](https://github.com/binimum/tidal-ui/commit/c946386cb9a54893cee442dbe94e22787bb5eb10) preserve user context when adding to queue or playing a new song - [`9167353`](https://github.com/binimum/tidal-ui/commit/916735322d329f2f40cac48f3af322d9d186bdc8) add health checks - [`157d314`](https://github.com/binimum/tidal-ui/commit/157d314855792dbeb5eccfbbc82c04afa80d071a) Implement a hybrid caching strategy - [`d3740f9`](https://github.com/binimum/tidal-ui/commit/d3740f9c5f8e89c5c0abf61ba4ce8f246cba7d5a) Merge branch 'main' into misc-fixes ### 📊 Changes **9 files changed** (+712 additions, -519 deletions) <details> <summary>View changed files</summary> 📝 `src/lib/components/AudioPlayer.svelte` (+363 -241) 📝 `src/lib/components/SearchInterface.svelte` (+6 -3) 📝 `src/lib/config.ts` (+61 -146) ➕ `src/lib/stores/apiHealth.ts` (+84 -0) 📝 `src/lib/stores/player.ts` (+53 -7) 📝 `src/routes/+layout.svelte` (+57 -49) 📝 `src/routes/+page.svelte` (+11 -4) 📝 `src/service-worker.ts` (+76 -68) 📝 `static/site.webmanifest` (+1 -1) </details> ### 📄 Description Hi, Thanks for the awesome project. I have made a few changes hope they will be useful * **Player State Persistence:** The player's state is no longer wiped out on navigation, The current queue, active track, and playback progress are now saved to Local Storage. This prevents the user from losing their listening session upon a page refresh. * **Hybrid Caching Strategy:** Implements a sophisticated dual-cache system in the service worker. The core application shell is stored in a versioned cache that updates with new deployments, while a separate, persistent cache is used for data (like audio streams and API responses). This ensures media is not re-downloaded unnecessarily after an update * **Reliable API Routing:** Integrates the API health-checking system directly into the fetch logic. Requests are now intelligently routed to healthy, responsive endpoints, ensuring the application remains functional even if some API servers are down * **Compact Audio Player:** The audio player now collapses into a space-saving compact mode on smaller viewports, preventing it from taking up excessive screen real estate * **Auto-Hiding Header on Mobile:** To maximize content visibility, the main header now gracefully slides out of view when scrolling down and reappears when scrolling up on smaller screen devices * **Fixes:** Corrects the URLs for the `favicon` and `site.webmanifest` files to ensure they load correctly and the PWA is properly configured --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-03 00:07:52 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/tidal-ui#120
No description provided.