Commit graph

50 commits

Author SHA1 Message Date
jeffvli
c7a473d864 refactor api controller to internalize server fetch 2025-11-02 21:56:35 -08:00
jeffvli
8dbaec3943 fix type errors 2025-11-02 04:27:44 -08:00
Lyall
4dd52b0cef
feat: Add explicit status for Navidrome and OpenSubsonic (#1220)
* add navidrome explicit status

* add ExplicitStatus enum and support opensubsonic

* add explicit status to cards
2025-10-26 13:48:45 +00:00
Kendall Garner
1cbb3e56bc
add recently released to home page, refactor home route 2025-10-05 07:51:36 -07:00
Kendall Garner
1d46cd5ff9
client-side only sort for all playlists (#1125)
* initial client-side only sort for all playlists

* allow reordering jellyfin (assume it works properly) and navidrome

* on playlist page, add to queue by sort order
2025-09-17 21:06:30 -07:00
Kendall Garner
56130d8503
fix subsonic login error: use status instead 2025-07-08 16:42:30 -07:00
Kendall Garner
4407c8d424
convert query="" to query= for subsonic 2025-07-08 14:42:49 -07:00
Kendall Garner
58bb8e716e
undo that change, remove magic numbers 2025-07-08 11:26:07 -07:00
Kendall Garner
0becfd4b59
subsonic limit to 500 2025-07-08 08:30:31 -07:00
Kendall Garner
176a95a946
Compilation support for Jellyfin artist albums, misc other album filter fixes
- Jellyfin will use `ContributingArtistsId` (compilation), `AlbumArtistIds` (compilation is false), or `ArtistIds` (unspecified; all)
- Jellyfin can filter by compilation _only_ on the artist discography page
- Navidrome album filter fix for `defaultValue` display and prevent showing `tagQuery` 0 when querying
- Subsonic can filter by one or more artists in the album page. Sort is also applied on these items
- Bump genre/tag cache/stale time to 2/1 minutes
- Fix various cases where the album filter would display as active when it wasn't
2025-07-02 07:44:57 -07:00
Kendall Garner
b88671161a
actually actually fix album list count for subsonic artists 2025-06-30 07:19:34 -07:00
Kendall Garner
b5bdea1845
actually fix subsonic album count 2025-06-29 20:35:06 -07:00
Kendall Garner
87c9963354
fix subsonic album artist and album list count 2025-06-20 18:35:11 -07:00
jeffvli
930165d006 fix all imports for new structure 2025-05-26 17:20:02 -07:00
jeffvli
1cf587bc8f restructure files onto electron-vite boilerplate 2025-05-26 17:18:55 -07:00
Kendall Garner
e1aa8d74f3
Tag filter support
- Jellyfin: Uses `/items/filters` to get list of boolean tags. Notably, does not use this same filter for genres. Separate filter for song/album
- Navidrome: Uses `/api/tags`, which appears to be album-level as multiple independent selects. Same filter for song/album
2025-05-18 09:23:52 -07:00
jeffvli
6f7cb468b2 fix regression on subsonic album artist play 2025-05-07 20:59:16 -07:00
Kendall Garner
781d8055b5
minor artist count fixes 2025-05-07 19:53:23 -07:00
Kendall Garner
c376293f2f
always add all artists to subsonic 2025-04-23 23:33:58 -07:00
Kendall Garner
e84a4b20bc
add artist list 2025-04-23 23:27:06 -07:00
jeffvli
ca58551b94 Make client param on SS/ND queries consistent 2024-12-19 17:15:07 -08:00
Mitja Ševerkar
8eb8290fc4
Fix URL encoding on Subsonic (#850)
* Revert "Encode credential for subsonic stream/coverart (#841)"

This reverts commit 8ec4551b46.

* Properly URL encode credentials on Subsonic

Previous commit (8ec4551b46) has been reverted, as it has encoded even equal signs (=), and and signs (&), which should not have been encoded. Nextcloud Music has subsequently failed to receive separate username and password and has therefore failed whilst authenticating the user.

Example of URL beforehand:
https://cloud.example.com/index.php/apps/music/subsonic/rest/stream.view?id=track-4936&v=1.13.0&c=feishin_&u%3Dtest-test%40example.com%26p%3Dpassword

Example of URL now:
https://cloud.example.com/index.php/apps/music/subsonic/rest/stream.view?id=track-4936&v=1.13.0&c=feishin_&u=test-test%40example.com&p=password
2024-11-19 19:00:53 -08:00
Kendall Garner
b3b810c62c
funkwhale bodge 2024-10-01 17:21:28 -07:00
jeffvli
107074b240 Fix subsonic album list sort options 2024-09-28 21:35:32 -07:00
jeffvli
c96f5b207d Handle subsonic endpoints that potentially return optional response when no items 2024-09-26 11:14:06 -07:00
Kendall Garner
8cddbef701
Subsonic 2, general rework (#758) 2024-09-25 21:23:08 -07:00
Kendall Garner
528bef01f0
provide transcoding support 2024-09-01 08:26:30 -07:00
Kendall Garner
c4677a63f6
[enhancement]: allow downloading individual tracks for external use 2024-08-25 17:11:24 -07:00
Kendall Garner
14086ebc9c
improve similar items fallback, make ND album artist for song actually album artist, fix full screen race 2024-04-08 08:49:55 -07:00
jeffvli
a7a5b92011 Adjust server feature naming convention 2024-03-05 14:12:37 -08:00
jeffvli
a9315be259 Rename features types file 2024-03-05 14:05:01 -08:00
Kendall Garner
73845a9432
[enhancement]: better version checks for lyrics, Navidrome (#529)
- Actually make serverfeatures partial
- Navidrome: only set multiple structured lyrics if extension exists
- Navidrome/Subsonic: minor type checking of OS extension (Navidrome implementation detail)
- Jellyfin: add separate knob for lyrics. Note, this should also probably be behind some version check...
2024-03-05 00:31:51 -08:00
Jeff
132b0e173f
Merge branch 'development' into related-similar-songs 2024-03-04 05:04:54 -08:00
jeffvli
f1f6ccfd02 Normalize server feature set 2024-03-03 22:15:49 -08:00
Kendall Garner
3a116e938e
omit song from similar list, handle subsonic error 2024-02-19 10:09:05 -08:00
Kendall Garner
f81bea339b
don't pass song all the way down 2024-02-19 09:55:37 -08:00
Kendall Garner
af90d07414
bugfix 2024-02-19 08:56:06 -08:00
Kendall Garner
025124c379
[enhancement]: Make related tab on full screen player useful
Resolves #50. Adds a new set of components for fetching similar songs
from the current playing song. For Jellyfin, use the `/items/{itemId}/similar`
endpoint (may not work well for small libraries), and for Navidrome/Subsonic
use `getSimilarSongs`. _In theory_, this component can be used to get similar
songs anywhere.
2024-02-19 08:53:50 -08:00
Kendall Garner
46cc1a635f
address changes 2024-02-03 21:22:03 -08:00
Kendall Garner
73cd647486
os lyrics 2024-02-01 23:53:10 -08:00
Kendall Garner
9720fcc202
add server info query 2024-02-01 08:17:31 -08:00
jeffvli
30e52ebb54 Lint all files 2023-07-01 19:14:12 -07:00
jeffvli
4167af098f Various cleanup 2023-06-14 00:12:10 -07:00
jeffvli
de50002ea7 Add random song list query 2023-05-21 07:30:28 -07:00
jeffvli
c4fb9a2e72 Add song detail controller 2023-05-20 02:08:37 -07:00
jeffvli
32ebe6b739 Add subsonic/nd search api 2023-05-20 02:08:37 -07:00
jeffvli
40aabd2217 Additional refactor for navidrome api controller types 2023-04-30 17:55:23 -07:00
jeffvli
17cf624f6a Add generic query/mutation types 2023-04-27 20:32:56 -07:00
jeffvli
8f042ad448 Pass full server to controller 2023-04-25 16:25:26 -07:00
jeffvli
bec328f1f4 Add Subsonic API and types 2023-04-24 01:21:29 -07:00