Commit Graph

78 Commits

Author SHA1 Message Date
jeffvli a7430dae31 temp 2025-09-07 12:24:21 -07:00
jeffvli 98e8bda45d progress on subsonic api 2025-09-07 12:24:20 -07:00
jeffvli f1c011f677 temp progress 2025-09-07 12:21:06 -07:00
jeffvli a3a67d20a9 fix imports 2025-09-07 12:18:33 -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
Jeff c1330d92b2 Migrate to Mantine v8 and Design Changes (#961)
* mantine v8 migration

* various design changes and improvements
2025-06-24 00:04:36 -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 9db2e51d2d reorganize global types to shared directory 2025-05-26 17:18:56 -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
Kendall Garner b0d86ee5c9 Support tags, and better participants for servers
- Parses `tags` for Navidrome (mapping string: string[])
- Parses `Tags` (and fetches for it) for Jellyfin (map a string to empty, and display as a bool)
- Clean parsing of participants for Navidrome/Subsonic
- Only show `People` for Jellyfin, not clickable
2025-05-17 21:35:58 -07:00
Kendall Garner 39c714a137 navidrome cover art workaround 2025-05-15 19:10:15 -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
Kendall Garner c6d7dc0b32 prepare bfr changes (#882)
* prepare bfr changes

* contributors to subsonic/navidrome

* show performer roles

* Add BFR smart playlist fields

* Fix upload-artifact action to handle v4

---------

Co-authored-by: jeffvli <jeffvictorli@gmail.com>
2025-03-09 16:55:27 -07:00
jeffvli e57232f89c fix array parameter parsing for subsonic client 2024-12-31 05:56:34 -08:00
Penelope Gwen / Pogmommy ae65922253 decoded plaintext credentials before params get re-encoded in ssApiClient (#862) 2024-12-19 20:31:07 -08: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
jeffvli 8ec4551b46 Encode credential for subsonic stream/coverart (#841) 2024-11-13 17:54:54 -08:00
jeffvli d3480a86c3 Fix release date parsing to use UTC (#794) 2024-10-15 03:15:59 -07:00
jeffvli 12b66e5fa0 Convert subsonic coverart property to string (#795) 2024-10-14 19:36:51 -07: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 4c49e403ab make headers optional? 2024-09-16 19:57:59 -07:00
Kendall Garner 528bef01f0 provide transcoding support 2024-09-01 08:26:30 -07:00
Kendall Garner 9923c021fa better album dates 2024-08-25 19:52:44 -07:00
Kendall Garner c4677a63f6 [enhancement]: allow downloading individual tracks for external use 2024-08-25 17:11:24 -07:00
Kendall Garner c36f0a055d [enhancement]: parse replaygain from subsonic endpoints where available 2024-04-27 22:20:42 -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