浏览代码

Clear stale enabled state during plugin loader pruning

The plugin loader already pruned stale registry entries, but stale enabled state
could linger in settings.json after bundled or installed plugin discovery
cleaned up missing installs. This change removes those orphaned enabled flags
when stale registry entries are dropped so loader-managed state stays coherent.

Constraint: Commit only plugin loader/registry code in this pass
Rejected: Leave stale enabled flags in settings.json | state drift would survive loader self-healing
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Any future loader-side pruning should remove matching enabled state in the same code path
Tested: cargo fmt --all; cargo test -p plugins
Not-tested: Interactive CLI /plugins flows against manually edited settings.json
Yeachan-Heo 2 月之前
父节点
当前提交
a7b77d0ec8
共有 1 个文件被更改,包括 6 次插入0 次删除
  1. 6 0
      rust/crates/plugins/src/lib.rs

+ 6 - 0
rust/crates/plugins/src/lib.rs

@@ -2570,6 +2570,9 @@ mod tests {
             },
         );
         manager.store_registry(&registry).expect("store registry");
+        manager
+            .write_enabled_state("stale@bundled", Some(true))
+            .expect("seed bundled enabled state");
 
         let installed = manager
             .list_installed_plugins()
@@ -2627,6 +2630,9 @@ mod tests {
             },
         );
         manager.store_registry(&registry).expect("store registry");
+        manager
+            .write_enabled_state("stale-external@external", Some(true))
+            .expect("seed stale external enabled state");
 
         let installed = manager
             .list_installed_plugins()