Commit graph

489 commits

Author SHA1 Message Date
Broque Thomas
8712209bb9 emby support? 2025-11-21 16:19:58 -08:00
Broque Thomas
aef53f7b4d grab paginated albums 2025-11-18 22:46:24 -08:00
Broque Thomas
52c27ce2a9 cache listenbrainz and update with watchlist 2025-11-18 13:41:45 -08:00
Broque Thomas
333d984527 listenbrainz update 2025-11-18 09:57:47 -08:00
Broque Thomas
bc54f2c1a3 listenbrainz playlist support 2025-11-17 22:38:38 -08:00
Broque Thomas
a3f98f29d3 utilize quality profile over preferred. 2025-11-17 14:11:14 -08:00
Broque Thomas
08eb014da8 fix genre discovery 2025-11-17 12:22:49 -08:00
Broque Thomas
cc62b3b48e discover page progress 2025-11-17 10:09:08 -08:00
Broque Thomas
ee266920a9 discover progress 2025-11-17 08:49:49 -08:00
Broque Thomas
5a13b5fe94 discover progress 2025-11-17 08:30:38 -08:00
Broque Thomas
08a4decda8 discover progress 2025-11-16 20:56:08 -08:00
Broque Thomas
86fe7dde1f discover progress 2025-11-16 20:26:19 -08:00
Broque Thomas
f75ffdf6cb discover progress 2025-11-16 16:27:44 -08:00
Broque Thomas
68a15071f1 discover page 2025-11-16 15:33:08 -08:00
Broque Thomas
bd4e0d131e discover page updates 2025-11-16 15:11:42 -08:00
Broque Thomas
b16318f37e add spotify liked songs playlist 2025-11-16 10:34:44 -08:00
Broque Thomas
b0cfdf5271 progress 2025-11-11 17:05:44 -08:00
Broque Thomas
bb69b75f61 progress 2025-11-11 16:47:22 -08:00
Broque Thomas
65cbf6ce28 discover progress 2025-11-11 16:00:37 -08:00
Broque Thomas
76dca2f045 caching for similar artists 2025-11-11 14:04:55 -08:00
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
Broque Thomas
285809d16f better matching 2025-08-08 13:19:49 -07:00
Broque Thomas
9f9183469d wishlist modal somewhat ready 2025-08-08 13:00:12 -07:00
Broque Thomas
b5e3c47051 wishlist functionality 2025-08-07 23:08:05 -07:00
Broque Thomas
ed91099a1c enable quality pref. 2025-08-07 21:43:03 -07:00
Broque Thomas
2ad0dddba4 recommend database refresh every 1-2weeks
This is needed if users manually correct failed matches on plex when songs are scanned in. If a db sync is done after the scan but before the manual modification,
2025-08-07 20:27:26 -07:00
Broque Thomas
73679f5709 bug fixes 2025-08-07 14:53:16 -07:00
Broque Thomas
906d0c23b7 incremental update bug fixed 2025-08-07 11:37:13 -07:00
Broque Thomas
66bbfaf9c1 fix incremental update 2025-08-07 11:26:50 -07:00
Broque Thomas
aafc0ca49f consistent matching between sync and artists. 2025-08-07 10:35:56 -07:00
Broque Thomas
35fdef76ce better matching on slskd 2025-08-07 00:37:44 -07:00
Broque Thomas
86fcdd6869 better matching 2025-08-06 19:44:55 -07:00
Broque Thomas
684433d857 update variations 2025-08-06 00:07:12 -07:00
Broque Thomas
b76c0531e5 basic db structure 2025-08-05 22:43:04 -07:00
Broque Thomas
a98b10715e remove bad code 2025-07-29 18:36:48 -07:00
Broque Thomas
886b9140a1 fixed 2025-07-29 17:25:04 -07:00
Broque Thomas
7ef7521c1b remove 2025-07-29 15:56:11 -07:00
Broque Thomas
bae3bedd71 remove logs 2025-07-29 15:32:18 -07:00
Broque Thomas
6bc87cc0f5 improved metadata speed 2025-07-29 14:10:06 -07:00
Broque Thomas
b5859a5ed5 Update plex_client.py 2025-07-29 11:07:16 -07:00
Broque Thomas
2b97e685dc fixed false positive issue from fallback query
removing artist from the search introduced false positives when searching plex.
2025-07-29 10:35:57 -07:00
Broque Thomas
7c42873834 good 2025-07-28 23:37:58 -07:00
Broque Thomas
8a2f5eb503 good 2025-07-28 20:41:06 -07:00
Broque Thomas
fc87fe1740 good 2025-07-28 18:59:19 -07:00
Broque Thomas
5265391ae4 good 2025-07-28 16:06:57 -07:00
Broque Thomas
b6dd42e916 good 2025-07-27 20:45:33 -07:00
Broque Thomas
b5ed2b0e5f cleanup 2025-07-27 16:26:44 -07:00
Broque Thomas
c40b85c558 adjust album matching 2025-07-26 23:41:33 -07:00
Broque Thomas
529456300a maybe helpful 2025-07-26 10:48:34 -07:00
Broque Thomas
852e755b95 progress 2025-07-25 18:04:23 -07:00
Broque Thomas
9a3f1e9c9f good 2025-07-25 17:52:00 -07:00
Broque Thomas
d5cea2c041 good 2025-07-25 13:18:09 -07:00
Broque Thomas
55c36241dd good 2025-07-25 10:53:53 -07:00
Broque Thomas
77383f0178 better 2025-07-25 10:13:33 -07:00
Broque Thomas
ff33f9b3ef better 2025-07-25 00:48:23 -07:00
Broque Thomas
276cd06f29 better 2025-07-24 19:37:15 -07:00
Broque Thomas
1af9e7d3d3 good 2025-07-24 18:17:50 -07:00
Broque Thomas
8e0e77f4d2 good 2025-07-24 18:09:31 -07:00
Broque Thomas
6358de554f good 2025-07-24 17:45:42 -07:00
Broque Thomas
44c262c7b4 better 2025-07-24 17:03:30 -07:00
Broque Thomas
fda2b92724 better 2025-07-24 16:49:08 -07:00
Broque Thomas
3e6b329e35 better 2025-07-24 16:44:26 -07:00
Broque Thomas
a2d64e9953 better 2025-07-24 16:27:54 -07:00
Broque Thomas
f1e4539936 better 2025-07-24 16:20:36 -07:00
Broque Thomas
3f04d7f984 better 2025-07-24 16:10:07 -07:00
Broque Thomas
39ca1e369a good 2025-07-24 14:53:05 -07:00
Broque Thomas
ccc89067e6 better 2025-07-22 19:15:13 -07:00
Broque Thomas
9197081092 better 2025-07-20 10:05:54 -07:00
Broque Thomas
4973a53369 Playlist page 2025-07-19 22:12:58 -07:00
Broque Thomas
8305cb6b47 better 2025-07-16 19:47:25 -07:00
Broque Thomas
15f4f8925b progress 2025-07-16 09:28:25 -07:00
Broque Thomas
5ea9de0cfe clean 2025-07-15 19:55:03 -07:00
Broque Thomas
f77c023e10 better 2025-07-15 16:24:51 -07:00
Broque Thomas
b42b1aeef5 i like this progress 2025-07-14 18:38:37 -07:00
Broque Thomas
32d1cfd06f better 2025-07-14 13:26:12 -07:00
Broque Thomas
f50f32dfc5 better 2025-07-14 10:55:40 -07:00
Broque Thomas
0ba486f990 matching system 2025-07-13 21:56:23 -07:00
Broque Thomas
405dd3d8e9 progress 2025-07-13 20:04:14 -07:00
Broque Thomas
2afa8c709a fix 2025-07-12 23:04:27 -07:00
Broque Thomas
18f2cac879 progress 2025-07-11 19:00:06 -07:00
Broque Thomas
671e9af07f fix 2025-07-11 14:37:13 -07:00
Broque Thomas
99605de41a working 2025-07-10 21:14:35 -07:00
Broque Thomas
712d492ade more 2025-07-10 20:43:17 -07:00
Broque Thomas
6154ed9519 working better 2025-07-10 13:52:13 -07:00
Broque Thomas
f647df1ebe fix 2025-07-10 09:03:54 -07:00
Broque Thomas
96a0bc4b43 fix 2025-07-10 08:10:40 -07:00
Broque Thomas
fc9b5f375a basic downloads 2025-07-09 22:06:24 -07:00
Broque Thomas
11a1343217 fix 2025-07-09 21:44:21 -07:00
Broque Thomas
8dd433fc3b fix 2025-07-09 13:55:18 -07:00
Broque Thomas
7d43bda3e5 Initial commit 2025-07-09 12:07:41 -07:00