228 Commits

Author SHA1 Message Date
Deluan
3a7a80dc69
Enable new Artist Page by default 2026-01-02 20:08:57 +00:00
Deluan
6dd04a709f
Enable DevSidebarPlaylists by default.
Closes #771
2026-01-02 20:08:31 +00:00
Deluan
39915e1da9
Fix harmless error message in logs when ScanSchedule set was "0"
Message:
`ERRO[0000] Error scheduling periodic scan                error="expected exactly 5 fields, found 1: [0]"`
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
Deluan
e4bcb90672
Only import playlists from configured paths in option PlaylistsPath. Closes #1181
Syntax is Ant-style Globs, with support for '**' (any subfolder). Default: '.:**' (or '.;**' in Windows`, meaning all folders and subfolders under `MusicFolder`
2026-01-02 20:06:54 +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
caiocotts
4f35ec6dae
Use wchar_t for TagLib filenames on Windows (#1310)
* Use wchar_t for tagLib filenames on Windows

* Make TagLib default extractor for all platforms.

* Organize imports

Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:06:33 +00:00
Deluan
35541cb53f
Allow 0 value to disable ScanSchedule.
Seems that Viper does not recognize empty environment vars as valid values

Closes #1274
2026-01-02 20:06:12 +00:00
Deluan
79dfba80cb
Use ffmpeg extractor by default on Windows
This is to avoid issue with unicode chars in filenames. See #810
2026-01-02 20:06:10 +00:00
Deluan
fc8bd68e2d
Abort startup if config file is invalid 2026-01-02 20:06:10 +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
1d7d166ff6
Enable buffered scrobbles by default 2026-01-02 20:06:08 +00:00
Deluan
c399155ffa
Add option to have different loglevels per source folder/file 2026-01-02 20:06:07 +00:00
Deluan
f0d5ed2104
Remove old feature flag for cache layout 2026-01-02 20:05:07 +00:00
Deluan
5f9c7d1507
Add feature flag for buffered scrobbling 2026-01-02 20:05:07 +00:00
Deluan
75cc2580b7
Disable Last.FM features based on LastFM.Enabled config option 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
37f8993291
Fix ND_DEVFASTACCESSCOVERART flag not available as env var 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
c0c229ad72
Expose Last.fm's ApiKey to UI 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
8dc8b5f95b
Option to allow auto-login during development. 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 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
6dbedcfb1d
Respect EnableLogRedacting config when pretty printing configuration 2026-01-02 19:31:52 +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
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
f4523a9452
Restore pretty formatted config options in debug level 2026-01-02 19:31:10 +00:00
Deluan
7ade74df96
Make ScanInterval=0 disable the periodic scan 2026-01-02 19:31:10 +00:00
Deluan
46826791cf
Refactor to remove some nesting 2026-01-02 19:26:44 +00:00
Deluan
d2d780918b
Breaking change: Add ScanSchedule, allows interval and cron based configurations.
See https://pkg.go.dev/github.com/robfig/cron#hdr-CRON_Expression_Format for expression syntax.

`ScanInterval` will still work for the time being. The only situation it does not work is when you want to disable periodic scanning by setting `ScanInterval=0`. If you want to disable it, please set `ScanSchedule=""`

Closes #1085
2026-01-02 19:26:43 +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
504b222167
Fix EnableLogRedacting case 2026-01-02 19:26:42 +00:00
Deluan
b04974dbc6
Add log redacting, controlled by the new EnableLogRedacting config option (default true)
Imported redacting code from https://github.com/whuang8/redactrus (thanks William Huang)
Didn't use it as a dependency as it was too small and we want to keep dependencies at a minimum
2026-01-02 19:26:42 +00:00
Deluan
f902fa1c59
Add config option to set default theme 2026-01-02 19:26:38 +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
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
Deluan
b3adc9844e
Move constant to consts.go file 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
5cc7dbb2ba
Incomplete implementation of agents 2026-01-02 19:21:23 +00:00
Deluan
10cf2372f8
Move project to Navidrome GitHub organization 2026-01-02 19:20:16 +00:00
Deluan
8e68814085
Reenable ImageCache and ActivityPanel as default 2026-01-02 19:20:14 +00:00
Deluan
3e500a67a3
DIsable Image Cache by default.
See: https://github.com/deluan/navidrome/issues/446#issuecomment-736574447
2026-01-02 19:20:09 +00:00
Deluan
85e3756a05
Disable Activity Panel by default.
You'll need to set `DevActivityPanel` (or `ND_DEVACTIVITYPANEL`) to `true` to re-enable it
2026-01-02 19:20:07 +00:00
Deluan
8f789e385a
Only try to check cover art file for lastUpdated if fast access is not set 2026-01-02 19:20:06 +00:00
Deluan
1554541168
Enable activity panel by default 2026-01-02 19:19:36 +00:00
Deluan
3e130aac01
Redesign UserMenu, now with support for Gravatar 2026-01-02 19:19:35 +00:00
Deluan
2c79e4dc86
Add config option to globally enable/disable downloads 2026-01-02 19:19:34 +00:00