Commit graph

119 commits

Author SHA1 Message Date
Broque Thomas
d399a612ef progress on discover page 2025-11-11 11:38:27 -08:00
Broque Thomas
47f8862fc4 discovery page progress 2025-11-11 10:39:46 -08:00
Broque Thomas
77c05b0315 grab all tracks from tidal playlists correctly 2025-11-09 20:42:29 -08:00
Broque Thomas
576f151c5c preferred quality updates. 2025-11-09 14:16:38 -08:00
Broque Thomas
9e3c64115b fix dict error on gui verison for manual searches 2025-11-09 09:39:00 -08:00
Broque Thomas
033ddb756a better rate limiting for spotiify 2025-11-09 08:55:07 -08:00
Broque Thomas
8c7cb6d448 manual library selection for plex servers 2025-10-15 15:04:05 -07:00
Broque Thomas
09b4638279 Enforce strict version matching for track confidence
Adds strict checks to ensure Soulseek track versions (live, remix, acoustic, instrumental) are only matched if the Spotify track title contains corresponding version indicators. This prevents mismatched versions from being accepted and applies a reduced penalty for matching non-original versions.
2025-10-04 21:48:52 -07:00
Broque Thomas
22db9ba04d Update jellyfin_client.py 2025-09-25 14:17:57 -07:00
Broque Thomas
3e8b469adb library page updates 2025-09-23 23:47:58 -07:00
Broque Thomas
329e665db9 library page update 2025-09-23 20:45:58 -07:00
Broque Thomas
8de9df07e7 auto lyric download 2025-09-22 16:04:06 -07:00
Broque Thomas
a73d89bc9e Update plex_client.py 2025-09-22 15:15:34 -07:00
Broque Thomas
e06f0ea372 auto scan after download completion and follow with auto incremental update for active server 2025-09-22 15:01:28 -07:00
Broque Thomas
fcee0194e7 navidrome functionality start 2025-09-21 21:02:12 -07:00
Broque Thomas
21d016fcbd Add configurable redirect URI for Spotify and Tidal
Redirect URIs for Spotify and Tidal OAuth are now configurable via the web UI and settings. Updated backend clients to use the configured redirect URI if provided, improving flexibility for deployments with custom callback URLs.
2025-09-12 21:56:26 -07:00
Broque Thomas
93ac55a709 Improve wishlist track sorting and cleanup logic
Wishlist tracks are now sorted by artist and track name for consistent display. The database query for wishlist tracks now orders by date_added instead of randomly. Added logic to remove completed tracks from the wishlist during failed track processing. Updated docker-compose.yml to mount the H: drive for transfer folders.
2025-09-12 15:19:36 -07:00
Broque Thomas
d51171c180 Update plex_client.py 2025-09-12 12:47:00 -07:00
Broque Thomas
24b789660a Improve Docker path handling and filename extraction
Added helper functions to resolve Windows paths for Docker containers and to extract filenames in a cross-platform manner. Updated usage throughout web_server.py and soulseek_client.py to ensure correct path mapping and filename handling. Modified docker-compose.yml to use named volumes and mount the E: drive for better Docker compatibility.
2025-09-11 17:46:49 -07:00
Broque Thomas
008653a69c Improve Docker compatibility for host service URLs
Updated Soulseek client, web server, and docker-compose.yml to better handle service URLs when running inside Docker containers. Localhost URLs are now resolved to host.docker.internal, and Docker-specific volume mounts and extra_hosts are configured for improved interoperability between container and host services.
2025-09-11 13:53:36 -07:00
Broque Thomas
c4b4adf7fb Add web-based Spotify and Tidal OAuth flows
Introduces web server routes and UI buttons for initiating Spotify and Tidal OAuth authentication flows, with dedicated callback servers for token exchange. Updates Docker ports for OAuth callbacks and refines PKCE handling for Tidal. Improves user experience by allowing authentication directly from the web UI.
2025-09-11 13:24:15 -07:00
Broque Thomas
287d2fd2ec Add Docker support and improve headless compatibility
Introduces Docker deployment files (.dockerignore, Dockerfile, docker-compose.yml, docker-setup.sh, requirements-webui.txt, and README-Docker.md) for SoulSync WebUI. Refactors core/database_update_worker.py and core/media_scan_manager.py to support headless operation without PyQt6, enabling signal/callback compatibility for both GUI and non-GUI environments. Removes logs/app.log file.
2025-09-11 08:26:25 -07:00
Broque Thomas
94d1c82674 Add activity feed and toasts to dashboard
Introduces a global activity feed system with API endpoints for recent activities and toasts, and integrates activity tracking for key backend events (downloads, syncs, database updates, etc.). Updates the dashboard frontend to periodically fetch and display activity feed items and show toasts for recent actions. Improves error logging and reduces noise for expected 404s in Soulseek client. Adds related CSS for activity feed separators.
2025-09-10 17:04:12 -07:00
Broque Thomas
42002d1b45 Add automatic and manual wishlist cleanup features
Introduces backend logic to automatically remove tracks from the wishlist if they already exist in the database after downloads or database updates. Adds a new API endpoint and frontend button for manual wishlist cleanup, allowing users to remove already-owned tracks from the wishlist. Enhances reliability and user experience by keeping the wishlist up-to-date.
2025-09-10 07:37:46 -07:00
Broque Thomas
d13bd255d0 update 2025-09-03 18:45:05 -07:00
Broque Thomas
ebc7e2246d Added tidal support. Fixed readme auth issues. 2025-08-21 15:32:46 -07:00
Broque Thomas
87a1427b1e bug fix 2025-08-18 21:19:52 -07:00
Broque Thomas
ceeb4c22dc remove metadata updater tool for jellyfin since most of the support is lost. 2025-08-18 18:00:58 -07:00
Broque Thomas
0c90f4f327 multi-server source 2025-08-18 15:32:58 -07:00
Broque Thomas
620c78766b better 2025-08-18 10:36:57 -07:00
Broque Thomas
8063197a54 fix settings page, add rate limiting, live tracking to watchlist modal 2025-08-16 23:28:29 -07:00
Broque Thomas
1bf7995864 rate limiting 2025-08-16 10:24:07 -07:00
Broque Thomas
3bd6a29bfd Included Watchlist functionality.
Watchlist will allow the user to select artist to 'watch' and the app will automatically add new releases by those artists to the wishlist for automatic download.

