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:
@@ -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) {
|
if (delta.replaced[PATH_PLUGIN_ENTRY] !== undefined) {
|
||||||
const plugins = getJson("plugins") || {};
|
const plugins = getJson("plugins") || {};
|
||||||
plugins.entries = plugins.entries || {};
|
plugins.entries = plugins.entries || {};
|
||||||
plugins.entries.dirigent = delta.replaced[PATH_PLUGIN_ENTRY];
|
delete plugins.entries.dirigent;
|
||||||
setJson("plugins", plugins);
|
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) {
|
if (delta.replaced[PATH_PROVIDER_ENTRY] !== undefined) {
|
||||||
|
|||||||
Reference in New Issue
Block a user