From 65a3c256fa60926703224f02ba1c0f52168341d0 Mon Sep 17 00:00:00 2001 From: OmikronApex Date: Wed, 8 Jul 2026 22:35:30 +0200 Subject: [PATCH] fix(audio-effects): accept pre-rebrand chain plan schema as alias MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The rebrand renamed PLAN_SCHEMA to 'feedBack.audio_effects.chain_plan.v1' but shipped plugin bundles (rig_builder <= 2.9.x) still send the slopsmith-era id, so _validatePlan rejected every plan and providers fell back to their heavyweight legacy load paths (full chain rebuild per poll cycle — audible as continuous distortion during songs). Accept the old id as an explicit alias. Co-Authored-By: Claude Fable 5 --- static/capabilities/audio-effects.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/static/capabilities/audio-effects.js b/static/capabilities/audio-effects.js index 467e09c..4d0d915 100644 --- a/static/capabilities/audio-effects.js +++ b/static/capabilities/audio-effects.js @@ -9,6 +9,8 @@ const SCHEMA = 'feedBack.audio_effects.diagnostics.v1'; const PLAN_SCHEMA = 'feedBack.audio_effects.chain_plan.v1'; +// Pre-rebrand plugins (rig_builder <= 2.9.x) still send the old schema id — accept it as an alias. +const LEGACY_PLAN_SCHEMA = 'slopsmith.audio_effects.chain_plan.v1'; const OWNER_ID = 'core.audio.effects'; const DEFAULT_ROUTE_KEY = 'desktop-main'; const DEFAULT_TIMEOUT_MS = 2000; @@ -734,7 +736,7 @@ const errors = []; const source = _plainObject(rawPlan); const schema = _string(source.schema || source.version, PLAN_SCHEMA); - if (schema !== PLAN_SCHEMA && schema !== '1') errors.push('Unsupported chain plan schema'); + if (schema !== PLAN_SCHEMA && schema !== LEGACY_PLAN_SCHEMA && schema !== '1') errors.push('Unsupported chain plan schema'); const planRoute = _safeRoute(source.routeKey || source.route || routeKey); if (planRoute !== routeKey) errors.push('Chain plan route does not match selected route'); const providerId = _safeId(source.providerId || provider.providerId, provider.providerId);