500 Commits

Author SHA1 Message Date
Deluan
9aed87531c
Include never played songs in the "not in the last" operator 2026-01-02 20:08:59 +00:00
Deluan
7a8f703eaf
Fix smart playlist refreshing only after the tracks were loaded 2026-01-02 20:08:59 +00:00
Deluan
9033efc971
Cache smart playlist refreshes for 5 seconds 2026-01-02 20:08:59 +00:00
Deluan
56fb82a29a
First version of SmartPlaylists being generated on demand 2026-01-02 20:08:58 +00:00
Deluan
874926481b
Add methods to Playlist model
Also, don't load genres for Playlists tracks (not necessary for now)
2026-01-02 20:08:58 +00:00
Deluan
2939c96bd8
Reduce number of queries for some playlists operations.
Also allow admins to update/delete playlists from other users in the Subsonic API. Closes #1366
2026-01-02 20:08:58 +00:00
Deluan
3820b5ba1e
Fix time-based tests (again) 2026-01-02 20:08:58 +00:00
Deluan
06ed0b530b
Fix rules serialization 2026-01-02 20:08:58 +00:00
Deluan
c1ba89c0d9
Fix time-based tests 2026-01-02 20:08:58 +00:00
Deluan
898e01013c
Load SmartPlaylists rules from DB 2026-01-02 20:08:58 +00:00
Deluan
b9918e370b
More tests 2026-01-02 20:08:58 +00:00
Deluan
d8adf68ef5
Initial drafts for Smart Playlists 2026-01-02 20:08:58 +00:00
Deluan
8a303c7964
Sort songs by artist/album/disc/track_number before adding to playlist 2026-01-02 20:08:31 +00:00
Deluan
6740708313
Add songs to playlists with drag and drop 2026-01-02 20:08:31 +00:00
Deluan
24d8c0ca88
Fix genre update chunking 2026-01-02 20:08:01 +00:00
Deluan
2388709bcd
Do not attach Genres to the "Various Artists" artist 2026-01-02 20:08:01 +00:00
Deluan
c60c57085b
Update genres in chunks. Should fix #1368 2026-01-02 20:08:01 +00:00
Deluan
b96344ca93
Some small refactorings 2026-01-02 20:06:13 +00:00
Deluan
18f6d55acb
Use structs lib to map models to DB. Fix #1266 2026-01-02 20:06:11 +00:00
Deluan
6678a4185a
Inject DB into DataStore, instead of hardcode the dependency 2026-01-02 20:06:11 +00:00
Deluan
7ca8383a68
Fix get song by id 2026-01-02 20:06:11 +00:00
Deluan
cdba81d09a
Show in the logs which mbid will be used if multiple mbids are found for album/artist 2026-01-02 20:06:10 +00:00
Deluan
f9cfc4c63b
Fix "too many SQL variables" error in GetStarred endpoint 2026-01-02 20:06:10 +00:00
Deluan
e63769051f
Remove dependency of deprecated ioutil package 2026-01-02 20:06:10 +00:00
Deluan
4a38fdbaec
Simplify cover detection in roll-up code by left-joining synthesized table 2026-01-02 20:06:09 +00:00
Deluan
71b217bc09
Simplify genre roll-up code by left-joining synthesized tables 2026-01-02 20:06:09 +00:00
Deluan
8d7cd365cf
Optimize GetAll genres query 2026-01-02 20:06:09 +00:00
Deluan
6c74b184bc
Fix rollup of track genres to albums and artists.
See: https://github.com/navidrome/navidrome/pull/1251#issuecomment-882343022
2026-01-02 20:06:09 +00:00
Deluan
34fdc63c64
Fix log message about artist with Various Artists' mbid 2026-01-02 20:06:09 +00:00
Deluan
ac728c043b
Fix log message about multiple MBIDs 2026-01-02 20:06:09 +00:00
Deluan
03e7edc427
Fix multiple id3v2.4 genres appearing as one big concatenated genre 2026-01-02 20:06:09 +00:00
Deluan
033be045c0
Add more tests 2026-01-02 20:06:09 +00:00
Deluan
9cf777b5ff
Fix aggregated values (count, size, duration) in roll-up queries 2026-01-02 20:06:09 +00:00
Deluan
0fa019ac77
Fix Count methods 2026-01-02 20:06:08 +00:00
Deluan
bc266f8fad
Add Genre filters to UI 2026-01-02 20:06:08 +00:00
Deluan
27dfca0b7f
Purge unused genres at the end of the scan 2026-01-02 20:06:08 +00:00
Deluan
f7db423e9f
Add multiple genres to Artists 2026-01-02 20:06:08 +00:00
Deluan
15b3994d13
Remove unnecessary repositories methods 2026-01-02 20:06:08 +00:00
Deluan
5de062da03
Add multiple genres to Albums 2026-01-02 20:06:08 +00:00
Deluan
1e9e8edc49
Add multiple genres to MediaFile 2026-01-02 20:06:08 +00:00
Deluan
52510a55c4
Add genre tables, read multiple-genres from tags 2026-01-02 20:06:08 +00:00
Deluan
dbac86e7ea
Log warning when artist has a MBID of Various Artists 2026-01-02 20:06:07 +00:00
Deluan
5142a842f4
Fix small lint errors found by gocritic 2026-01-02 20:06:07 +00:00
Deluan
19e9ec46a2
Use AlbumArtist tag even for compilations, when it is specified.
If the tracks' AlbumArtists are different, then use "Various Artists"
2026-01-02 20:06:07 +00:00
Deluan
6d46689622
Implement Scrobble buffering/retrying 2026-01-02 20:05:07 +00:00
Deluan
c07bf5348b
Only encrypts NewPassword if it is not empty, when updating the user details. Fixes #1222 2026-01-02 20:05:07 +00:00
Brian Schrameck
d40f1dab04
Addresses a bug that would prevent users from changing their own passwords, introduced as part of #1187. (#1214) 2026-01-02 20:05:06 +00:00
Deluan
6a254c8b67
Pass userId explicitly to UserPropsRepository methods 2026-01-02 20:05:06 +00:00
Deluan
a52a88d1d7
Move user properties (like session keys) to their own table 2026-01-02 20:05:05 +00:00
Deluan
f468522c72
Implement Last.FM Desktop Auth flow endpoints 2026-01-02 20:05:04 +00:00