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 --- man/meshbay-node.1 | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'man') diff --git a/man/meshbay-node.1 b/man/meshbay-node.1 index 8ccef2e..6f5552e 100644 --- a/man/meshbay-node.1 +++ b/man/meshbay-node.1 @@ -396,6 +396,13 @@ Keystore passphrase for unattended startup (alternative to .B MESHBAY_TMDB_DEFAULT_TOKEN TMDB API token for the Videos app metadata enrichment (optional). . +.TP +.B MESHBAY_MUSICBRAINZ_CONTACT_DEFAULT +Contact address (email or URL) sent in the User-Agent for the Music app's +MusicBrainz lookups (optional). Not a credential — MusicBrainz needs none — +but still never a literal value in source: it is a personal contact string, +same handling as an API token. Absent means MusicBrainz lookups are inert. +. .SH FILES .TP .I ~/.config/meshbay/node.toml @@ -404,9 +411,11 @@ Default configuration file. .TP .I ~/.config/meshbay/node.env Environment file read by the systemd service. Contains secrets such as -.BR MESHBAY_UNLOCK_KEY +.BR MESHBAY_UNLOCK_KEY , and, optionally, -.BR MESHBAY_TMDB_DEFAULT_TOKEN . +.BR MESHBAY_TMDB_DEFAULT_TOKEN +and +.BR MESHBAY_MUSICBRAINZ_CONTACT_DEFAULT . The node authenticates to the hub with its own Ed25519 identity key, not a password, so no hub credential lives here. . -- cgit v1.2.3