mirror of https://github.com/Nezreka/SoulSync.git
Root cause: When album downloads completed, the frontend immediately closed the modal and called /api/playlists/cleanup_batch, which deleted the batch from memory. The wishlist processing thread (submitted to executor) would then try to access the batch and fail silently because it was already deleted. This explains why: - Wishlist auto-processing worked (different timing/3-second delay) - Manual "Add to Wishlist" button worked (different code path, before downloads) - Album modal failed tracks didn't get added (race condition) The fix prevents batch cleanup until wishlist processing completes: Backend (web_server.py): 1. Mark wishlist_processing_started=True when submitting processing job 2. Mark wishlist_processing_complete=True when processing finishes 3. Block cleanup endpoint if processing in progress (return 202) Frontend (script.js): 4. Handle 202 response and retry cleanup after 2-second delay This eliminates the race condition while maintaining async processing and ensuring all failed/cancelled tracks are properly added to the wishlist.pull/122/head^2
parent
c728309a09
commit
c0c05c7b89
Loading…
Reference in new issue