From 7346bee93ca84674dbac5fb53939528945069e18 Mon Sep 17 00:00:00 2001 From: Triple7 Date: Mon, 18 May 2026 14:25:08 -0700 Subject: [PATCH] Fix quick cleanse MP3 metadata unsupported frame handling --- src/utils/metadata.js | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/utils/metadata.js b/src/utils/metadata.js index bf19fe7..102327b 100644 --- a/src/utils/metadata.js +++ b/src/utils/metadata.js @@ -123,11 +123,20 @@ export async function writeMP3Metadata(file, metadata) { const artist = safeText(metadata?.artist); const genre = safeText(metadata?.genre); + const safeSetFrame = (frameId, value) => { + try { + writer.setFrame(frameId, value); + return true; + } catch (error) { + console.warn('[quick-cleanse] skipped unsupported ID3 frame', { frameId, error }); + return false; + } + }; + try { - if (title) writer.setFrame('TIT2', title); - if (artist) writer.setFrame('TPE1', [artist]); - if (genre) writer.setFrame('TCON', [genre]); - if (title || artist || genre) writer.setFrame('TENC', 'SpectraCleanseAI Browser Quick Cleanse'); + if (title) safeSetFrame('TIT2', title); + if (artist) safeSetFrame('TPE1', [artist]); + if (genre) safeSetFrame('TCON', [genre]); writer.addTag(); } catch (error) { throw new Error(`Failed while writing ID3 frames: ${error?.message || String(error)}`);