From bbc76ad4da3ca61f820b9605ec9228c7a9357352 Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Tue, 25 Aug 2026 14:50:36 +0200 Subject: fix(node): fall back to a loose MusicBrainz query when the strict one finds nothing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit search_release() only ever tried a field-scoped exact-phrase Lucene query (artist:"..." AND release:"..."). Verified live against musicbrainz.org: any deviation from MusicBrainz's own spelling (a year suffix, an edition tag, an artist credited under an older/aliased name) drops it to zero results outright rather than a low-scored one, so the confidence check never even ran — this is why well-recognized artists were still getting almost no cover art. Add an unscoped loose-query fallback, escape Lucene special characters in the interpolated tag text, and make the confidence score consider the artist match too (not just the album title) now that the fallback has no field scoping to rely on. Also document MESHBAY_MUSICBRAINZ_CONTACT_DEFAULT in the systemd units and man page, mirroring MESHBAY_TMDB_DEFAULT_TOKEN's precedent — never a literal value in source, configured via node.env. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_013XSohfUQQiaE77qyFLgSv3 --- packaging/systemd/meshbay-node.service | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'packaging/systemd/meshbay-node.service') diff --git a/packaging/systemd/meshbay-node.service b/packaging/systemd/meshbay-node.service index a469484..5c4de6b 100644 --- a/packaging/systemd/meshbay-node.service +++ b/packaging/systemd/meshbay-node.service @@ -15,7 +15,13 @@ WorkingDirectory=%h # Secrets: MESHBAY_PASSWORD (hub login), MESHBAY_UNLOCK_KEY (keystore), # MESHBAY_TMDB_DEFAULT_TOKEN (Videos app — optional, no literal default # ships in source; absent means TMDB lookups are inert until the operator -# sets one here or configures a custom token in Settings, docs/mediacenter.md §5.5) +# sets one here or configures a custom token in Settings, docs/mediacenter.md §5.5). +# MESHBAY_MUSICBRAINZ_CONTACT_DEFAULT (Music app — optional, no literal +# default ships in source either; not a credential, but still never a +# literal value in git — it's a personal contact address sent as-is in +# every MusicBrainz request's User-Agent, docs/musicbay.md §3.2). Absent +# means MusicBrainz lookups are inert until the operator sets one here or +# configures a contact in Settings. EnvironmentFile=-%h/.config/meshbay/node.env ExecStart=/usr/bin/meshbay-node --config %h/.config/meshbay/node.toml -- cgit v1.2.3