302 Commits

Author SHA1 Message Date
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
Deluan
f902fa1c59
Add config option to set default theme 2026-01-02 19:26:38 +00:00
Ayush Naidu
9e12cc9003
Replaced literal 302 with http constant (#1006) 2026-01-02 19:26:37 +00:00
Neil Chauhan
263fffc067
Add 5-star rating system(#986)
* Added Star Rating functionality for Songs

* Added Star Rating functionality for Artists

* Added Star Rating functionality for AlbumListView

* Added Star Rating functionality for AlbumDetails and improved typography for title

* Added functionality to turn on/off Star Rating functionality for Songs

* Added functionality to turn on/off Star Rating functionality for Artists

* Added functionality to turn on/off Star Rating functionality for Albums

* Added enableStarRating to server config

* Resolved the bugs and improved the ratings functionality.

* synced repo and removed duplicate key

* changed the default rating size to small, and changed the color to match the theme.

* Added translations for ratings, and Top Rated tab in side menu.

* Changed rating translation to topRated in albumLists, and added has_rating filter to topRated.

* Added empty stars icon to RatingField.

* Added sortable=false in AlbumSongs and added sortByOrder=DESC in all List components.

* Added translations for rating, for artists and albums, and removed the sortByOrder=DESC from SimpleLists.
2026-01-02 19:26:36 +00:00
Deluan
e7082df09e
Add support for artist 5-star rating in Subsonic API 2026-01-02 19:26:36 +00:00
Deluan
60e66ad6d6
Get lossless format list from server 2026-01-02 19:26:36 +00:00
harshavardhanpb
f87e7bcdf1
Rename diodo_test.go to diode_test.go (#956)
Simple typo fix
2026-01-02 19:23:05 +00:00
Deluan
181e8c347d
Fix UI loading redirections. Should fix #906 2026-01-02 19:23:04 +00:00
Neil Chauhan
3fd88cc913
Enable turn on/off Favorites/Loved feature. (#917)
* Added option to enable/disable favorites in Song

* Added option to enable/disable favorites in Artist

* Added option to enable/disable favorites in Albums and Favorites tab in sidebar

* Added option to enable/disable favorites in Player

* Set default value of enableFavourites as true

* Improved the functionality to enable/disable Favorites

* Add `EnableFavourites` config option

Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 19:23:04 +00:00
Yash Jipkate
77e6b3bb78
Add / to _ mapping for paths based on tags. (#888)
Closes  #592
2026-01-02 19:23:04 +00:00
Josep Mª Domingo
0f6a167eb1
Move logger middleware to capture routing errors (ex: 405). (#877)
* Fix #836

* Remove requestLogger middleware from MountRouter
2026-01-02 19:23:03 +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 Quintão
165af5b850
Remove dependency of go-bindata (#818)
* Use new embed functionality for serving UI assets

* Use new embed functionality for serving resources. Remove dependency on go-bindata

* Remove Go 1.15
2026-01-02 19:22:04 +00:00
Deluan
99dbe34d0f
Use a Waiter diode, to avoid constant CPU usage. Fixes #777 2026-01-02 19:21:29 +00:00
Deluan
8be485ab3e
Update list of Not Implemented / Gone Subsonic API endpoints 2026-01-02 19:21:28 +00:00
Deluan
fdd9a94144
Rename ExternalInfo to ExternalMetadata 2026-01-02 19:21:28 +00:00
Deluan
0a94249d38
Move utilitarian/generic packages to utils: lastfm, spotify, gravatar, cache, and pool 2026-01-02 19:21:28 +00:00
Deluan
10cf2372f8
Move project to Navidrome GitHub organization 2026-01-02 19:20:16 +00:00
Deluan
685fa0427d
Add tests to diode 2026-01-02 19:20:16 +00:00
Deluan
de79918128
Add test to Event 2026-01-02 19:20:16 +00:00
Deluan
7106add40c
Removed event.type from SSE, as it was causing the browser to hang.
Needs more investigation, but for now, back to the simple message format
2026-01-02 19:20:16 +00:00
Deluan
6acf2becb0
Logging when triggering manual scan 2026-01-02 19:20:15 +00:00