2730 Commits

Author SHA1 Message Date
Deluan
c7f3e20ffb
New Criteria API 2026-01-02 20:08:59 +00:00
Deluan
9fe5ec7663
Add PlayCount and PlayDate columns to PlaylistSongs 2026-01-02 20:08:59 +00:00
Deluan
9aed87531c
Include never played songs in the "not in the last" operator 2026-01-02 20:08:59 +00:00
Deluan
7a8f703eaf
Fix smart playlist refreshing only after the tracks were loaded 2026-01-02 20:08:59 +00:00
Deluan
7eaf3ebb63
Import smart playlists (extension .nsp) 2026-01-02 20:08:59 +00:00
Deluan
9033efc971
Cache smart playlist refreshes for 5 seconds 2026-01-02 20:08:59 +00:00
Deluan
56fb82a29a
First version of SmartPlaylists being generated on demand 2026-01-02 20:08:58 +00:00
Deluan
874926481b
Add methods to Playlist model
Also, don't load genres for Playlists tracks (not necessary for now)
2026-01-02 20:08:58 +00:00
Deluan
2939c96bd8
Reduce number of queries for some playlists operations.
Also allow admins to update/delete playlists from other users in the Subsonic API. Closes #1366
2026-01-02 20:08:58 +00:00
Deluan
3820b5ba1e
Fix time-based tests (again) 2026-01-02 20:08:58 +00:00
Deluan
06ed0b530b
Fix rules serialization 2026-01-02 20:08:58 +00:00
Deluan
c1ba89c0d9
Fix time-based tests 2026-01-02 20:08:58 +00:00
Deluan
898e01013c
Load SmartPlaylists rules from DB 2026-01-02 20:08:58 +00:00
Deluan
b9918e370b
More tests 2026-01-02 20:08:58 +00:00
Deluan
d8adf68ef5
Initial drafts for Smart Playlists 2026-01-02 20:08:58 +00:00
Deluan
f0fc795a9d
Show external links on all resolutions but mobile 2026-01-02 20:08:58 +00:00
Deluan
04beb7af07
Guard against record being undefined. Fix error Cannot read properties of undefined (reading 'id') 2026-01-02 20:08:58 +00:00
Dheeraj Lalwani
830784e948
Adds Lyrics Support to Subsonic API (#1379)
* Add function 'isSynced' that identifies if lyrics are synced or not and add tests for the same

* implement 'getLyrics' which returns lyrics if they exist

Signed-off-by: Dheeraj Lalwani <lalwanidheeraj1234@gmail.com>

* remove timestamps frorom the the lyrics if they are synced, fix filters & clean up code

Signed-off-by: Dheeraj Lalwani <lalwanidheeraj1234@gmail.com>

* add snapshot tests for the 'Lyrics' response & add some clean up

Signed-off-by: Dheeraj Lalwani <lalwanidheeraj1234@gmail.com>

* add tests for 'GetLyrics' function

Signed-off-by: Dheeraj Lalwani <lalwanidheeraj1234@gmail.com>

* update the snapshot test & the test for 'GetLyrics' function

Signed-off-by: Dheeraj Lalwani <lalwanidheeraj1234@gmail.com>
2026-01-02 20:08:58 +00:00
Deluan
12e594db39
Remove double-retching playlist's tracks 2026-01-02 20:08:58 +00:00
Chirag Lulla
e13d958170
Display lyrics on UI if synced lyrics present in metadata (#1406)
Signed-off-by: Chirag Lulla <lullachirag239@gmail.com>
2026-01-02 20:08:58 +00:00
Deluan
3a7a80dc69
Enable new Artist Page by default 2026-01-02 20:08:57 +00:00
Deluan
84c1c0cf68
Guard against record being undefined. Fix error Cannot read properties of undefined (reading 'albumId') 2026-01-02 20:08:57 +00:00
Dnouv
f22e0fed9a
Artist page improvements (#1391)
* Seperate mobile desktop components

* Fix err

* Rename classes and fix some styles

* Add lastFM button and remove console log

* Add Mbiz Icon

* render bio as dangerouslySetInnerHTML and remove unused css classes

* Add Fav and Stars

* Remove unstandardised class selector

* Remove ext link from m view

* Fix naming and simplify rounded styling

* Refactor ArtistShow:

- Extracted DesktopArtistDetails to its own file
- Removed album count as it was incorrect, it is not considering compilations
- Show bio and image from Native API, if it is available, before calling `getArtistInfo`

Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:08:57 +00:00
Deluan
8d97486708
Bump GoLang to 1.17.2 2026-01-02 20:08:57 +00:00
Deluan
22662a1841
Fix ffmpeg bitrate parsing for flac files 2026-01-02 20:08:57 +00:00
certuna
1a61f322c0
Rename manifest.json to manifest.webmanifest (#1399)
* Rename manifest.json to manifest.webmanifest

browser consoles keep complaining that the manifest doesn't have the `.webmanifest` extension.

* FIx manifest.webmanifest references

Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:08:57 +00:00
Deluan Quintão
f3e65a9382
Update README.md 2026-01-02 20:08:57 +00:00
Deluan
17e205467c
Fix semantic classes for currently playing song
Fix #1364
2026-01-02 20:08:57 +00:00
Serguey Parkhomovsky
9827c06025
Fix default volume (#1395)
With the update in #1378, the default volume is now erroneously set to 25% instead of 50%. Remove the Math.pow and set it to 50% instead.
2026-01-02 20:08:57 +00:00
Deluan
66a4892b9b
Add Finnish translation 2026-01-02 20:08:57 +00:00
Deluan Quintão
bedfc7566f
Update translations (#1383)
* Add Persian translation

* Update cs.json (POEditor.com)

* Update fr.json (POEditor.com)

* Update ja.json (POEditor.com)

* Update pt.json (POEditor.com)

* Update ru.json (POEditor.com)

* Update sl.json (POEditor.com)

* Fix "Shared Playlists" pt translation

* Update de.json (POEditor.com)

* Update it.json (POEditor.com)

* Update sl.json (POEditor.com)

* Update es.json (POEditor.com)

* Update zh-Hant.json (POEditor.com)

* Update th.json (POEditor.com)
2026-01-02 20:08:57 +00:00
Deluan
a7b43f9c56
Return playlists sorted in getPlaylists Subsonic endpoint 2026-01-02 20:08:57 +00:00
Deluan Quintão
6ba32a36a1
Add logo to README 2026-01-02 20:08:57 +00:00
Deluan
f47f6dbe28
Bump @testing-library/react from 12.1.1 to 12.1.2 in /ui 2026-01-02 20:08:57 +00:00
Deluan
1d518dec8d
Bump react-icons from 4.2.0 to 4.3.1 in /ui 2026-01-02 20:08:56 +00:00
Deluan
4b4aea6e84
Revert: Small optimization in genre mapping 2026-01-02 20:08:56 +00:00
Dnouv
244aabf759
Fix layout error in ArtistShow (#1387) 2026-01-02 20:08:56 +00:00
Deluan
015628ca7f
Bump github.com/djherbis/atime to v1.1.0 2026-01-02 20:08:55 +00:00
Deluan
8a303c7964
Sort songs by artist/album/disc/track_number before adding to playlist 2026-01-02 20:08:31 +00:00
Deluan
fc86177045
Limit number of playlists displayed in the sidebar, to avoid UI freezes 2026-01-02 20:08:31 +00:00
Deluan
6dd04a709f
Enable DevSidebarPlaylists by default.
Closes #771
2026-01-02 20:08:31 +00:00
Deluan
cf4cf12441
Check permissions before adding songs to playlists 2026-01-02 20:08:31 +00:00
Deluan
6740708313
Add songs to playlists with drag and drop 2026-01-02 20:08:31 +00:00
dependabot[bot]
36da838fe6
Bump golang.org/x/tools from 0.1.6 to 0.1.7 (#1382)
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.1.6 to 0.1.7.
- [Release notes](https://github.com/golang/tools/releases)
- [Commits](https://github.com/golang/tools/compare/v0.1.6...v0.1.7)

---
updated-dependencies:
- dependency-name: golang.org/x/tools
  dependency-type: direct:production
  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 20:08:29 +00:00
Deluan Quintão
f50e521fec
Check goimports in the pipeline (#1381)
* Check goimports in the pipeline

* Check goimports in the pipeline

* Check goimports in the pipeline

* go mod tidy

* wip

* wip

* Fix goimports and go:build tags

* Run golangci-lint before goimports
2026-01-02 20:08:02 +00:00
dependabot[bot]
449742a968
Bump react-router-dom from 5.2.0 to 5.3.0 in /ui (#1330)
Bumps [react-router-dom](https://github.com/ReactTraining/react-router) from 5.2.0 to 5.3.0.
- [Release notes](https://github.com/ReactTraining/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ReactTraining/react-router/compare/v5.2.0...v5.3.0)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  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:08:02 +00:00
Deluan
0f947643be
Bump react-admin to 3.18.3 2026-01-02 20:08:02 +00:00
Igor Rzegocki
ef5acd6363
Use local copy of workbox service worker scripts (#1358)
* Use local copy of workbox service worker scripts

* Refactor workbox integration:

- Only add prod js, without maps. Reduces the size from 170k to 24k
- Removed it from build. As it is small now, we can add it to source, and have a script to just update it whenever it is required
- Fixed relative paths in navidrome-service-worker.js, should now work with BaseUrl != ''

Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:08:02 +00:00
Deluan
d67e9f3079
Preload next song 2026-01-02 20:08:02 +00:00
Deluan
24d8c0ca88
Fix genre update chunking 2026-01-02 20:08:01 +00:00