From e1819186e4e67cd851a53156a443b3bef8bd0896 Mon Sep 17 00:00:00 2001
From: Broque Thomas <26755000+Nezreka@users.noreply.github.com>
Date: Mon, 20 Apr 2026 16:22:26 -0700
Subject: [PATCH] Add fix action prompt for AcoustID mismatch findings
AcoustID findings had no Fix button and bulk "Fix Selected" silently
defaulted to retag with no user choice. Now shows a 3-option prompt
(Retag / Re-download / Delete) for both individual and bulk fix,
matching the pattern used by orphan files and dead files.
---
webui/static/script.js | 59 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
diff --git a/webui/static/script.js b/webui/static/script.js
index 5d30baa6..8b7cdc96 100644
--- a/webui/static/script.js
+++ b/webui/static/script.js
@@ -65539,6 +65539,7 @@ async function loadRepairFindings() {
duplicate_tracks: 'Keep Best',
incomplete_album: 'Auto-Fill',
missing_lossy_copy: 'Convert',
+ acoustid_mismatch: 'Fix',
};
container.innerHTML = items.map(f => {
@@ -66096,6 +66097,11 @@ async function fixRepairFinding(id, findingType) {
fixAction = await _promptDeadFileAction();
if (!fixAction) return;
}
+ // AcoustID mismatch: retag, redownload, or delete
+ if (findingType === 'acoustid_mismatch') {
+ fixAction = await _promptAcoustidAction();
+ if (!fixAction) return;
+ }
const card = document.querySelector(`.repair-finding-card[data-id="${id}"]`);
const fixBtn = card ? card.querySelector('.repair-finding-btn.fix') : null;
@@ -66197,6 +66203,46 @@ function _promptDeadFileAction() {
});
}
+function _promptAcoustidAction() {
+ return new Promise(resolve => {
+ const overlay = document.createElement('div');
+ overlay.className = 'modal-overlay';
+ overlay.style.cssText = 'display:flex;align-items:center;justify-content:center;z-index:10000;';
+ overlay.innerHTML = `
+
+
AcoustID Mismatch
+
+ The audio fingerprint doesn't match the expected track. Choose how to fix it.
+
+
+
+
+
+
+
+ Retag = update metadata to match actual audio • Re-download = add correct track to wishlist & delete wrong file • Delete = remove file and DB entry
+