included version information and modal
2025-08-16 09:27:01 -07:00
Broque Thomas
ce4dbef637 fetch all playlists with pagination 2025-08-14 20:28:16 -07:00
Broque Thomas
68584e0923 remove pycache 2025-08-14 14:09:11 -07:00
Broque Thomas
339cbe3c53 update pt. vol. feat. matching 2025-08-11 11:58:22 -07:00
Broque Thomas
7df724c202 rate limiting 2025-08-11 08:36:51 -07:00
Broque Thomas
6ff8ee2483 rate limiting to avoid sousleek ban 2025-08-11 00:18:14 -07:00
Broque Thomas
845f8e995f playlist backup functionality 2025-08-10 12:42:31 -07:00
Broque Thomas
0758512d8c metadata updater after transfer 2025-08-09 22:35:11 -07:00
Broque Thomas
f4ac2b7d6e KoЯn.... 2025-08-09 16:38:56 -07:00
Broque Thomas
3bbb635848 matching improvements and bug fixes 2025-08-09 13:47:00 -07:00
Broque Thomas
d9e41bc12f fix logging issue 2025-08-09 13:17:11 -07:00
Broque Thomas
de257af08d fixed korn match 2025-08-09 12:56:23 -07:00
Broque Thomas
5151c53fac incremental working better? 2025-08-09 11:14:42 -07:00
Broque Thomas
aee5995c1a auto incremental update 2025-08-09 01:37:25 -07:00
Broque Thomas
b5aea8c038 fixed issue where items didn't move to wishlist 2025-08-09 00:29:31 -07:00
Broque Thomas
2196ed35f6 fixing database issues 2025-08-08 22:27:02 -07:00
Broque Thomas
a228affd7b database fixes 2025-08-08 20:44:48 -07:00
Broque Thomas
e267986d44 better matching engine 2025-08-08 13:57:33 -07:00