Desktop: surface a high-confidence autotag match on the album/artist/track page, with a one-click apply #28

Closed
opened 2026-08-18 05:55:00 +00:00 by logan · 0 comments
Collaborator

Report

If the autotagger has a high-confidence match for an album/track/artist, I want to be told while I am looking at that thing, with a call to action — open it in the autotagger, or better, apply it right there and watch the page fill in with metadata. Today I have to notice the metadata is missing, then go hunt the album down on the Autotag page.

Findings

  • The matching and scoring live in the autotag backend; the apply path is a registered job (jobs), and rewriting tags emits TrackMetadataChanged — the most expensive event in the app, which makes library-store discard every cached collection and refetch. A one-click apply from a detail page will pay that, which is correct but should be expected.
  • The apply is an irreversible on-disk metadata rewrite, so it goes behind confirmAction() with an honest impact line — and a folder left holding a mix of old and new tags is exactly the Blocking-level notification case already documented.
  • explore-album-details already knows whether it is looking at an untagged/library-only album (catalogPending/catalogLoaded, catalog-scope-notice), which is the natural place to hang this.

Direction

  1. A backend query: "is there a high-confidence match for this album/artist/track", cheap enough to call on page open (or answered from an existing autotag candidate cache rather than a fresh MusicBrainz round trip — the rate limiters are shared with every page the user can open, and a background lane exists for exactly this).
  2. A catalog-scope-notice-style banner: "MusicBrainz has a match for this album (95%)" with "Review in Autotag" and "Apply tags".
  3. Define the confidence threshold once, in the backend, so the badge and the autotag page cannot disagree.
**Report** If the autotagger has a high-confidence match for an album/track/artist, I want to be told while I am *looking at that thing*, with a call to action — open it in the autotagger, or better, apply it right there and watch the page fill in with metadata. Today I have to notice the metadata is missing, then go hunt the album down on the Autotag page. **Findings** - The matching and scoring live in the autotag backend; the apply path is a registered job (`jobs`), and rewriting tags emits `TrackMetadataChanged` — the most expensive event in the app, which makes `library-store` discard every cached collection and refetch. A one-click apply from a detail page will pay that, which is correct but should be expected. - The apply is an irreversible on-disk metadata rewrite, so it goes behind `confirmAction()` with an honest impact line — and a folder left holding a mix of old and new tags is exactly the Blocking-level notification case already documented. - `explore-album-details` already knows whether it is looking at an untagged/library-only album (`catalogPending`/`catalogLoaded`, `catalog-scope-notice`), which is the natural place to hang this. **Direction** 1. A backend query: "is there a high-confidence match for this album/artist/track", cheap enough to call on page open (or answered from an existing autotag candidate cache rather than a fresh MusicBrainz round trip — the rate limiters are shared with every page the user can open, and a background lane exists for exactly this). 2. A `catalog-scope-notice`-style banner: "MusicBrainz has a match for this album (95%)" with "Review in Autotag" and "Apply tags". 3. Define the confidence threshold once, in the backend, so the badge and the autotag page cannot disagree.
logan added the Area/MetadataKind/FeaturePlatform/Desktop
Priority
Medium
3
labels 2026-08-18 14:36:08 +00:00
logan closed this issue 2026-08-19 06:49:49 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: yonlu/yellowjacket#28