765 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
6b309c863f
Always use httpClient to call APIs 2026-01-02 20:02:34 +00:00
Deluan
81b87e9ff6
Only refetch changed resources when receive a "refreshResource" event 2026-01-02 20:02:34 +00:00
Deluan
cdbb315c3c
Removed the albumSong workaround, as React-Admin's cache seems to behave better now 2026-01-02 20:02:34 +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
cc789ed92b
Trigger UI refresh on media annotation events: star, setRating and scrobble 2026-01-02 19:32:17 +00:00
Deluan
5d4d36553a
Refactor for readability 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
dependabot[bot]
14a1efd240
Bump @testing-library/jest-dom from 5.12.0 to 5.13.0 in /ui (#1162)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.12.0 to 5.13.0.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v5.12.0...v5.13.0)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-02 19:32:17 +00:00
dependabot[bot]
751a64275a
Bump prettier from 2.3.0 to 2.3.1 in /ui (#1161)
Bumps [prettier](https://github.com/prettier/prettier) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.3.0...2.3.1)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-02 19:32:17 +00:00
Deluan
c74d8cda14
Remove unused web-vitals package 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
3b87ed8c1f
Refactoring to make common components usage more uniform 2026-01-02 19:31:51 +00:00
Aldrin Jenson
1ee93c9da6
Fix lag on albumList toggling (#1136) 2026-01-02 19:31:51 +00:00
Deluan
84c7cf0d5f
Upgrade to Node v16 2026-01-02 19:31:50 +00:00
Deluan
a59e80060b
Bump @material-ui/lab from 4.0.0-alpha.57 to 4.0.0-alpha.58 in /ui 2026-01-02 19:31:12 +00:00
Deluan
78221a5004
Bump @testing-library dependencies 2026-01-02 19:31:11 +00:00
Deluan Quintão
a5b589ebb8
Upgrade Web UI to Create-React-App 4 and React 17 (#1105)
* Upgrade to CRA 4.0.3

* Try to fix tests. No lucky

* Fix new ESLint errors

* Fix JS tests and remove unwanted dependency. (#1106)

* Fix tests

* Fix lint

* Remove React v16 workaround (fixed in v17)

* Force eslint to break on warnings

* Lint now needs to be called explicitly in the pipeline

Co-authored-by: Yash Jipkate <34203227+YashJipkate@users.noreply.github.com>
2026-01-02 19:31:11 +00:00
Deluan
f33e4341aa
Rename List view mode to Table 2026-01-02 19:31:11 +00:00
Deluan
d0dd247760
Bump React-Admin to 3.15.2 2026-01-02 19:31:11 +00:00
Aldrin Jenson
f8ce50ea6d
Option to toggle fields in songs, albums & artists (#923)
* Add toggleColumns

- Add logic for toggling columns
- Add MenuComponent + useSelectedFields hook

* Refactoring

* eslint-fixes

* Typo

* skip menu in albumGridView

* add omittedFields

* Add toggling for playlists and albumSong

* Refactoring

* defaultProps - fix

* Add toggling for PlaylistSongs

* remove accidental console log

* Refactoring for future compatibility

* Hide ToggleMenu in albumGridView

* Add TopBarComponent in ToggleFieldsMenu

* Add defaultOff for useSelectedFields

* Fix edge case

* eslint fix

* Refactoring

* Add propType for forwardRef

* Fix issues

* add translation for grid and table

* add translation for grid and table

* Ignore menuBtn for spotify-ish and Ligera themes

* hide bpm by default in playlistSongs

* Add memoization

* Default album view must be Grid

Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 19:31:11 +00:00
Deluan
30f7f1d189
Bump react-jinke-music-player from 4.24.0 to 4.24.1 in /ui 2026-01-02 19:31:11 +00:00
Deluan
9d5755f5ba
Remove md5-hex wrapper and use blueimp-md5 directly 2026-01-02 19:31:10 +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
dependabot[bot]
7e537d4208
Bump lodash from 4.17.19 to 4.17.21 in /ui (#1110)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.19...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-02 19:31:10 +00:00
Deluan
c2fb9b3c46
Add explicit dependency for inflection 2026-01-02 19:31:10 +00:00
Dnouv
5330639488
Fix Ligera Error (#1117)
* Fix Ligera Error

* Run make setup
2026-01-02 19:31:10 +00:00
Deluan
1079828446
Bump react-admin to 3.15.1 2026-01-02 19:31:10 +00:00
Deluan
d6b6358206
Add more explicit npm dependencies 2026-01-02 19:31:09 +00:00
Deluan
fd266bfcb4
Remove dependency on lodash.get 2026-01-02 19:31:09 +00:00
Deluan
e911059af7
Add explicit npm dependencies 2026-01-02 19:31:09 +00:00
Deluan
26ed9bc57b
Do not use ra-core directly 2026-01-02 19:31:09 +00:00
Deluan
dbd3491850
Only setup event stream when mounting the app 2026-01-02 19:31:09 +00:00
Dnouv
75b7d861c4
Fix PWA notification toolbar color (#1083)
* Fix PWA notification color

* Add React hook

* Convert component into a hook

Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 19:31:09 +00:00
Deluan
9dfc5e604a
Upgrade prettier to 2.3.0
Some reformatting was needed... :/
2026-01-02 19:31:09 +00:00
Aniket Biswas
289dfd5377
Restart Current Song on previous (#1104)
* fixed on previous song behaviour

* rebased with master
2026-01-02 19:26:44 +00:00
Deluan
e6441d794a
Bump react-jinke-music-player from 4.21.2 to 4.24.0 in /ui 2026-01-02 19:26:44 +00:00
Deluan
3a93914ec3
Fix(?) possible TypeError 2026-01-02 19:26:44 +00:00
Samarjeet
e8a63c50cb
Fix Spotify-ish playlist title is cut off (#1094) 2026-01-02 19:26:44 +00:00
dependabot[bot]
688c44bd77
Bump @testing-library/user-event from 13.1.5 to 13.1.8 in /ui (#1082)
Bumps [@testing-library/user-event](https://github.com/testing-library/user-event) from 13.1.5 to 13.1.8.
- [Release notes](https://github.com/testing-library/user-event/releases)
- [Changelog](https://github.com/testing-library/user-event/blob/master/CHANGELOG.md)
- [Commits](https://github.com/testing-library/user-event/compare/v13.1.5...v13.1.8)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-02 19:26:43 +00:00
Deluan
cbc480a615
Fix possible TypeError 2026-01-02 19:26:43 +00:00
Brian Schrameck
4264a5c6ef
BPM metadata enhancement (#1087)
* BPM metadata enhancement

Related to #1036.

Adds BPM to the stored metadata about MediaFiles.

Displays BPM in the following locations:
- Listing songs in the song list (desktop, sortable)
- Listing songs in playlists (desktop, sortable)
- Listing songs in albums (desktop)
- Expanding song details

When listing, shows a blank field if no BPM is present. When showing song details, shows a question mark.

Updates test MP3 file to have BPM tag. Updated test to ensure tag is read correctly.

Updated localization files. Most languages just use "BPM" as discovered during research on Wikipedia. However, a couple use some different nomenclature. Spanish uses PPM and Japanese uses M.M.

* Enhances support for BPM metadata extraction

- Supports reading floating point BPM (still storing it as an integer) and FFmpeg as the extractor
- Replaces existing .ogg test file with one that shouldn't fail randomly
- Adds supporting tests for both FFmpeg and TagLib

* Addresses various issues with PR #1087.

- Adds index for BPM. Removes drop column as it's not supported by SQLite (duh).
- Removes localizations for BPM as those will be done in POEditor.
- Moves BPM before Comment in Song Details and removes BPM altogether if it's empty.
- Omits empty BPM in JSON responses, eliminating need for FunctionField.
- Fixes copy/paste error in ffmpeg_test.
2026-01-02 19:26:43 +00:00
Deluan
02e46a151c
Fix possible TypeError 2026-01-02 19:26:43 +00:00
Deluan
f2c25ea3d1
Fix Album Grid flickering 2026-01-02 19:26:43 +00:00
Deluan
8c71394d36
Fix QuickFilter by favourites in Album/All view 2026-01-02 19:26:43 +00:00
Deluan
3ca2c5d0f6
Fix missing translation error in console. Closes #1038 2026-01-02 19:26:43 +00:00
Deluan
372ab2ddab
Upgrade React-Admin to 3.15.0 2026-01-02 19:26:43 +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
dd2915b105
Fix Transcodings menu 2026-01-02 19:26:42 +00:00