Broque Thomas
f41db1bb27
reorganize settings page
2026-03-11 18:53:57 -07:00
Broque Thomas
0d547255d9
Move Soulseek settings to Download Source section & conditional source visibility
2026-03-11 18:33:11 -07:00
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
f4d8280642
css & error notification fixes
2026-03-11 14:56:45 -07:00
Broque Thomas
636af1f2f8
Fix docs scroll spy jumping to wrong section due to duplicate element ID
2026-03-11 10:48:18 -07:00
Broque Thomas
0aa8950436
fix build a playlist functionality and update the ui
2026-03-11 07:52:58 -07:00
Broque Thomas
e5450d9f89
Help Docs Overhaul & Settings Fixes
2026-03-10 23:50:21 -07:00
Broque Thomas
c06fd044a1
Profile Permissions & Page Access Control
2026-03-10 23:23:43 -07:00
Broque Thomas
a159ac3fd6
Fix activity feed blinking and show live relative timestamps
2026-03-10 20:34:57 -07:00
Broque Thomas
9bee72503f
Unify dashboard button styles and enhance activity log
2026-03-10 20:24:33 -07:00
Broque Thomas
44f4e1ccbf
Fix artists page particle lag and bright flash on page transitions
2026-03-10 19:51:15 -07:00
Broque Thomas
f91626ef18
Per-Page Particle Animations
2026-03-10 19:46:31 -07:00
Broque Thomas
40521fa499
Sidebar audio visualizer with 5 reactive styles and settings toggle
2026-03-10 16:56:47 -07:00
Broque Thomas
a682f814f7
Sidebar SVG icons, larger page header icons, and accent-colored nav
2026-03-10 16:18:07 -07:00
Broque Thomas
6b1d069be0
Add ambient accent-colored aura animation to sidebar
2026-03-10 16:01:09 -07:00
Broque Thomas
bb0599c585
update docs
2026-03-10 15:46:03 -07:00
Broque Thomas
cc85188d52
Add media server setup, processing settings, text import, automation history, and streaming details
2026-03-10 15:35:18 -07:00
Broque Thomas
9a1c3b4124
Fix watchlist badge positioning and mobile card sizing
2026-03-10 15:24:33 -07:00
Broque Thomas
bc41afe83b
Fill content gaps, fix sidebar scroll spy bug, add LRC lyrics
2026-03-10 15:10:15 -07:00
Broque Thomas
1b0fca9009
Service Badges, Page Headers, Docs Page, and Bug Fixe
2026-03-10 14:47:11 -07:00
Broque Thomas
51b5469e85
Add page icons & gradient shimmer to all page headers
2026-03-10 13:12:50 -07:00
Broque Thomas
927fe6338e
Fix Spotify badge icon & compact card badge layout for overflow
2026-03-10 12:54:18 -07:00
Broque Thomas
87d567151e
iTunes storefront fallback with configurable country setting
2026-03-10 12:13:21 -07:00
Broque Thomas
e8ddbe3709
Reset all Genius matches to fix blind-fallback search bug & fix css issues
2026-03-10 10:57:50 -07:00
Broque Thomas
c96159d0fc
fix download modal progress bar height. fix text in wishlist/watchlist buttons appearing outside container
2026-03-10 10:51:36 -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
1bd66cf5b4
fix issue where artists would appear as objects.
2026-03-09 22:11:00 -07:00
Broque Thomas
e71ae7a5f7
Import file tab on sync page to create mirrored playlists from CSV/TXT files
2026-03-09 22:03:13 -07:00
Broque Thomas
aa93458ed3
Configurable ListenBrainz API endpoint for self-hosted instances
2026-03-09 20:52:33 -07:00
Broque Thomas
bbccd3524f
Explicit content filter with configurable toggle to skip explicit tracks during downloads
2026-03-09 20:39:40 -07:00
Broque Thomas
1b42b88c31
css changes
2026-03-09 18:15:42 -07:00
Broque Thomas
b9d5d4e277
update page icons
2026-03-09 18:06:44 -07:00
Broque Thomas
6f5ef73e86
add static images
2026-03-09 17:35:46 -07:00
Broque Thomas
d1890c768c
cleanup staging folder same as download folder
2026-03-09 17:10:35 -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
cc4502e5f8
Add server sync option to enhanced library write-tags flow
2026-03-09 14:17:56 -07:00
Broque Thomas
7411bd1eab
Clarify update notification for Docker users that image will follow
2026-03-09 13:15:03 -07:00
Broque Thomas
b3d607752b
Add version tracking to database backup manager & Fix radio mode next track closing modal and losing playback state
2026-03-09 13:10:25 -07:00
Broque Thomas
ea1441d09d
"Write Tags to File" in the Enhanced Library Manager
2026-03-09 11:17:01 -07:00
Broque Thomas
5f58432ca4
Redesigned media player with expanded Now Playing modal and smart radio
2026-03-09 10:13:42 -07:00
Broque Thomas
5b79ca1e88
redesign the media player in sidebar
2026-03-09 08:02:05 -07:00
Broque Thomas
7c50f350c0
Add a library management interface to the artist detail page with inline metadata editing, per-service manual matching, bulk operations, and full track/album management.
2026-03-08 23:37:02 -07:00
Broque Thomas
5f94352b40
Add cancellation support to all discovery workers
2026-03-08 18:12:37 -07:00
Broque Thomas
41edb31e07
Replace sidebar donation dropdown with support modal
2026-03-08 17:33:20 -07:00
Broque Thomas
18b2766b01
Fix discovery fix button not working for mirrored playlists
2026-03-08 16:20:05 -07:00
Broque Thomas
5daa8c0596
Add rich stats to automation run history
2026-03-08 12:20:50 -07:00
Broque Thomas
f9e8c8dadd
Add themed confirm dialog modal replacing all native browser confirms
2026-03-08 11:16:11 -07:00
Broque Thomas
266d044797
Add Backup Manager dashboard tool card with list, download, restore & delete
2026-03-08 10:46:03 -07:00
Broque Thomas
2ef0c75a25
Fix sync completion not reaching UI after WebSocket reconnect
2026-03-07 22:53:15 -08:00
Broque Thomas
ddd7f2d9b5
Persist mirrored playlist discovery results & retry failed
2026-03-07 17:28:17 -08:00
Broque Thomas
e62f4b0203
update front end when discovery is running
2026-03-07 16:01:58 -08:00
Broque Thomas
e11ee8622e
Fix discovery modal persistence, artist dict handling, and rate limiter scope
2026-03-07 13:05:49 -08:00
Broque Thomas
05b5c376e9
update automation status ever 1s
2026-03-07 11:49:15 -08:00
Broque Thomas
d97b3d1846
Fix automation timezone bug
2026-03-07 11:42:44 -08:00
Broque Thomas
918dbad88f
reorganize automations page.
2026-03-07 11:27:53 -08:00
Broque Thomas
b34e348937
keep a history of automation runs
2026-03-07 09:39:08 -08:00
Broque Thomas
b90c270d54
Add Download Now button to wishlist modal and library page download bubbles
2026-03-07 00:11:15 -08:00
Broque Thomas
41e895d254
Batch watchlist status checks to eliminate rate limit errors
2026-03-06 23:41:01 -08:00
Broque Thomas
5f14f027d6
glow effect on active automations
2026-03-06 21:09:24 -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
7647ac22ed
Add Discovery Pool dashboard tool card and revamp modal with premium category-card design
2026-03-06 11:59:45 -08:00
Broque Thomas
d264ec70f3
Add sync match cache and fix discovery clear to purge cache
2026-03-06 09:41:44 -08:00
Broque Thomas
7485ba8aa2
fix issue with tracking auto sync playlist node
2026-03-06 08:01:17 -08:00
Broque Thomas
9f416475e2
Live automation progress tracking with real-time output panels
2026-03-05 20:39:26 -08:00
Broque Thomas
d57b48a62a
Playlist discovery pipeline with official metadata enforcement for automated sync
2026-03-05 18:32:18 -08:00
Broque Thomas
4bd3e776bd
css changes
2026-03-05 16:57:14 -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
b30e1f60bd
Add Mirrored Playlists — persistent cross-service playlist archive
...
Automatically mirrors every parsed playlist (Spotify, Tidal, YouTube, Beatport) to a local database so they're always accessible — even if a service subscription lapses or the browser closes.
- New "Mirrored" tab on the Sync page with source-branded cards showing discovery/download status
- Auto-mirrors on successful parse (upsert — re-parsing updates the existing mirror, no duplicates)
- Click any mirrored playlist to browse its full track list, then run it through the discovery pipeline
- Cards dynamically reflect live state: Discovering → Discovered → Downloading → Downloaded
- Download modal rehydrates after page refresh — click a "Downloading..." card to resume viewing progress
- All phase transitions (start, complete, cancel, error, modal close) keep card and backend state in sync
- Profile-scoped via profile_id, consistent with other features
2026-03-04 18:27:18 -08:00
Broque Thomas
b2fa222228
fix hydrabse album.tracks
2026-03-04 15:12:03 -08:00
Broque Thomas
6bbd52fda7
update notification
2026-03-04 15:01:54 -08:00
Broque Thomas
114af496c7
Track version
2026-03-04 11:32:40 -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
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
84de4ad16b
Redesign watchlist modal with enriched artist detail view
2026-03-03 20:26:21 -08:00
Broque Thomas
d06b7e5a25
Update style.css
2026-03-03 19:00:50 -08:00
Broque Thomas
0f428dc45c
Add WebSocket real-time updates with automatic HTTP polling fallback
...
Migrates 38 HTTP polling loops to WebSocket push events across 6 phases: service status, dashboard stats, enrichment workers, tool progress, sync/discovery progress, and scan status. All original HTTP polling is preserved as automatic fallback — if WebSocket is unavailable or disconnects, the app seamlessly reverts to its previous behavior. Includes 162 tests verifying event delivery, data shape, and HTTP parity. Also fixes a copy-paste bug in Beatport sync error cleanup.
2026-03-03 18:26:29 -08:00
Broque Thomas
53d841c3dc
Update style.css
2026-03-03 12:43:02 -08:00
Broque Thomas
d9aa8303a7
Add SoulSync REST API (v1) with API key authentication
...
Adds a full public REST API at /api/v1/ with 32 endpoints covering library, search, downloads, wishlist, watchlist, playlists, system status, and settings. Includes API key authentication (Bearer token), per-endpoint rate limiting, and consistent JSON response format. API keys can be generated and managed from the Settings page. No changes to existing functionality — the API delegates to the same backend services the web UI uses.
2026-03-03 09:49:00 -08:00
Broque Thomas
df33adf6a7
include 'add to watchlist' button to each artist in library.
2026-03-02 10:04:10 -08:00
Broque Thomas
b558dff138
add all recommended to watchlist.
2026-03-02 09:24:37 -08:00
Broque Thomas
1f73ba4f94
view recommended artists.
2026-03-02 09:12:35 -08:00
Broque Thomas
8f2dd66aee
add a 'watch all' button on hero slider to quickly add all artists in slider.
2026-03-02 08:40:22 -08:00
Broque Thomas
c279f2e4fa
Design retag layout
2026-03-01 22:52:27 -08:00
Broque Thomas
3dad2eae38
watchlist redesign
2026-03-01 20:35:49 -08:00
Broque Thomas
046233817d
Update style.css
2026-03-01 19:47:56 -08:00
Broque Thomas
6d3f43a385
Update style.css
2026-03-01 19:30:50 -08:00
Broque Thomas
71fe5b83eb
css changes
2026-03-01 15:34:51 -08:00
Broque Thomas
4fba18b25e
Feat: Custom accent colors.
2026-03-01 15:29:37 -08:00
Broque Thomas
1964659c8b
css changes
2026-03-01 14:55:45 -08:00
Broque Thomas
1aa6cdc9b6
Rebuild the import feature and move it to its own page.
2026-03-01 14:18:55 -08:00