937 Commits

Author SHA1 Message Date
Aleksey Lobanov
8f5a984e56
Optimize static images (#1941)
.png files were processed with `optipng -o7` command
2026-01-02 20:15:59 +00:00
Deluan
66200b90e7
Round song duration (instead of truncating it). Relates to #1926 2026-01-02 20:15:59 +00:00
Deluan
48c0a19b83
Add Linkify test 2026-01-02 20:15:59 +00:00
Deluan
975925af96
Linkify urls in playlist comments 2026-01-02 20:15:59 +00:00
Deluan
013436a2d4
Linkify urls in album comments. Fixes #1053, supersedes #1570 and #1169
Simple approach, may be extended/enhanced in the future.
2026-01-02 20:15:59 +00:00
Deluan
e6b71c9396
Fix get info dialog in artist page. Closes #1909 2026-01-02 20:15:59 +00:00
Deluan
260813a4b8
Don't allow adding songs to smart playlists 2026-01-02 20:15:58 +00:00
Renere
f3decf89ee
Nord Theme - Make links have a different colour (#1900) 2026-01-02 20:15:58 +00:00
Renere
2bfa6c6a52
Add Nord Theme. Closes #1158 and supersedes #1159 (#1899).
* Re-add tpbnick's Nord theme

* Run Prettier formatter on Nord theme

* Update themes index

* Fix button margins

* Modernise the look of switches

* Adjust margins and padding

* Fix sidebar's background colour not applying to all of sidebar when scrolling down

* Adjust App Bar box shadow

* Adjust roundedness

* Adjust shadows

* Adjust outlined inputs

* Add transitions to items in sidebar when hovered / losing hover

* Adjust border radiuses

* Adjust pagination buttons

* Add big play button from Spotify theme

* Remove playlist background gradient

* Adjust colour of MuiChip elelments

* Adjust table borders

* Remove duplicate MuiTableRow key

* Attempt to make switches in both the playlist section and settings section visable against background & the toggle. Not ideal.

* Style the player

* Format CSS to Prettier standards

* Fix mobile player style

* Make play button in album grid view blue

* Make main view background lighter
2026-01-02 20:15:58 +00:00
William Lohan
d65d48b490
Add theme Electric Purple (#1889)
* add theme file

add theme file electricPurple.js

* import theme file 

import theme file  electricPurple

* add electricPurple.css.js
2026-01-02 20:15:58 +00:00
Deluan
738e3702bf
Update browserlist db 2026-01-02 20:15:57 +00:00
Steve Richter
c365658217
Allow ExternalLink icons to be styled (#1503)
* Allow ArtistExternalLink icons to be styled

* Allow AlbumExternalLink icons to be styled

* Standardize external links' classes to kebab-case

Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:15:57 +00:00
Deluan
e857eaa3c2
Show AlbumArtist in Album table view. Fixes #1626 2026-01-02 20:15:57 +00:00
joaomqc
305cd0a781
fix(UI): Warn if track is already present when adding to playlist - 1604 (#1897)
* fix(UI): Warn if track is already present when adding to playlist - 1604

Signed-off-by: joaomqc <joaomqc@hotmail.com>

* fix tests

Signed-off-by: joaomqc <joaomqc@hotmail.com>

Signed-off-by: joaomqc <joaomqc@hotmail.com>
Co-authored-by: João Coelho <1120458@isep.ipp.pt>
2026-01-02 20:15:57 +00:00
Deluan
805dd9cfe4
Bump redux and react-redux versions 2026-01-02 20:15:57 +00:00
Evan.Shu
6b2c9a1c75
Fix add playlist dialog (#1758) 2026-01-02 20:15:57 +00:00
Deluan
4643596a58
npm audit fix 2026-01-02 20:15:57 +00:00
dependabot[bot]
d02d17ed42
Bump @testing-library/jest-dom from 5.15.0 to 5.16.5 in /ui (#1836)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.15.0 to 5.16.5.
- [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.15.0...v5.16.5)

---
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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-02 20:15:57 +00:00
Deluan
2f7d8d2032
Fix new test-library eslint errors 2026-01-02 20:15:57 +00:00
Deluan
aebca52163
Upgrade react-scripts to 5.0.1
This also upgrades WebPack to v5, which should fix the issue #1768
2026-01-02 20:15:57 +00:00
Deluan
ece0307831
Don't reset language to default after logout 2026-01-02 20:15:30 +00:00
Deluan
74a62a3973
New config DefaultLanguage. Closes #1561 2026-01-02 20:15:29 +00:00
Deluan
ca2af93cc5
Update caniuse-lite 2026-01-02 20:14:22 +00:00
Matt Doyle
19d7022a2a
Fixes a coloring glitch with the Monokai theme "unauthorized" popup (#1670)
* Fixes the coloring on the Monokai theme auth popup

* Indentation fix
2026-01-02 20:11:58 +00:00
Matt Doyle
32ece4faab
Adds a Monokai theme (#1669)
* Adds a new Monokai theme

* Deletes a commented-out line
2026-01-02 20:11:58 +00:00
Deluan
8bdc7690d7
Fix translatable label 2026-01-02 20:11:58 +00:00
Steve Richter
bcec5ee3de
Handle invalid theme in ui state (#1504) 2026-01-02 20:11:58 +00:00
Deluan
302272a34a
Fix TypeError: Cannot read property 'id' of undefined 2026-01-02 20:11:57 +00:00
Deluan
971aed45a5
Trying to fix multiple EventStream connections, one more time 2026-01-02 20:11:57 +00:00
Deluan
cd1d75e2e2
Connect eventStream after login 2026-01-02 20:11:57 +00:00
Deluan
b3edc089eb
Try to avoid creating multiple eventStreams 2026-01-02 20:11:57 +00:00
dependabot[bot]
9d9bc607dd
Bump @testing-library/jest-dom from 5.14.1 to 5.15.0 in /ui (#1456)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.14.1 to 5.15.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.14.1...v5.15.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 20:11:57 +00:00
Deluan
d83452b6f1
Set volume to 100% when web player is in mobile mode.
Fix #1429
2026-01-02 20:11:39 +00:00
Deluan
7359cdaac4
Fix sorting albums by year (should use name as secondary sort field).
Relates to https://github.com/navidrome/navidrome/issues/961#issuecomment-967624681
2026-01-02 20:11:38 +00:00
Steve Richter
babc48c29d
Rename ListenBrainz config flag and enable by default (#1443) 2026-01-02 20:11:36 +00:00
Deluan
2195047877
Remove link from songs to artist (when artist has no albums) 2026-01-02 20:09:31 +00:00
Deluan
50241d9141
Show artist link in Songs lists 2026-01-02 20:09:31 +00:00
dependabot[bot]
714b24eddf
Bump @testing-library/user-event from 13.2.1 to 13.5.0 in /ui
Bumps [@testing-library/user-event](https://github.com/testing-library/user-event) from 13.2.1 to 13.5.0.
- [Release notes](https://github.com/testing-library/user-event/releases)
- [Changelog](https://github.com/testing-library/user-event/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/user-event/compare/v13.2.1...v13.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-02 20:09:30 +00:00
Deluan
c3664f5964
Add bulk action to make playlists private/public
Better responsiveness
2026-01-02 20:09:03 +00:00
Deluan
493bb640e6
Remove some duplicated code 2026-01-02 20:09:02 +00:00
Deluan
42e7f00a65
Remove "Show" button from PlaylistEdit view 2026-01-02 20:09:02 +00:00
Deluan
caeac18d2a
Allow changing playlist's owner. Relates to #698 2026-01-02 20:09:02 +00:00
Deluan
23fa956d6b
Add owner_id to playlist 2026-01-02 20:09:02 +00:00
Deluan
0bebaecfe5
Add artist image lightbox 2026-01-02 20:09:02 +00:00
Steve Richter
310ce67c2e
Listenbrainz scrobbling (#1424)
* Refactor session_keys to its own package

* Adjust play_tracker

- Don't send external NowPlaying/Scrobble for tracks with unknown artist
- Continue to the next agent on error

* Implement ListenBrainz Agent and Auth Router

* Implement frontend for ListenBrainz linking

* Update listenBrainzRequest

- Don't marshal Player to json
- Rename Track to Title

* Return ErrRetryLater on ListenBrainz server errors

* Add tests for listenBrainzAgent

* Add tests for ListenBrainz Client

* Adjust ListenBrainzTokenDialog to handle errors better

* Refactor listenbrainz.formatListen and listenBrainzRequest structs

* Refactor agent auth_routers

* Refactor session_keys to agents package

* Add test for listenBrainzResponse

* Add tests for ListenBrainz auth_router

* Update ListenBrainzTokenDialog and auth_router

* Adjust player scrobble toggle
2026-01-02 20:09:02 +00:00
Steve Richter
63fa7c179f
Only reset player scrobbled state on track change or end (#1432)
* Only reset player scrobbled state on track change or end

* Only reset player start time on track change or end
2026-01-02 20:09:02 +00:00
Deluan
1945939ee3
Fix TypeError: Cannot read properties of undefined (reading 'length') 2026-01-02 20:09:02 +00:00
Deluan
cd2d87c248
Update caniuse-lite 2026-01-02 20:09:01 +00:00
Deluan
517c900602
Filter playlists by names and comments 2026-01-02 20:09:01 +00:00
Deluan
fe4fc37b98
Use refetch when changing the playlist (as opposed to a full refresh) 2026-01-02 20:09:01 +00:00