382 Commits

Author SHA1 Message Date
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
Deluan
1ac077cf22
Fix GetNowPlaying endpoint showing only the last play 2026-01-02 20:04:23 +00:00
Deluan Quintão
5590fa3550
Encrypt passwords in DB (#1187)
* Encode/Encrypt passwords in DB

* Only decrypts passwords if it is necessary

* Add tests for encryption functions
2026-01-02 20:04:16 +00:00
Deluan
969e3a91d2
Make MockRepo names more consistent 2026-01-02 19:32:16 +00:00
Deluan
58e67a01a9
Allow updating only specific columns 2026-01-02 19:31:52 +00:00
Yash Jipkate
3d8ee76b40
Create share table and repository. (#930)
* Add share table and repository

* Add datastore mock

* Try fixing indent

* Try fixing indent - 2

* Try fixing indent - 3

* Implement rest.Repository and rest.Persistance

* Renew date

* Better error handling

* Improve field name

* Fix json name conventionally
2026-01-02 19:31:52 +00:00
Deluan
15af85b545
Handle functions with params in sort order.
Related to #1023
2026-01-02 19:31:51 +00:00
Steve Richter
4a7bcd4f5f
User management improvements (#1101)
* Show more descriptive success messages for User actions

* Check username uniqueness when creating/updating User

* Adjust translations

* Add tests for `validateUsernameUnique()`

Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 19:31:10 +00:00
Deluan
d7c7df2727
Require user to provide current password to be able to change it
Admins can change other users' password without providing the current one, but not when changing their own
2026-01-02 19:26:42 +00:00
Deluan
d79f03cde1
Add EnableUserEditing, to control whether a regular user can change their own details (default true) 2026-01-02 19:26:42 +00:00
Deluan
2531df5f97
Fix DevAutoCreateAdminPassword 2026-01-02 19:26:42 +00:00
Deluan
2f64ee09f3
Allow regular users to change their info, including password.
Should fix #199
2026-01-02 19:26:41 +00:00
caiocotts
bc4cfba8e6
Better handling of album comments (#1013)
* Change album comment behaviour

* Don't check first item

* Fix previously imported album comments.

* Remove song comments if album comment is present
2026-01-02 19:26:40 +00:00
Deluan
fdcc931477
Add has_rating filter to albums 2026-01-02 19:26:36 +00:00
Deluan
77e31b27b9
Add option to sort Recently Added by file's mtime instead of time of import. 2026-01-02 19:22:06 +00:00
Deluan
10cf2372f8
Move project to Navidrome GitHub organization 2026-01-02 19:20:16 +00:00
Deluan
7cdbf3c217
Replace custom chunking logic with a utils.BreakUpStringSlice call 2026-01-02 19:20:15 +00:00
Deluan
749edc4661
Use new simplified uuid.NewString() syntax 2026-01-02 19:20:14 +00:00
Deluan
1176a201f0
Revert: Use modified time as updated_at and created_at when refreshing/creating albums 2026-01-02 19:20:14 +00:00