fix(install): uninstall always deletes plugin entry

- For uninstall, always delete plugins.entries.dirigent
- Don't try to restore old config (which may fail validation due to missing required fields)
- Provider restoration still works (replaced providers are restored)
This commit is contained in:
zhi
2026-03-03 18:20:48 +00:00
parent b79cc1eb84
commit a177150554

View File

@@ -318,13 +318,14 @@ else {
}
}
// ── Handle REPLACED entries: restore old value ────────────────────────
// ── Handle REPLACED entries: for uninstall, we still delete (not restore)
// because the user wants to remove the plugin, not restore the old broken config
if (delta.replaced[PATH_PLUGIN_ENTRY] !== undefined) {
const plugins = getJson("plugins") || {};
plugins.entries = plugins.entries || {};
plugins.entries.dirigent = delta.replaced[PATH_PLUGIN_ENTRY];
delete plugins.entries.dirigent;
setJson("plugins", plugins);
console.log("[dirigent] restored previous plugins.entries.dirigent");
console.log("[dirigent] removed plugins.entries.dirigent (had replaced previous config)");
}
if (delta.replaced[PATH_PROVIDER_ENTRY] !== undefined) {