Deluan
a7b43f9c56
Return playlists sorted in getPlaylists Subsonic endpoint
2026-01-02 20:08:57 +00:00
Deluan
6740708313
Add songs to playlists with drag and drop
2026-01-02 20:08:31 +00:00
Deluan Quintão
f50e521fec
Check goimports in the pipeline ( #1381 )
...
* Check goimports in the pipeline
* Check goimports in the pipeline
* Check goimports in the pipeline
* go mod tidy
* wip
* wip
* Fix goimports and go:build tags
* Run golangci-lint before goimports
2026-01-02 20:08:02 +00:00
Deluan
a262176232
Don't show Artist Page for "Various Artists"
2026-01-02 20:08:01 +00:00
Dnouv
b3b9832a9a
Artist Detail Page (first cut) ( #1287 )
...
* Configure fetching from API and route
* pretty
* Remove errors
* Remove errors
* Remove errors
* Complete page for Desktop view
* Fix error
* Add xs Artist page
* Remove unused import
* Add styles for theme
* Change route path
* Remove artId useEffect array
* Remove array
* Fix cover load err
* Add redirect on err
* Remove route
* What's in a name? consistency :)
* Fix err
* Fix UI changes
* Fetch album from resource
* Renaming done
* Review changes
* Some touch-up
* Small refactor, to make naming and structure more consistent with AlbumShow
* Make artist's album list similar to original implementation
* Reuse AlbumGridView, to avoid duplication
* Add feature flag to enable new Artist Page, default false
* Better biography styling. Small refactorings,
* Don't encode quotes and other symbols
* Moved AlbumShow to correct folder
Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:08:00 +00:00
caiocotts
f2cf716bcd
Add x-total-count to Subsonic API getAlbumList ( #1360 )
...
* Add x-total-count to Subsonic API getAlbumList
* Rename variable
Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:08:00 +00:00
Deluan Quintão
7b390686b3
Move Playlists to the sidebar menu ( #1339 )
...
* Show playlists in sidebar menu
* Fix menu
* Refresh playlist submenu when adding new playlist
* Group shared playlists below user's playlists
* Fix text overflow in menu options
* Add button in playlist menu to go to Playlists list
* Add config option `DevSidebarPlaylists` to enable this feature (default false)
2026-01-02 20:06:54 +00:00
Deluan
18f6d55acb
Use structs lib to map models to DB. Fix #1266
2026-01-02 20:06:11 +00:00
Deluan
e63769051f
Remove dependency of deprecated ioutil package
2026-01-02 20:06:10 +00:00
Deluan
5989a3d4fb
Use fs.FS in MergeFS implementation
2026-01-02 20:06:09 +00:00
Deluan
1e5b6a3c54
Small refactorings
2026-01-02 20:06:09 +00:00
Deluan
09603abe33
Make getGenre Subsonic endpoint returns genres sorted by counts
2026-01-02 20:06:09 +00:00
Deluan
8d7cd365cf
Optimize GetAll genres query
2026-01-02 20:06:09 +00:00
Deluan
bc266f8fad
Add Genre filters to UI
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
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
75cc2580b7
Disable Last.FM features based on LastFM.Enabled config option
2026-01-02 20:05:07 +00:00
Deluan
755fac76b0
Don't rely on goroutines to send keepalive events
2026-01-02 20:05:07 +00:00
Deluan
8c6a931037
Assign event ids in the main loop, to avoid out-of-order events
2026-01-02 20:05:07 +00:00
Deluan
39623748f2
Fix deadlock situation when events are sent too fast to the broker
2026-01-02 20:05:07 +00:00
Deluan
f51afe1f95
Add option to disable album cover animation in the player. Closes #1185
2026-01-02 20:05:06 +00:00
Deluan
c81ecbd96e
Add tests to /scrobble endpoint
2026-01-02 20:05:06 +00:00
Deluan
7b03f8a9e4
Enable Last.fm scrobbling by default (still requires user's authorization)
2026-01-02 20:05:06 +00:00
Deluan
ffd1aa7e89
Refactor: Consolidate scrobbling logic in play_tracker
2026-01-02 20:05:05 +00:00
Deluan
5db24ff145
Send NowPlaying and Scrobbles to Last.fm
2026-01-02 20:05:04 +00:00
Deluan
0a9f6cb807
Refactor Agents to be singleton
...
Initial work for Last.fm scrobbler
2026-01-02 20:05:04 +00:00
Deluan
883d316670
Use singleton in other places as well
2026-01-02 20:05:04 +00:00
Deluan
c0c229ad72
Expose Last.fm's ApiKey to UI
2026-01-02 20:05:04 +00:00
Deluan
f468522c72
Implement Last.FM Desktop Auth flow endpoints
2026-01-02 20:05:04 +00:00
Steve Richter
fb53bba5ab
Initial Last.fm UI implementation
2026-01-02 20:05:04 +00:00
Deluan
ce0fc7a274
Add flag to disable Scrobble config in the UI
2026-01-02 20:05:04 +00:00
Deluan
81b17bf941
Show notification if server is updated
2026-01-02 20:05:03 +00:00
Deluan
5bbf0e03f9
Fix cookie warning
2026-01-02 20:05:03 +00:00
Deluan
05498513c7
Fix lint error
2026-01-02 20:05:03 +00:00
Deluan
0057c9f38a
Try to register all playing music in GetNowPlaying
2026-01-02 20:04:23 +00:00
Deluan
1ac077cf22
Fix GetNowPlaying endpoint showing only the last play
2026-01-02 20:04:23 +00:00
Deluan
7b4b6f8130
New implementation of NowPlaying
2026-01-02 20:04:23 +00:00
Deluan
8dc8b5f95b
Option to allow auto-login during development.
2026-01-02 20:04:23 +00:00
Deluan
7b018821f8
Fix subsonic token when authenticating by Header
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
f59efb6b0a
Add username to request.Context
2026-01-02 20:03:21 +00:00
Deluan
1542362898
Optimize refresh events for scrobble endpoint
2026-01-02 20:03:21 +00:00
Deluan
59a38332a4
Refech using getMany, reducing the number of API calls
2026-01-02 20:03:21 +00:00
Deluan
31c46d0a69
Disable realip middleware when using the reverse proxy authentication feature
...
Should fix https://github.com/navidrome/navidrome/pull/1152#issuecomment-862306847
2026-01-02 20:03:20 +00:00
Deluan
8e32b56ea0
Only send events to clients who need it
...
- User events (star, rating, plays) only sent to same user
- Don't send to the client (browser window) that originated the event
2026-01-02 20:02:35 +00:00
Deluan
81b87e9ff6
Only refetch changed resources when receive a "refreshResource" event
2026-01-02 20:02:34 +00:00
Deluan
ec02ddf624
Less warning messages when first running it.
...
They are actually `info` messages
2026-01-02 20:02:34 +00:00