Commit graph

591 commits

Author SHA1 Message Date
Broque Thomas
64659bf264 Update docker-compose.yml 2025-09-15 19:02:15 -07:00
Broque Thomas
fd071eb4a3 Update script.js 2025-09-13 21:40:33 -07:00
Broque Thomas
7d5d2bf30b fix multiple searches on enter press 2025-09-13 20:05:01 -07:00
Broque Thomas
f10c27c125 Update Docker setup and config paths
Improves Docker integration by copying config.example.json as the default config.json and updating ownership in the Dockerfile. Adjusts config paths in config.example.json for container compatibility and updates docker-compose.yml to build the image and comment out the config volume for baked-in config testing. Also updates .dockerignore to allow config.example.json.
2025-09-13 15:12:23 -07:00
Broque Thomas
bc3136e5a7 Update config.json 2025-09-13 13:08:04 -07:00
Broque Thomas
73c4d2f9dc Update config.example.json 2025-09-13 12:56:03 -07:00
Broque Thomas
ab125c48ac Add Docker OAuth workaround instructions to README
Added a section explaining how to complete Spotify OAuth authentication when accessing SoulSync remotely via Docker. This provides a workaround for Spotify's redirect URI restrictions and guides users through the necessary steps.
2025-09-13 09:41:56 -07:00
Broque Thomas
19583a2d28 Add Docker OAuth authentication troubleshooting guide
Introduced DOCKER-OAUTH-FIX.md to address 'Insecure redirect URI' errors when using OAuth from devices other than the Docker host. Updated README.md to reference the new guide for users encountering authentication issues.
2025-09-13 08:24:40 -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
8d9fb71eb0 Update README.md 2025-09-12 11:26:44 -07:00
Broque Thomas
3e15cbcdc5 Expand API setup instructions in README
Added detailed setup guides for Spotify, Tidal, and Plex APIs, including step-by-step instructions for obtaining credentials and tokens. Clarified prerequisites and configuration steps to help users set up SoulSync more easily.
2025-09-12 11:22:17 -07:00
Broque Thomas
954d644b27 Update database mount path and docs for SoulSync
Changed recommended database mount from /app/database to /app/data in UNRAID.md and soulsync.xml to avoid overwriting Python modules. Updated troubleshooting section to clarify correct mounting and added config.json example for new database path.
2025-09-12 09:38:18 -07:00
Broque Thomas
e7cfcddc4d Update config volume mapping instructions for SoulSync
Change documentation and template to mount only the config.json file instead of the entire config directory. This prevents overwriting Python module files in /app/config and resolves import errors during container startup.
2025-09-12 09:12:44 -07:00
Broque Thomas
23b6a2ba56 Create soulsync.xml 2025-09-12 08:54:55 -07:00
Broque Thomas
ad92154dd1 Update UNRAID.md 2025-09-12 08:53:59 -07:00
Broque Thomas
1b52bf0104 Create UNRAID.md 2025-09-12 07:54:49 -07:00
Broque Thomas
54f1f600fc Merge branch 'main' of https://github.com/Nezreka/SoulSync 2025-09-12 07:54:08 -07:00
Broque Thomas
a24e175f4f Create DOCKER.md 2025-09-11 21:00:41 -07:00
Broque Thomas
0f72d79e76
Merge pull request #16 from Nezreka/headless
Headless
2025-09-11 20:56:50 -07:00
Broque Thomas
3acc3cf5dc Update README.md 2025-09-11 20:56:20 -07:00
Broque Thomas
31cefb7dd0 Update Docker setup instructions and compose file
README now provides both docker-compose and direct Docker run options. docker-compose.yml switched from local build to using the published soulsync image for easier deployment.
2025-09-11 19:36:03 -07:00
Broque Thomas
40b48d0b5d
Merge pull request #15 from Nezreka/headless
Headless compatibility
2025-09-11 18:17:45 -07:00
Broque Thomas
315f1227f0 Update README.md 2025-09-11 18:16:37 -07:00
Broque Thomas
e718069f8b readme 2025-09-11 18:14:20 -07:00
Broque Thomas
d746729c02 Update web_server.py 2025-09-11 18:01:46 -07:00
Broque Thomas
c3f4ba3bc3 Update docker-compose.yml 2025-09-11 17:58:26 -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
b841805f31 Update requirements-webui.txt 2025-09-11 13:29:15 -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
4e30e90777 Update to SoulSync v1.0 with complete WebUI rebuild
Bumped version to 1.0 and updated all version references and changelog details to reflect the major release. SoulSync now features a fully rebuilt web-based UI, Docker container support, enhanced music management, and significant performance improvements.
2025-09-11 07:47:42 -07:00
Broque Thomas
041b6c4d31 Update style.css 2025-09-11 07:20:38 -07:00
Broque Thomas
196a1eb3ac Update style.css 2025-09-10 21:08:14 -07:00
Broque Thomas
f4e56da245 Update style.css 2025-09-10 21:03:32 -07:00
Broque Thomas
433ee160e9 Update index.html 2025-09-10 19:42:04 -07:00
Broque Thomas
6b8505d840 Revamp dashboard and card glassmorphic styles
Enhanced glassmorphic effects across dashboard, service, stat, and tool cards for improved visual consistency. Updated gradients, border radii, shadow effects, and hover states to match modal styling. Adjusted padding, font sizes, and section spacing for a more polished and premium UI appearance.
2025-09-10 19:36:05 -07:00
Broque Thomas
ac7a8f1513 Add metadata updater system for artists
Introduces a metadata updater backend in web_server.py, including API endpoints for starting, stopping, and checking status, and a threaded worker for updating artist metadata from Spotify. Updates script.js to add UI controls, polling, and progress display for the metadata updater, with logic to hide the tool when Jellyfin is the active server.
2025-09-10 19:19:29 -07:00
Broque Thomas
1dd4f8d7a3 Update style.css 2025-09-10 17:22:26 -07:00
Broque Thomas
ae9f426361 Add activity logging for key user actions
Introduces activity item logging for settings saves, connection tests, auto-detects, authentication flows, searches, batch cancellations, and discovery operations in web_server.py. Updates dashboard connection test API and UI to use a new endpoint and function, ensuring user actions are tracked and surfaced in the activity feed.
2025-09-10 17:16:01 -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
7a7480ba60 Update script.js 2025-09-10 15:45:39 -07:00
Broque Thomas
135728ce89 Add system stats API and dashboard service status updates
Introduces a new /api/system/stats endpoint in web_server.py to provide system statistics such as uptime, memory usage, download speed, and sync counts. Enhances the dashboard in script.js to periodically fetch and display service connection status and system stats, including response times for Spotify, media server, and Soulseek.
2025-09-10 15:22:31 -07:00
Broque Thomas
8336109661 Update script.js 2025-09-10 14:31:34 -07:00
Broque Thomas
579674cb33 Update script.js 2025-09-10 14:26:02 -07:00
Broque Thomas
6011c50304 Add artist watchlist feature with UI and API endpoints
Introduces a watchlist system for tracking artists, including backend API endpoints for managing the watchlist and scanning for new releases. Updates the frontend to allow users to add/remove artists to/from the watchlist from both artist cards and detail pages, view and scan their watchlist via a modal, and see real-time scan progress. Adds related styles for watchlist UI components.
2025-09-10 14:18:54 -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
219a36c05b Improve wishlist processing and modal sync logic
Sanitizes wishlist track data for consistent backend/frontend handling, enhances wishlist process state reporting for better UI sync, and refactors frontend modal logic to prevent auto-show conflicts and ensure user-driven visibility. Also improves polling and rehydration to keep frontend state in sync with server-side auto-processing.
2025-09-09 18:28:29 -07:00