Broque Thomas
70c32aa640
Hybrid Mode Redesign
2026-03-11 18:10:35 -07:00
Broque Thomas
fb04d0f4bc
Full qobuz support
2026-03-11 17:43:27 -07:00
Broque Thomas
4390036556
Include Tidal version field in track names — fixes remixes all resolving to base title
2026-03-11 15:51:20 -07:00
Broque Thomas
d329dd4fe8
Fix Tidal playlist endpoints redundantly re-fetching all playlists — use direct single-playlist fetch
2026-03-11 13:50:53 -07:00
Broque Thomas
27bd896540
Use largest available Spotify album artwork instead of medium size
2026-03-11 12:59:23 -07:00
Broque Thomas
2930b5334e
Fix Tidal playlist pagination rate limiting — exponential backoff, inter-page delay, and HTTPError propagation
2026-03-11 12:49:02 -07:00
Broque Thomas
d452cd0a55
Validate Tidal downloads and clean up unplayable hi-res stubs
2026-03-11 11:59:13 -07:00
Broque Thomas
bc22bdca07
Fix infinite Spotify rate limit loop from unguarded auth probes and swallowed errors
2026-03-11 11:07:48 -07:00
Broque Thomas
bde2be1cfa
Spotify rate limit re-trigger loop caused by periodic auth probes
2026-03-11 08:28:36 -07:00
Broque Thomas
0aa8950436
fix build a playlist functionality and update the ui
2026-03-11 07:52:58 -07:00
Broque Thomas
603db69b10
Fix Genius 429 backoff by re-raising rate limit errors from _make_request
2026-03-10 15:46:37 -07:00
Broque Thomas
1b0fca9009
Service Badges, Page Headers, Docs Page, and Bug Fixe
2026-03-10 14:47:11 -07:00
Broque Thomas
c8975f8186
Make iTunes country setting apply immediately without restart
2026-03-10 12:56:22 -07:00
Broque Thomas
87d567151e
iTunes storefront fallback with configurable country setting
2026-03-10 12:13:21 -07:00
Broque Thomas
87db94554a
Fix Genius search blind fallback matching wrong artists/songs
2026-03-10 10:38:52 -07:00
Broque Thomas
f26f6f8266
Last.fm & Genius full worker parity, clickable service badges, and playlist folder race condition fix
2026-03-10 10:35:55 -07:00
Broque Thomas
92ba36a9ba
Add no-auth state to Last.fm and Genius dashboard buttons with greyed-out UI and settings guidance
2026-03-10 09:20:16 -07:00
Broque Thomas
dc7140c459
Add Last.fm and Genius to on-demand enrichment, settings reload, and enrich dropdown parity
2026-03-10 09:12:36 -07:00
Broque Thomas
f8d23ec37c
Add Last.fm and Genius API clients with settings integration
2026-03-09 22:35:10 -07:00
Broque Thomas
aa93458ed3
Configurable ListenBrainz API endpoint for self-hosted instances
2026-03-09 20:52:33 -07:00
Broque Thomas
07a79e7af6
Full Cleanup automation: combined housekeeping sweep for quarantine, downloads, staging, and search history
2026-03-09 16:39:29 -07:00
Broque Thomas
eac97a6c2b
Smart Spotify rate limit detection with global ban, auto-suppression, and frontend modal
2026-03-09 16:05:33 -07:00
Broque Thomas
729f42f1a4
Skip redundant scheduled automations on restart if last run is still recent
2026-03-09 13:37:00 -07:00
Broque Thomas
ea1441d09d
"Write Tags to File" in the Enhanced Library Manager
2026-03-09 11:17:01 -07:00
Broque Thomas
98746961aa
Improve AcoustID verification normalization for version tags and suffixes
2026-03-08 15:42:41 -07:00
Broque Thomas
d2c1e24ff7
Fix ampersand in artist names breaking search queries
2026-03-08 13:17:18 -07:00
Broque Thomas
7de84c535c
Add file path and bitrate support for Jellyfin tracks
2026-03-08 13:08:26 -07:00
Broque Thomas
b1cb9f9964
Add scheduled database backup system automation
2026-03-08 08:24:49 -07:00
Broque Thomas
8b3b82702a
Add deep library scan automation for enrichment-safe sync
2026-03-07 18:39:45 -08:00
Broque Thomas
d97b3d1846
Fix automation timezone bug
2026-03-07 11:42:44 -08:00
Broque Thomas
dbe9745794
Add new automations for refreshing beatport, cleaning download folder and cleaning search history.
2026-03-07 11:11:43 -08:00
Broque Thomas
b34e348937
keep a history of automation runs
2026-03-07 09:39:08 -08:00
Broque Thomas
ba6aea5435
Add rich progress tracking to all automation cards with stall detection and timeout handling
2026-03-07 00:57:03 -08:00
Broque Thomas
cdcaa245d1
Add post-scan phase progress to watchlist automation card
2026-03-06 23:15:30 -08:00
Broque Thomas
156c37d907
Replace hardcoded post-download chain with system automations
2026-03-06 19:48:48 -08:00
Broque Thomas
8b6a2c0adc
allow multiple notification calls per automation as well as a new signal fire utility
2026-03-06 18:10:15 -08:00
Broque Thomas
dd5f2f07e9
detail modal for each action and trgiger
2026-03-06 16:43:24 -08:00
Broque Thomas
9f416475e2
Live automation progress tracking with real-time output panels
2026-03-05 20:39:26 -08:00
Broque Thomas
f99f873d60
Replace hardcoded wishlist/watchlist timers with system automations + add Pushbullet & Telegram notifications
2026-03-05 16:50:09 -08:00
Broque Thomas
da707dcf0a
Full automation engine expansion with scheduling, triggers, actions, and UI polish
2026-03-05 15:13:32 -08:00
Broque Thomas
75f9b7364a
User configurable youtube rate limiting and optional cookies for bot detection
2026-03-05 10:50:06 -08:00
Broque Thomas
60f93d5858
hydrabase changes
2026-03-04 19:48:12 -08:00
Broque Thomas
2d6c55e294
Fix chromaprint crash on surround audio and Spotify worker status display
2026-03-04 11:00:34 -08:00
Broque Thomas
548b5cfbdf
Fix chromaprint C-level assertion crash on 5.1 surround FLAC files. Not possible to check
2026-03-04 10:51:01 -08:00
Broque Thomas
4fee005dee
Add multi-profile support with Netflix-style profile picker
...
Allow multiple users to share a single SoulSync instance with isolated personal data. Each profile gets its own watchlist, wishlist, discovery pool, similar artists, and bubble snapshots — while sharing the same music library, database, and service credentials.
- Netflix-style profile picker on startup when multiple profiles exist
- Optional PIN protection per profile; admin PIN required when >1 profiles
- Admin-only profile management (create, edit, rename, delete)
- Profile avatar images via URL with colored-initial fallback
- Zero-downtime SQLite migration — all existing data maps to auto-created
admin profile
- Single-user installs see no changes — profile system is invisible until
a second profile is created
- WebSocket count emitters scoped to profile rooms (watchlist/wishlist)
- Background scanners (watchlist, wishlist, discovery) iterate all profiles
2026-03-04 10:46:08 -08:00
Broque Thomas
7b854baba8
Detect and remove deleted content during incremental database updates
...
Incremental database updates now detect when artists or albums have been removed from your media server (Plex, Jellyfin, or Navidrome) and automatically clean them up from SoulSync's database. Previously, deleted content would persist as ghost entries until you ran a full refresh. Removal counts are reported in the scan results. Includes safety checks to prevent accidental mass deletion if the server is unreachable or returns incomplete data.
2026-03-03 13:13:38 -08:00
Broque Thomas
0b9fe879f8
Update hydrabase_client.py
2026-03-02 15:51:04 -08:00
Broque Thomas
e38c0adc57
Fix: Various artist compilations caused failure on acoustID check.
2026-03-01 11:39:04 -08:00
Broque Thomas
987b9b96e7
Update hydrabase_client.py
2026-03-01 10:21:12 -08:00
Broque Thomas
acfc26a4bd
Add Tidal as a download source with full pipeline integration
...
Adds Tidal as a third download source alongside Soulseek and YouTube. Uses the tidalapi library with device-flow authentication to search and download tracks in configurable quality (Low/High/Lossless/HiRes) with automatic fallback. Integrates into the download orchestrator for all modes (Tidal Only, Hybrid with fallback chain), the transfer monitor, post-processing pipeline, and file finder. Frontend includes download settings with quality selector, device auth flow, and dynamic sidebar/dashboard labels that reflect the active download source. No breaking changes for existing users.
2026-02-28 21:47:19 -08:00