Skip to content

New: Add musicbrainz search by URL - Update SkyHookProxy.cs#5603

Draft
bean223 wants to merge 2 commits intoLidarr:developfrom
bean223:url-search
Draft

New: Add musicbrainz search by URL - Update SkyHookProxy.cs#5603
bean223 wants to merge 2 commits intoLidarr:developfrom
bean223:url-search

Conversation

@bean223
Copy link

@bean223 bean223 commented Sep 17, 2025

Database Migration

NO

Description

Search for new artist/album etc by pasting musicbrainz URL to search box

Screenshot (if UI related)

Todos - COULDN'T GET THIS WORKING, SORRY!

  • Tests
  • Translation Keys (./src/NzbDrone.Core/Localization/Core/en.json)
  • Wiki Updates

Issues Fixed or Closed by this PR

No open issues or other PR I could see for this

@bakerboy448
Copy link
Contributor

  • CI fails
  • tests are mandatory for this type of change
  • Design of solution is poor - we should not allow and parse any random url
  • Does not make since to check if something is a url as part of the is mbid function as these are not the same tasks
  • And there's really 0 need for this as if user's can copy the url...then can copy the group part of the url

@bakerboy448 bakerboy448 marked this pull request as draft September 17, 2025 21:34
@bean223
Copy link
Author

bean223 commented Sep 17, 2025

Will work on it more and get the testing working before revising then, when I get some more time.

Will split mbid and URL out into separate functions if that's what's preferred. And reject any URLs not from musicbrainz.

Personally think it's a very useful function on mobile where text selection and editing is a pain, especially ATM when text search is still getting up to speed and searching by ID is more successful.

@NLZ
Copy link

NLZ commented Dec 19, 2025

I would like to have this feature as well, it's a small pain to have to change the url from https://musicbrainz.org/release-group/381a758e-82bf-403f-85ea-b4f97ed1e0b7 to lidarr:381a758e-82bf-403f-85ea-b4f97ed1e0b7. Why is it even lidarr: instead of mbid:?

Btw any progress on this?
Have you looked at how they did it in Radarr?
Radarr/Radarr#10540 + Radarr/Radarr@f90b43b

If it were me I would use a regex like \bmusicbrainz\.org\/(?:artist|release-group)\/([0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})\b and take the result of the capture group for the MBID.
Heck, even just \bmusicbrainz\.org\/(?:artist|release-group)\/([\d\w-]+)\b is enough if you ask me, why bother with matching valid UUID, by that logic we could even make sure it's the UUID version 4 variant 1 that MBID seems to be using (\bmusicbrainz\.org/(?:artist|release-group)/([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})\b ). Just let search sort it out, I don't think the unreadability is worth the unlikely happening of bad searches from incomplete copying of urls. It doesn't seems to be checking currently either with lidarr:.

Could even use the same regex to extract from the original format, but I think it again makes it less readable \b(?:lidarr:|musicbrainz\.org\/(?:artist|release-group)\/)([\d\w-]+)\b

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.

3 participants