Broque Thomas
0594673cad
Polish finding detail renderers with richer visuals
...
- Cover art findings: show artwork image thumbnail preview
- Duplicate findings: KEEP/REMOVE badges highlighting best quality copy
- Incomplete album: completion progress bar with percentage
- Fake lossless: spectral analysis bar comparing detected vs expected cutoff
- Resolved findings: show descriptive action label (e.g. "Entry Removed")
- Fix operator precedence bug in fake lossless nyquist calculation
1 month ago
Broque Thomas
7a706e8c11
Add fix actions for maintenance findings (dead files, orphans, duplicates, etc.)
...
- New fix_finding() dispatcher in repair_worker with per-type handlers:
dead_file (remove DB entry), orphan_file (delete from disk),
track_number_mismatch (update DB), missing_cover_art (apply artwork URL),
metadata_gap (apply found fields), duplicate_tracks (keep best quality)
- New POST /api/repair/findings/<id>/fix endpoint
- Frontend: contextual fix buttons per finding type, bulk "Fix Selected"
- Removed path_mismatch from fixable types (dry-run preview only)
1 month ago
Broque Thomas
61ed4086e0
Redesign maintenance findings/history tabs with dashboard & fix path resolution bugs
...
- Add findings dashboard with summary stats and per-job clickable filter chips
- Redesign findings cards with expandable detail panels and per-type renderers
- Redesign history tab with status dots, stat pills, and full timestamps
- Fix dead file cleaner false positives by using suffix-based path resolution
- Fix orphan file detector false positives by matching via path suffixes
- Add help text modal for each repair job card
- Enlarge maintenance modal (1100px wide, 90vh tall)
1 month ago
Broque Thomas
4635ea895b
include a '?' to include more details for each job.
1 month ago
Broque Thomas
dab94ce65d
update soulsync repair worker with new jobs
1 month ago
Broque Thomas
cae2bd0c62
Add granular post-processing toggles for metadata services, cover art, and lyrics
1 month ago
Broque Thomas
8f0b9518bc
Add per-profile ListenBrainz support with personal settings modal
1 month ago
Broque Thomas
9a22c49a0e
Add FLAC bit depth fallback option to quality profile
1 month ago
Broque Thomas
4a73ef6d24
Optimize enhanced view performance with event delegation and scoped DOM queries
1 month ago
Broque Thomas
7db1545208
Optimize enhanced view performance with event delegation and scoped DOM queries
1 month ago
Broque Thomas
7e19e66ef3
Add quality enhance button to upgrade existing library tracks & Add iTunes fallback to Quality Enhance endpoint for full metadata source parity
1 month ago
Broque Thomas
3bbbfb125e
Add $albumtype template variable with smart EP/Single/Album detection
1 month ago
Broque Thomas
761052145f
Add select all checkbox to watchlist modal for bulk removal
1 month ago
Broque Thomas
fc90ed68a3
Fix debug info copy button failing over HTTP in Docker
1 month ago
Broque Thomas
fead6db379
Fix docs sidebar navigation scroll targeting with lazy-loaded images
1 month ago
Broque Thomas
719980cf5a
Hide sync sidebar by default, only show during active sync
1 month ago
Broque Thomas
945f86c643
Library Repair Worker: multi-job background maintenance daemon with 10 jobs, findings system, and management modal
1 month ago
Broque Thomas
6de3ab7cef
Add universal metadata cache for Spotify & iTunes API responses with browsable dashboard tool
1 month ago
Broque Thomas
c54e52e18d
Add Spotify Library discovery section, instrumental filter, custom exclusion terms & album download modal fixes
1 month ago
Broque Thomas
a5e72cff05
Add instrumental filter & custom exclusion terms to watchlist content filters
1 month ago
Broque Thomas
32f1cc946c
Improve watchlist cross-provider matching accuracy and add manual artist linking UI
1 month ago
Broque Thomas
0e89155c15
Add watchlist settings gear button to artist detail and artist card pages
1 month ago
Broque Thomas
e1a5bf678a
Add library issue reporting system with actionable detail modal
1 month ago
Broque Thomas
57a8bdd107
Add album file reorganization to Enhanced Library Manager
1 month ago
Broque Thomas
d4eadef374
Add interactive REST API docs with full endpoint tester and complete metadata serialization
1 month ago
Broque Thomas
4dfefc70df
Polish settings page styling — premium header, toggle switches, refined inputs
1 month ago
Broque Thomas
f9bdabc0e4
Add particle background toggle & optimize accent color caching
1 month ago
Broque Thomas
2c6f2adce1
Redesign watchlist modal with polished cards, gradient overlays, and rate limit modal
1 month ago
Broque Thomas
a557074d3c
Add Spotify rate limit modal with live countdown and ban duration escalation
1 month ago
Broque Thomas
daa55d208e
fix issue where album info was not displayed for discover items.
1 month ago
Broque Thomas
02c1da76ba
update recent updates and fix spotify worker rate limit button
1 month ago
Broque Thomas
7da7f3b112
Cache similar artist metadata at scan time to eliminate redundant Spotify API calls
1 month ago
Broque Thomas
5ee9390c05
Add album art to discovery pool by extracting image URLs from match data
1 month ago
Broque Thomas
55186c6a51
Add Deezer playlist sync tab with discovery, fix modal, and cache persistence
1 month ago
Broque Thomas
f9d80606e3
Expand debug info with library stats, service status, config, and configurable log output
1 month ago
Broque Thomas
fc05412a13
update docs page
1 month ago
Broque Thomas
470b8dca7e
fix spotify active animation color
1 month ago
Broque Thomas
7d092e8b53
css fixes
1 month ago
Broque Thomas
e8df863205
enhanced library write all modal and confirmation dialog
1 month ago
Broque Thomas
6c4de45b32
fix acoustID match issue and css changes
1 month ago
Broque Thomas
ded906bef4
Fix false positive track matching & tag writing visibility for library files
1 month ago
Broque Thomas
a3bf858558
Seamless Spotify rate limit UX — replace intrusive modal with ambient indicators
1 month ago
Broque Thomas
9557e6bdd3
Fix sync stuck at 80% — serialize datetime in SyncResult for WebSocket emit
1 month ago
Broque Thomas
49d1cb595f
Update Help & Docs — add Qobuz everywhere, Tidal/Qobuz enrichment workers, fix Metadata Updater descriptions
1 month ago
Broque Thomas
a8de75ce26
Fix watchlist badge — source-aware ID selection and hide when no usable ID
1 month ago
Broque Thomas
d401dc8af1
Two-column badge layout for artist cards with 7+ service matches
1 month ago
Broque Thomas
ecfa30c918
Fix Tidal V2 search endpoint, duration parsing, and library badge display
1 month ago
Broque Thomas
cc35864e7d
Tidal & Qobuz Enrichment Workers - Bug Fixes & Rate Limiting
1 month ago
Broque Thomas
35d6068f99
fix worker logos
1 month ago
Broque Thomas
ac2c710a1e
Tidal & Qobuz Background Enrichment Workers
1 month ago
Broque Thomas
f41db1bb27
reorganize settings page
1 month ago
Broque Thomas
0d547255d9
Move Soulseek settings to Download Source section & conditional source visibility
1 month ago
Broque Thomas
70c32aa640
Hybrid Mode Redesign
1 month ago
Broque Thomas
fb04d0f4bc
Full qobuz support
1 month ago
Broque Thomas
f4d8280642
css & error notification fixes
1 month ago
Broque Thomas
636af1f2f8
Fix docs scroll spy jumping to wrong section due to duplicate element ID
1 month ago
Broque Thomas
0aa8950436
fix build a playlist functionality and update the ui
1 month ago
Broque Thomas
e5450d9f89
Help Docs Overhaul & Settings Fixes
1 month ago
Broque Thomas
c06fd044a1
Profile Permissions & Page Access Control
1 month ago
Broque Thomas
a159ac3fd6
Fix activity feed blinking and show live relative timestamps
1 month ago
Broque Thomas
9bee72503f
Unify dashboard button styles and enhance activity log
1 month ago
Broque Thomas
44f4e1ccbf
Fix artists page particle lag and bright flash on page transitions
1 month ago
Broque Thomas
f91626ef18
Per-Page Particle Animations
1 month ago
Broque Thomas
40521fa499
Sidebar audio visualizer with 5 reactive styles and settings toggle
1 month ago
Broque Thomas
a682f814f7
Sidebar SVG icons, larger page header icons, and accent-colored nav
2 months ago
Broque Thomas
6b1d069be0
Add ambient accent-colored aura animation to sidebar
2 months ago
Broque Thomas
bb0599c585
update docs
2 months ago
Broque Thomas
cc85188d52
Add media server setup, processing settings, text import, automation history, and streaming details
2 months ago
Broque Thomas
9a1c3b4124
Fix watchlist badge positioning and mobile card sizing
2 months ago
Broque Thomas
bc41afe83b
Fill content gaps, fix sidebar scroll spy bug, add LRC lyrics
2 months ago
Broque Thomas
1b0fca9009
Service Badges, Page Headers, Docs Page, and Bug Fixe
2 months ago
Broque Thomas
51b5469e85
Add page icons & gradient shimmer to all page headers
2 months ago
Broque Thomas
927fe6338e
Fix Spotify badge icon & compact card badge layout for overflow
2 months ago
Broque Thomas
87d567151e
iTunes storefront fallback with configurable country setting
2 months ago
Broque Thomas
e8ddbe3709
Reset all Genius matches to fix blind-fallback search bug & fix css issues
2 months ago
Broque Thomas
c96159d0fc
fix download modal progress bar height. fix text in wishlist/watchlist buttons appearing outside container
2 months ago
Broque Thomas
f26f6f8266
Last.fm & Genius full worker parity, clickable service badges, and playlist folder race condition fix
2 months ago
Broque Thomas
92ba36a9ba
Add no-auth state to Last.fm and Genius dashboard buttons with greyed-out UI and settings guidance
2 months ago
Broque Thomas
dc7140c459
Add Last.fm and Genius to on-demand enrichment, settings reload, and enrich dropdown parity
2 months ago
Broque Thomas
f8d23ec37c
Add Last.fm and Genius API clients with settings integration
2 months ago
Broque Thomas
1bd66cf5b4
fix issue where artists would appear as objects.
2 months ago
Broque Thomas
e71ae7a5f7
Import file tab on sync page to create mirrored playlists from CSV/TXT files
2 months ago
Broque Thomas
aa93458ed3
Configurable ListenBrainz API endpoint for self-hosted instances
2 months ago
Broque Thomas
bbccd3524f
Explicit content filter with configurable toggle to skip explicit tracks during downloads
2 months ago
Broque Thomas
1b42b88c31
css changes
2 months ago
Broque Thomas
b9d5d4e277
update page icons
2 months ago
Broque Thomas
6f5ef73e86
add static images
2 months ago
Broque Thomas
d1890c768c
cleanup staging folder same as download folder
2 months ago
Broque Thomas
07a79e7af6
Full Cleanup automation: combined housekeeping sweep for quarantine, downloads, staging, and search history
2 months ago
Broque Thomas
eac97a6c2b
Smart Spotify rate limit detection with global ban, auto-suppression, and frontend modal
2 months ago
Broque Thomas
cc4502e5f8
Add server sync option to enhanced library write-tags flow
2 months ago
Broque Thomas
7411bd1eab
Clarify update notification for Docker users that image will follow
2 months ago
Broque Thomas
b3d607752b
Add version tracking to database backup manager & Fix radio mode next track closing modal and losing playback state
2 months ago
Broque Thomas
ea1441d09d
"Write Tags to File" in the Enhanced Library Manager
2 months ago
Broque Thomas
5f58432ca4
Redesigned media player with expanded Now Playing modal and smart radio
2 months ago
Broque Thomas
5b79ca1e88
redesign the media player in sidebar
2 months ago
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.
2 months ago
Broque Thomas
5f94352b40
Add cancellation support to all discovery workers
2 months ago
Broque Thomas
41edb31e07
Replace sidebar donation dropdown with support modal
2 months ago
Broque Thomas
18b2766b01
Fix discovery fix button not working for mirrored playlists
2 months ago
Broque Thomas
5daa8c0596
Add rich stats to automation run history
2 months ago
Broque Thomas
f9e8c8dadd
Add themed confirm dialog modal replacing all native browser confirms
2 months ago
Broque Thomas
266d044797
Add Backup Manager dashboard tool card with list, download, restore & delete
2 months ago
Broque Thomas
2ef0c75a25
Fix sync completion not reaching UI after WebSocket reconnect
2 months ago
Broque Thomas
ddd7f2d9b5
Persist mirrored playlist discovery results & retry failed
2 months ago
Broque Thomas
e62f4b0203
update front end when discovery is running
2 months ago
Broque Thomas
e11ee8622e
Fix discovery modal persistence, artist dict handling, and rate limiter scope
2 months ago
Broque Thomas
05b5c376e9
update automation status ever 1s
2 months ago
Broque Thomas
d97b3d1846
Fix automation timezone bug
2 months ago
Broque Thomas
918dbad88f
reorganize automations page.
2 months ago
Broque Thomas
b34e348937
keep a history of automation runs
2 months ago
Broque Thomas
b90c270d54
Add Download Now button to wishlist modal and library page download bubbles
2 months ago
Broque Thomas
41e895d254
Batch watchlist status checks to eliminate rate limit errors
2 months ago
Broque Thomas
5f14f027d6
glow effect on active automations
2 months ago
Broque Thomas
156c37d907
Replace hardcoded post-download chain with system automations
2 months ago
Broque Thomas
8b6a2c0adc
allow multiple notification calls per automation as well as a new signal fire utility
2 months ago
Broque Thomas
dd5f2f07e9
detail modal for each action and trgiger
2 months ago
Broque Thomas
7647ac22ed
Add Discovery Pool dashboard tool card and revamp modal with premium category-card design
2 months ago
Broque Thomas
d264ec70f3
Add sync match cache and fix discovery clear to purge cache
2 months ago
Broque Thomas
7485ba8aa2
fix issue with tracking auto sync playlist node
2 months ago
Broque Thomas
9f416475e2
Live automation progress tracking with real-time output panels
2 months ago
Broque Thomas
d57b48a62a
Playlist discovery pipeline with official metadata enforcement for automated sync
2 months ago
Broque Thomas
4bd3e776bd
css changes
2 months ago
Broque Thomas
f99f873d60
Replace hardcoded wishlist/watchlist timers with system automations + add Pushbullet & Telegram notifications
2 months ago
Broque Thomas
da707dcf0a
Full automation engine expansion with scheduling, triggers, actions, and UI polish
2 months ago
Broque Thomas
75f9b7364a
User configurable youtube rate limiting and optional cookies for bot detection
2 months ago
Broque Thomas
60f93d5858
hydrabase changes
2 months ago
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
2 months ago
Broque Thomas
6bbd52fda7
update notification
2 months ago
Broque Thomas
114af496c7
Track version
2 months ago
Broque Thomas
2d6c55e294
Fix chromaprint crash on surround audio and Spotify worker status display
2 months ago
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
2 months ago
Broque Thomas
84de4ad16b
Redesign watchlist modal with enriched artist detail view
2 months ago
Broque Thomas
d06b7e5a25
Update style.css
2 months ago
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.
2 months ago
Broque Thomas
53d841c3dc
Update style.css
2 months ago
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.
2 months ago
Broque Thomas
df33adf6a7
include 'add to watchlist' button to each artist in library.
2 months ago
Broque Thomas
b558dff138
add all recommended to watchlist.
2 months ago
Broque Thomas
1f73ba4f94
view recommended artists.
2 months ago
Broque Thomas
8f2dd66aee
add a 'watch all' button on hero slider to quickly add all artists in slider.
2 months ago
Broque Thomas
c279f2e4fa
Design retag layout
2 months ago
Broque Thomas
3dad2eae38
watchlist redesign
2 months ago
Broque Thomas
046233817d
Update style.css
2 months ago
Broque Thomas
6d3f43a385
Update style.css
2 months ago
Broque Thomas
71fe5b83eb
css changes
2 months ago
Broque Thomas
4fba18b25e
Feat: Custom accent colors.
2 months ago
Broque Thomas
1964659c8b
css changes
2 months ago
Broque Thomas
1aa6cdc9b6
Rebuild the import feature and move it to its own page.
2 months ago
Broque Thomas
c2119d4ecf
Update style.css
2 months ago