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
Deluan
f0fd8d4e30
No need to check for first time when authenticating. One less SQL call per request
2026-01-02 20:02:32 +00:00
Deluan
7fd15e12cd
Rename app package to nativeapi
2026-01-02 20:00:50 +00:00
Deluan Quintão
5be15bb98b
Refactor routing, changes API URLs ( #1171 )
...
* Make authentication part of the server, so it can be reused outside the Native API
This commit has broken tests after a rebase
* Serve frontend assets from `server`, and not from Native API
* Change Native API URL
* Fix auth tests
* Refactor server authentication
* Simplify authProvider, now subsonic token+salt comes from the server
* Don't send JWT token to UI when authenticated via Request Header
* Enable ReverseProxyWhitelist to be read from environment
2026-01-02 20:00:31 +00:00
Igor Rzegocki
5292bd1779
Reverse proxy authentication support ( #1152 )
...
* feat(auth): reverse proxy authentication support - #176
* address PR remarks
* Fix redaction of UI appConfig
Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 19:33:02 +00:00
Deluan
ea6a9f5701
Only send "refresh" event if SetRating was successful
2026-01-02 19:32:17 +00:00
Deluan
cc789ed92b
Trigger UI refresh on media annotation events: star, setRating and scrobble
2026-01-02 19:32:17 +00:00
Deluan
2e645a3191
Trigger a UI refresh when the scanner finds changes.
...
Closes #1025
2026-01-02 19:32:17 +00:00
Deluan
969e3a91d2
Make MockRepo names more consistent
2026-01-02 19:32:16 +00:00
Yash Jipkate
d910beea75
Add Native Sharing REST API ( #1150 )
...
* Initial draft - UNTESTED
* changes to Save() and Update()
* apply col filter and limit nanoid
* remove columns to not update
2026-01-02 19:32:11 +00:00
Yash Jipkate
daa6ccdef8
Add devEnableShare config option ( #1141 )
...
* add devEnableShare config option
* Toggle in config.js
2026-01-02 19:31:52 +00:00
Deluan
a91dd4716a
Fix updatePlaylist not updating fields comment and public.
...
Fix #1140
2026-01-02 19:31:52 +00:00
Deluan
82be448d37
GetCoverArt returns placeholder if id is missing
...
This mimics Subsonic behaviour, even if it contradicts the API documentation, which states `id` is required
Fixes #1139
2026-01-02 19:31:52 +00:00
Deluan
5970f18249
Include a shared Last.FM api key, providing zero conf ArtistInfo (bio/top songs/similar artists)
2026-01-02 19:31:51 +00:00
Deluan
7b38e33b26
Show name of router in log
2026-01-02 19:31:11 +00:00
Deluan
a7a7d23883
Removed unnecessary code
2026-01-02 19:31:09 +00:00
Deluan
3e56e834a4
Upgrade to go-chi 5
2026-01-02 19:31:07 +00:00
Dnouv
5f014920c2
Replace Feature Policy with Permissions Policy ( #1112 )
...
* Add Permissions Policy
* Remove Display capture option
2026-01-02 19:26:44 +00:00
Deluan
749ef07a01
Fix Bookmarks Subsonic support ( #1099 )
...
JSON responses were incorrect
2026-01-02 19:26:44 +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
7aeb844ad2
Change visibility of helper function
2026-01-02 19:26:42 +00:00
Deluan
fb41ca7a0c
Add test to Login function
2026-01-02 19:26:42 +00:00
Deluan
7a187775e5
Fix create first login
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
Deluan
10e6fa5404
Keepalive must return an ID to be used with dataProvider.getOne
2026-01-02 19:26:40 +00:00
Deluan
8241aa0e13
Add Nginx header to not buffer SSE connection
...
This should allow the Activity Panel, that uses a Server-Side Events/ Event Source connection, to work with default Nginx reverse proxy configuration.
2026-01-02 19:26:38 +00:00