jeffvli
db06e7f601
add native nd radio endpoints, support radio station images
2026-04-02 18:26:26 -07:00
jeffvli
7442f9d3ca
support navidrome playlist image upload
2026-04-02 01:23:09 -07:00
jeffvli
a30b1ec90b
add OS transcoding extension
2026-03-31 20:45:22 -07:00
Kendall Garner
68e6e3cf65
feat(playlist): support updating playlist track order ( #1875 )
...
* feat(playlist): support updating playlist track order
* force track mode when editing
* use common confirmation for save
* remove en editPLaylist key
2026-03-27 21:36:08 -07:00
kast3t
6dc58a3ff8
fix playlist sort by id ( #1867 ) ( #1868 )
...
* fix playlist sort by id (#1867 )
2026-03-23 18:27:21 -07:00
jeffvli
615f9c3515
refactor search into individual sections by itemtype, add infinite loader
2026-03-18 00:59:04 -07:00
Lyall
dfdac28f53
Fix server queue saving/restoring on Navidrome and OpenSubsonic ( #1828 )
...
* fix server queue saving
* fix error when attempting to restore empty queue
* queue items optional
* make playQueueByIndex optional
* fix incorrect error message
2026-03-12 13:41:50 +00:00
jeffvli
5b4da3bc29
use batched fetching for nd song list
...
- albumIds get culled from query parameters after a certain number, resulting in not all items fetched
2026-03-11 20:46:49 -07:00
jeffvli
31a201ca32
rewrite Image component
...
- remove react-image dependency
- use manual blob load
- abort load when exiting viewport
2026-03-09 20:49:02 -07:00
jeffvli
17deac8d65
decouple AlbumArtistInfo from AlbumArtistDetail ( #1809 )
2026-03-08 22:06:18 -07:00
jeffvli
9e08157517
add has_rating filter for Navidrome song list
2026-03-06 18:03:14 -08:00
Kendall Garner
30685e7252
fix(subsonic): do favorite filter processing on artist favorite
2026-03-03 06:54:59 -08:00
Kendall Garner
71360e37de
fix(favorites): filter favorite artists on favorite page for Jellyfin
2026-03-02 21:02:24 -08:00
Alexander Welsing
4918b412b2
Album radio ( #1759 )
...
* added album radio feature
---------
Co-authored-by: jeffvli <jeffvictorli@gmail.com >
2026-02-26 20:33:00 -08:00
jeffvli
50fe373f1e
simplify lyrics implementation
...
- removes complex lyrics fetch and override logic, and instead uses a single query as a source of truth for the lyrics
- properly handles loading state, invalidation, and refetch
2026-02-18 20:25:52 -08:00
Alexander Welsing
2c546867a8
change "Fields" query parameter to array ( #1733 )
...
* change "Fields" query parameter to array
* platformToTarget.key() -> to array
2026-02-17 18:45:31 -08:00
jeffvli
91ac36c835
fix Subsonic root folder condition ( #1686 )
...
- some older subsonic servers used numeric ids which causes the rootFolderId regex to fail which resulted in the getFolder endpoint to always attempt to fetch the root
2026-02-13 23:03:24 -08:00
Jeff
e6f49b9f1f
Add album view for playlists ( #1700 )
...
* update client side song ordering to include album order
* add compact styling to LibraryHeader
* move search button to top right of LibraryHeader
2026-02-11 21:48:25 -08:00
Jeff
f39a7f8d6f
Add album detail list view ( #1681 )
2026-02-09 21:56:08 -08:00
jeffvli
fea2966f62
refactor jellyfin field properties and include ProviderIds
2026-02-06 05:17:40 -08:00
jeffvli
2b6b0cb38b
fix artist favorite songs (subsonic)
2026-02-03 23:58:44 -08:00
jeffvli
f56a836ffd
add personal/community toggle for artist top songs ( #1372 )
2026-02-03 23:58:44 -08:00
Alexander Welsing
b4ecf5d257
Update instant mix to use the new items endpoint instead of songs ( #1642 )
...
songs/:itemId:/InstantMix -> items/:itemId/InstantMix
2026-02-03 22:34:34 -08:00
jeffvli
ac5611fdca
add favorite songs section to artist page ( #1604 )
2026-02-02 22:23:38 -08:00
Damien Erambert
55a6ea4fca
Prevent double fetching when force refreshing paginated views ( #1637 )
...
* Prevent double fetching when force refreshing paginated views
* remove await from infinite list loader query invalidation
* add mutation and loading state to list refresh
* add non-suspense query to list genre filters to add loading state
* remove list count data set on random queries
---------
Co-authored-by: jeffvli <jeffvictorli@gmail.com >
2026-02-02 20:25:19 -08:00
Damien Erambert
72fc5beb98
Use a re-usable Intl.Collator instance for locale compare when possible ( #1638 )
...
* Use a re-usable Intl.Collator instance for locale compare
2026-02-02 18:28:01 -08:00
jeffvli
ced3b491ff
add SortName client side sort option ( #1612 )
2026-01-28 20:45:47 -08:00
marank
f016d2cdf4
Cover art support for folder view (Subsonic servers only) ( #1608 )
...
* add coverArt support for subsonic folders
2026-01-23 21:26:51 -08:00
Kendall Garner
45df497ee6
natural numeric sort for tag and disable disc/track total for nd track filter
2026-01-18 17:19:30 -08:00
Kendall Garner
5c06624f8c
Initial work: support showing studios for jellyfin, allow pill to be clickable ( #1566 )
2026-01-18 13:53:34 -08:00
jeffvli
a0e09b80cf
fix missing playlistItemId for subsonic song normalization ( #1564 )
2026-01-18 02:28:31 -08:00
jeffvli
4155cd0963
optimize ND/JF list fetch
...
- no longer requires 2 separate fetches for count and data
- the list count includes the first page so we set the query data directly
2026-01-17 19:57:12 -08:00
jeffvli
27f82aef94
conditionally disable Subsonic list filters based on availability ( #1567 )
2026-01-17 18:20:40 -08:00
Kendall Garner
415cc71f74
fix(jellyfin): use undefined instead of -1 for limit for jellyfin 10.10, fix item-image
2026-01-09 08:11:02 -08:00
Kendall Garner
f465e34ea3
fix(jellyfin): use correct filter for album/artist with small count
2026-01-08 20:32:57 -08:00
jeffvli
6aeec1e89c
add filepath replacement setting ( #1402 )
2026-01-02 01:23:29 -08:00
jeffvli
926b77c770
fix Subsonic artist list broken pagination
2025-12-31 15:55:45 -08:00
jeffvli
37ed99d0fb
optimize artist page load speed
2025-12-31 15:15:30 -08:00
jeffvli
b00f9795bf
add song infinite carousel ( #1464 )
2025-12-31 01:20:04 -08:00
jeffvli
255b9a9c2d
fix lyrics fetch and clear ( #1342 )
...
- split server and remote lyrics into separate queries
- lyrics cache now always contain server lyrics, override will use separate remote query
- clear button is reverted to only clear the override query, and back to server
2025-12-31 01:07:56 -08:00
jeffvli
72d0fca28b
support secondary public server URL
2025-12-30 21:05:38 -08:00
jeffvli
0a54f7c44c
remove similarSongs from autodj when music folder is selected ( #1451 )
...
- Similar songs queries for both Subsonic/Jellyfin do not support querying by musicFolderId
2025-12-28 14:09:22 -08:00
jeffvli
d5d995de5f
fix missing musicFolderId on search ( #1451 )
2025-12-28 13:34:26 -08:00
jeffvli
ef631d12cc
support multiselect for nd album artist_id filter
2025-12-28 06:44:31 -08:00
jeffvli
1a930021b6
handle favorite/update in similarArtists
2025-12-28 03:43:59 -08:00
farfromrefuge
f78a572a3c
fix:music filtering subsonic ( #1442 )
...
* Add musicFolderId filtering for tracks in Subsonic API
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
2025-12-25 14:22:23 -08:00
farfromrefuge
a322717e0e
feat: add artist radio and track radio (in context menu) ( #1437 )
...
* Add API support for artist radio and track radio features
* Add translation strings and settings UI for artist radio count
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: jeffvli <jeffvictorli@gmail.com >
2025-12-23 20:46:19 -08:00
Jeff
25bfb65b6d
Add image URL generation at runtime to allow for dynamic image sizes ( #1439 )
...
* add getImageUrl to domain endpoints
* add new ItemImage component and hooks to generate image url
* add configuration for image resolution based on types
2025-12-23 20:18:52 -08:00
Tiberiu (ELECTRO) Lazăr
f418bbfd2f
Fix API parameter for Jellyfin 10.12 and up ( #1429 )
...
* Fix API parameter for Jellyfin 10.11 and up
---------
Co-authored-by: jeffvli <jeffvictorli@gmail.com >
2025-12-22 19:51:06 -08:00
Benjamin
7a77b9bfe7
feat: show record label copyright at bottom of track listing ( #1421 )
...
* show record label copyright at bottom of track listing
* add recordLabels support for Jellyfin
---------
Co-authored-by: jeffvli <jeffvictorli@gmail.com >
2025-12-22 19:08:35 -08:00