Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Added music support through Lidarr #1238

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

0-Pierre
Copy link

@0-Pierre 0-Pierre commented Jan 8, 2025

Description

Jellyseerr fully support music trough Lidarr 🚀 🎵

Metadata
We’re using the Lidarr API (api.lidarr.audio) to improve speed, as MusicBrainz (MB) often suffers from high latency and server overload issues.
Trade-off: The results are slightly less precise compared to the MB Search API.

Overview
The overview section pulls data from Wikipedia, ensuring multilingual support for more flexible and accurate descriptions.

Image Handling
Images are initially loaded from the provided links and cached locally.
The Lidarr API offers additional artist images that aren’t available in the Cover Art Archive (CAA).
If an image is missing, the system automatically falls back to CAA.

Caching
By default, images from CAA and Fanart are cached locally, as these sources tend to load slowly.
Cached images are stored in the /cache folder and can be cleared via the settings page using a dedicated job.
Other images are only cached if specific options are enabled.

Similar Artists / Trending
We use the ListenBrainz API to provide recommendations for similar artists and trending music. Missing images are completed through the Lidarr API, with a fallback to CAA.

Artist Groups
The /group endpoint is dedicated to artist groups (bands). For individual artists (persons), we merge data with the /person endpoint from TMDb to avoid duplicate entries.

Informations Points
There are cases where images aren’t available on either the CAA or the Lidarr API. In such instances, we need to upload them to the MusicBrainz database to ensure they are displayed. This aligns with the core purpose of MusicBrainz, a community-driven platform for sharing metadata.
For this reason, I’ve removed Deezer as a fallback. Encouraging community contributions is more in line with MusicBrainz’s philosophy. Additionally, using Deezer’s fallback wasn’t always reliable, as the matching wasn’t based on precise IDs, though it worked correctly about 95% of the time.

Screenshot (if UI-related)

localhost_5055_ (1)
localhost_5055_ (2)
localhost_5055_ (4)
localhost_5055_ (3)

To-Dos

  • Successful build pnpm build
  • Translation keys pnpm i18n:extract
  • Database migration (if required)

Issues Fixed or Closed

server/api/musicbrainz/index.ts Fixed Show fixed Hide fixed
server/api/musicbrainz/index.ts Fixed Show fixed Hide fixed
server/api/musicbrainz/index.ts Fixed Show fixed Hide fixed
server/api/musicbrainz/index.ts Fixed Show fixed Hide fixed
server/api/musicbrainz/index.ts Fixed Show fixed Hide fixed
server/api/musicbrainz/index.ts Fixed Show fixed Hide fixed
@github-actions github-actions bot added the merge conflict Cannot merge due to merge conflicts label Jan 9, 2025
Copy link

github-actions bot commented Jan 9, 2025

This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.

@github-actions github-actions bot removed the merge conflict Cannot merge due to merge conflicts label Jan 10, 2025
@@ -26,7 +27,7 @@
return null;
}

if (!data && !error) {
if (data === undefined && !error) {

Check warning

Code scanning / CodeQL

Useless conditional Warning

This negation always evaluates to true.
src/components/Setup/index.tsx Fixed Show fixed Hide fixed
src/components/Setup/index.tsx Fixed Show fixed Hide fixed
@gauthier-th
Copy link
Collaborator

@0-Pierre do not merge develop into this PR. Rebase on develop instead.
Merging develop is a very bad practice, it makes things harder for us to review and later to track changes.
It is written as well in our contribution guide.

Could you please rebase and remove all theses merge commits?

@0-Pierre
Copy link
Author

@0-Pierre do not merge develop into this PR. Rebase on develop instead. Merging develop is a very bad practice, it makes things harder for us to review and later to track changes. It is written as well in our contribution guide.

Could you please rebase and remove all theses merge commits?

Apologies, I'm not very familiar with the GitHub processes and features. I'll do my best, but the first commit was automatically created during a rebase when I used the "Rebase current branch..." option.

@0-Pierre 0-Pierre reopened this Jan 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants