Skip to content

feat(v3 library): Match→Details "use these values" bridge#779

Merged
byrongamatos merged 1 commit into
mainfrom
feat/v3-match-details-bridge
Jul 5, 2026
Merged

feat(v3 library): Match→Details "use these values" bridge#779
byrongamatos merged 1 commit into
mainfrom
feat/v3-match-details-bridge

Conversation

@ChrisBeWithYou

@ChrisBeWithYou ChrisBeWithYou commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Connects the Fix-metadata popup's two tabs (stacked on #778#777).

The gap: the Match tab finds the correct recording (MusicBrainz search or Identify-by-audio), but by design a match only improves the underlying canon + art — it never silently re-titles the grid ("author-set shows by default"). So to actually display the match's values you had to retype them into Details by hand.

The bridge: each Match candidate now shows a "Use these values →" action. Clicking it:

  • copies the candidate's title / artist / album / year into the Details tab as pending, unsaved inputs (shown pre-filled with a "review, then Save or Write to file" nudge),
  • pins the match too (so the art/canon follow),
  • and drops you on Details to review.

You stay in control — the values are populated for review, not force-saved, so you can tweak (e.g. prefer romaji over kanji) before Save (overlay) or Write to file (#778). The "never silently adopt a match" rule is intact; this is just the explicit one-click path to opt in.

Queue-review candidates are untouched — they still accept/pin on click.

Testing

  • node --check clean; live on the testbed. Verified the served bundle wires useTheseValues at both candidate sites (search + Identify).

Stacks on #778 (Write to file) → #777 (popup). Merge bottom-up.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Single-song match selection now fills the Details tab instead of immediately finalizing the choice, giving you a chance to review and edit values first.
    • The interface now switches to the Details tab after a candidate is selected and shows a status message confirming the fields were populated.
  • User Experience

    • Candidate rows now include a clearer hint indicating the selected values will be used in the Details form.

@coderabbitai

coderabbitai Bot commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: c2da298a-4f17-4a1e-9988-832997b9abcc

📥 Commits

Reviewing files that changed from the base of the PR and between 5f499a8 and 6a044e1.

📒 Files selected for processing (1)
  • static/v3/match-review.js

📝 Walkthrough

Walkthrough

Single-song match candidates now populate pending details instead of immediately finalizing. The UI switches to the Details tab, adopts the candidate values for review, and adds a hint on candidate rows.

Changes

Pending details bridge for single-song matching

Layer / File(s) Summary
Pending-details helper and Details tab adoption
static/v3/match-review.js
useTheseValues(song, cand) stores candidate fields in song._pendingDetails, posts the pick, emits library:changed, and switches to the Details tab; renderDetailsTab adopts pending fields into editable state and shows a filled-from-match status.
Candidate handler wiring and UI hint
static/v3/match-review.js
Search and identify candidate click handlers branch on _single to call useTheseValues and return early instead of picking and settling immediately; candidate row markup adds a "Use these values →" hint in single-song mode.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • got-feedBack/feedBack#759: Both PRs modify the candidate-selection flow in static/v3/match-review.js, with the referenced PR wiring identify-by-audio candidates into the same pick/settle path this PR reroutes.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/v3-match-details-bridge

Comment @coderabbitai help to get the list of available commands.

@ChrisBeWithYou

Copy link
Copy Markdown
Contributor Author

📋 Merge order — metadata-curation epic (7 PRs)

  1. feat(v3 library): "Fix metadata" popup — per-song override + lock, cover picker, MusicBrainz + AcoustID #777 — Fix-metadata popup
  2. feat(v3 library): "Write to file" in the Fix-metadata popup #778 — Write to file
  3. feat(v3 library): Match→Details "use these values" bridge #779 — Match→Details bridge
  4. feat(v3 library): genre field in the Fix-metadata popup #780 — Genre in Details
  5. feat(v3 library): persistent "no match" badge + Unmatched quick filter #781 — No-match badge + Unmatched filter (independent of 1–4 — fine to merge any time)
  6. feat(v3 library): batch→popup handoff + English-base romaji (metadata-curation capstone) #782 — Batch→popup handoff + romaji (capstone)
  7. feat(v3 library): searchable Cover Art Archive picker in Change-cover #783 — Searchable cover picker

#778#780 are stacked (each based on the branch above), so GitHub re-points each to main automatically as the previous one merges — just merge #777#778#779#780 top-down. #781 is independent (base: main).

⚠️ Hold #782 and #783 until #777#781 are all in main. #782's branch is a combined branch that already contains #777#781, so merging it early would double-merge the stack. Once #777#781 land, the author will rebase #782 (then #783) onto main — they shrink to just their own commits — and they're then ready to merge.

Connects the popup's two tabs. A match only improves the underlying canon+art;
by design it never silently re-titles the grid. This adds the explicit opt-in
path: each Match candidate (search or Identify-by-audio) gets a "Use these
values →" action that copies its title/artist/album/year into the Details tab
as pending (unsaved) inputs and lands you there for review — pinning the match
too so the art/canon follow. You then Save (overlay) or Write to file. Queue-
review candidates are unchanged (they still accept/pin on click).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@byrongamatos
byrongamatos force-pushed the feat/v3-match-details-bridge branch from 057e86a to 6a044e1 Compare July 5, 2026 19:11
@byrongamatos
byrongamatos changed the base branch from feat/v3-write-to-file to main July 5, 2026 19:11
@byrongamatos
byrongamatos merged commit 6397a95 into main Jul 5, 2026
3 of 4 checks passed
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