Commit graph

844 commits

Author SHA1 Message Date
Broque Thomas
eae2a9c135 Add auto-cleanup and stuck task detection for batches
Implements automatic cleanup of completed, errored, or cancelled batches after 5 minutes to prevent stale state. Adds stuck task detection for 'searching' and 'post_processing' states, forcing failure or completion if tasks exceed time thresholds. Updates batch completion logic to track completion timestamps and handle orphaned tasks more robustly. Also improves wishlist auto-processing timer management.
2025-12-07 21:43:08 -08:00
Broque Thomas
349d653ca0 Prevent race conditions in wishlist downloads
Adds support for sending specific track IDs from the frontend to the backend when starting wishlist missing downloads. This ensures only the tracks currently visible to the user are processed, preventing race conditions if the wishlist changes between modal open and analysis start. Category filtering remains for backward compatibility.
2025-12-07 14:43:43 -08:00
Broque Thomas
c237f354c4
Merge pull request #80 from Nezreka/docker-fix
Migrate config storage to SQLite database
2025-12-04 11:09:24 -08:00
Broque Thomas
36418e05b4 Migrate config storage to SQLite database
ConfigManager now stores configuration in a SQLite database instead of a JSON file. The class supports migration from existing config.json files and falls back to defaults if no configuration is found. This change improves reliability and centralizes configuration management.
2025-12-04 11:08:38 -08:00
Broque Thomas
bfabd26469 Cache artist image on watchlist addition
When an artist is added to the watchlist, their image is now fetched from Spotify and cached in the database immediately if available. This improves user experience by ensuring artist images are present without requiring a separate fetch.
2025-12-02 16:26:18 -08:00
Broque Thomas
0519c58cd7 Remove already-owned tracks from wishlist before download
Added logic to both automatic and manual wishlist processing to check for and remove tracks that already exist in the library before initiating downloads. This prevents unnecessary bandwidth usage and keeps the wishlist up to date.
2025-12-02 13:32:15 -08:00
Broque Thomas
cee7774c93 Refactor wishlist auto-processing lock logic
Improves handling of concurrent wishlist and watchlist operations by moving scheduling outside the lock and using flags to avoid deadlocks. This change ensures that scheduling the next wishlist processing does not occur while holding the lock, reducing risk of deadlock and improving code clarity.
2025-12-02 09:36:59 -08:00
Broque Thomas
8e67c34d72 Update web_server.py 2025-12-01 15:12:18 -08:00
Broque Thomas
44b1050dca wishlist auto restart timer check 2025-12-01 10:26:46 -08:00
Broque Thomas
9575d8983c add timer to watchlist/wishlist 2025-11-26 12:14:08 -08:00
Broque Thomas
aba4129193 adjust auto watchlist scan ui 2025-11-26 11:58:29 -08:00
Broque Thomas
14548ec640 watchlist stuck fix 2025-11-26 11:11:28 -08:00
Broque Thomas
7e43a26408 Revert "wishlist duplicate bug"
This reverts commit e67be4b19d.
2025-11-26 09:21:54 -08:00
Broque Thomas
e67be4b19d wishlist duplicate bug 2025-11-26 08:50:36 -08:00
Broque Thomas
28d8dbf5e0 fix listenbrainz wishlist comp 2025-11-25 23:34:56 -08:00
Broque Thomas
e8f9803bd5 Update script.js 2025-11-25 22:07:26 -08:00
Broque Thomas
94fd39cf34 listenbrainz persistence bug 2025-11-25 18:36:59 -08:00
Broque Thomas
bcf62d7de4 Update music_database.py 2025-11-25 17:54:14 -08:00
Broque Thomas
a61c581c25 listenbrainz fully connected to discovery modal 2025-11-25 17:41:22 -08:00
Broque Thomas
ffe02d5330 listenbrainz discovery fix 2025-11-25 15:13:41 -08:00
Broque Thomas
ab58b64a17 cap listenbrainz playlist memory 2025-11-25 09:44:41 -08:00
Broque Thomas
9a1cd2e74b fix seasonal auto scan 2025-11-25 09:25:36 -08:00
Broque Thomas
6db4409d08 better watchlist live status display for auto and manual scan 2025-11-25 09:21:33 -08:00
Broque Thomas
27f115d719 connect watchlist settings to scan 2025-11-24 21:43:11 -08:00
Broque Thomas
4684408439 Revert "user selected watchlist settings now connected to backend."
This reverts commit 2c12759dbb.
2025-11-24 19:30:30 -08:00
Broque Thomas
353580bd2d Revert "Update watchlist_scanner.py"
This reverts commit 4c8fa45337.
2025-11-24 19:29:53 -08:00
Broque Thomas
4c8fa45337 Update watchlist_scanner.py 2025-11-24 19:14:32 -08:00
Broque Thomas
2c12759dbb user selected watchlist settings now connected to backend. 2025-11-24 17:27:50 -08:00
Broque Thomas
1749bb62a5 foundation for allowing user to decide which releases to grab per watchlist artist 2025-11-24 17:16:12 -08:00
Broque Thomas
fd206f552d Update web_server.py 2025-11-24 15:23:56 -08:00
Broque Thomas
bb816be280 update discoveyr modal to grab album data 2025-11-24 14:51:24 -08:00
Broque Thomas
3be1dc9ace update discovery modal to collect album info 2025-11-24 14:22:32 -08:00
Broque Thomas
178bb7696d update liked songs to include album info 2025-11-24 07:19:15 -08:00
Broque Thomas
c46e2c527e search bar for watchlist 2025-11-23 20:23:30 -08:00
Broque Thomas
8798522854 v1.1 modal udpated 2025-11-23 19:53:45 -08:00
Broque Thomas
cb87496857 clear/clean wishlist button in overview 2025-11-23 19:43:21 -08:00
Broque Thomas
4804a995f7 further progress on wishlist rebuild 2025-11-23 19:14:13 -08:00
Broque Thomas
0b2322f225 Wishlist overhaul near complete 2025-11-23 18:22:09 -08:00
Broque Thomas
0809787a79 Delete artist_bubble_snapshots.json 2025-11-23 13:26:40 -08:00
Broque Thomas
573bd6080c Feat: Added 'add to wishlist' button on all download missing track modals. 2025-11-23 13:25:35 -08:00
Broque Thomas
b7b76b378d Fix: Emby sync issue 2025-11-23 11:34:38 -08:00
Broque Thomas
ec6a9163a8 Fix: Jellyfin multiple users could break functionality. 2025-11-22 14:41:44 -08:00
Broque Thomas
1dcf5dc69d Update web_server.py 2025-11-21 22:45:17 -08:00
Broque Thomas
3b936d6fdb Update script.js 2025-11-21 18:56:09 -08:00
Broque Thomas
8712209bb9 emby support? 2025-11-21 16:19:58 -08:00
Broque Thomas
bc17e9fa2b remove 2025-11-21 16:15:04 -08:00
Broque Thomas
b1391b9466 add failed scan items to wishlist. 2025-11-21 15:29:25 -08:00
Broque Thomas
08e3f6c900 fix liked songs 2025-11-21 13:31:26 -08:00
Broque Thomas
7936c23f73 Update web_server.py 2025-11-19 20:10:39 -08:00
Broque Thomas
58388645d7 Update README.md 2025-11-19 09:59:47 -08:00