9 Commits

Author SHA1 Message Date
Geert Rademakes
7065247277 More webdav compatiblity 2025-09-17 11:30:03 +02:00
Geert Rademakes
d87d83eaf6 fix(config): improve auto-link UX; fix song update in background job; upsert MusicFile on complex matching 2025-08-13 16:54:38 +02:00
Geert Rademakes
fe3a7abf32 fix(backend): avoid duplicate key errors during complex matching by upserting MusicFile by s3Key 2025-08-13 16:48:34 +02:00
Geert Rademakes
58eaa50bd2 feat(config): refactor Sync & Matching panel; remove heavy Music Library tab; add Sync, Force Sync, and Clear Links + Force Sync controls; backend supports clearLinks/force 2025-08-13 16:41:59 +02:00
Geert Rademakes
5144df2e93 fix(flac): set correct contentType for FLAC and other types in S3 sync; include contentType hint in stream endpoint response 2025-08-08 12:02:03 +02:00
Geert Rademakes
dbf9dbcb8c fix(sync): reference correct processed count in job result; fix(search): keep focus in search while playing by blurring audio and focusing search; cleanup lints 2025-08-08 11:30:59 +02:00
Geert Rademakes
2e21c3b5f5 fix(matching): strip diacritics in matching and quick match so accented letters (e.g., é) match plain equivalents 2025-08-08 11:06:48 +02:00
Geert Rademakes
07044c7594 fix(matching): URL-decode filenames and Rekordbox locations during quick match and location matching (%20, %27 etc.) 2025-08-08 11:00:08 +02:00
Geert Rademakes
b436d1dabc feat: implement immediate song document updates for perfect sync resilience
- Remove end-of-job cleanup phases from S3 sync and song matching jobs
- Update Song documents immediately after each successful match in both Phase 1 and Phase 2
- Ensure hasS3File flag is set to true immediately for each matched song
- Enable play buttons to appear instantly as songs are processed
- Make system perfectly resilient to interruptions - no orphaned files
- Allow seamless resume capability for long-running sync jobs
- Provide real-time availability of matched songs without waiting for job completion
- Maintain system consistency regardless of when sync gets interrupted
2025-08-07 23:36:30 +02:00