From 850ac349ccc47ea087e25bdf8d4ae1df53560fca Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 23 Oct 2026 18:01:49 +0000 Subject: [PATCH] Settings: saved keys a module no longer declares are dropped from the project instead of warning every run Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01GiiQgYH1z4SgQNuNNAgQCV --- app/ui/shell/pipeline_state.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/ui/shell/pipeline_state.js b/app/ui/shell/pipeline_state.js index 926cd262..7701f649 100644 --- a/app/ui/shell/pipeline_state.js +++ b/app/ui/shell/pipeline_state.js @@ -342,7 +342,10 @@ export function createPipelineState(rawApi, { answerMs = ANSWER_MS } = {}) { }); const already = valuesAlreadyPlaced(from || slots); Object.entries(already).forEach(([moduleId, own]) => { - merged[moduleId] = { ...(merged[moduleId] || {}), ...own }; + // A saved key its module no longer declares (removed or renamed) is dropped here, so it leaves the project at the next save. + const declared = modulesById[moduleId] && modulesById[moduleId].settings; + const kept = declared ? Object.fromEntries(Object.entries(own).filter(([name]) => name in declared)) : own; + merged[moduleId] = { ...(merged[moduleId] || {}), ...kept }; }); Object.entries(from ? {} : pendingValues).forEach(([moduleId, own]) => { merged[moduleId] = { ...(merged[moduleId] || {}), ...own };