← Commit history

1.0.50: 1.0.50: the background guard (backgroundGuard) is OFF by default. John, after watching it live: 'you just are too aggressive with it and kicad acts weird when you have it on'. The bridge now moves no KiCad window unless the user turns the guard on (dashboard: Keep KiCad in the background, or kicad_set_settings); its focus log still records what the guard would have done. Wiki #114 tracks the work before it may be on by default again. Also: settings saves now persist only what someone chose; before, every save wrote every default into the file, so a machine that had saved any setting would never see a changed default. A stored backgroundGuard true written that way is ignored; a deliberate one is kept. Includes 1.0.49: a failed footprint load no longer blames a stock library on being registered after launch.

John Lauer ·3a8884276c ·1mo ago ·parent 880f3bb
3 files changed +6−6
rust/Cargo.lock+3−3
@@ -244,7 +244,7 @@ dependencies = [  [[package]] name = "kicad-bridge"-version = "1.0.49"+version = "1.0.50" dependencies = [  "kicad-core",  "kicad-platform",@@ -255,7 +255,7 @@ dependencies = [  [[package]] name = "kicad-core"-version = "1.0.49"+version = "1.0.50" dependencies = [  "kicad-ipc-rs",  "kicad-platform",@@ -281,7 +281,7 @@ dependencies = [  [[package]] name = "kicad-platform"-version = "1.0.49"+version = "1.0.50" dependencies = [  "serde",  "serde_json",
rust/Cargo.toml+1−1
@@ -3,7 +3,7 @@ resolver = "2" members = ["crates/*"]  [workspace.package]-version = "1.0.49"+version = "1.0.50" edition = "2021" license = "MIT" publish = false
rust/crates/kicad-bridge/src/verbs_libraries.rs+2−2
@@ -62,7 +62,7 @@ pub static VERBS: &[Verb] = &[         mechanism: Mechanism::File, risk: "config", timeout_sec: 10,         input: "{\"overlayBadges\"?: bool, \"activityIndicator\"?: \"progress|flash|both|none\", \"restoreDefaults\"?: bool}",         example: "kicad_set_settings {\"overlayBadges\": false}",-        hint: "kicad_set_settings {\"overlayBadges\": false}. backgroundGuard (default true) is the A/B switch for sending a KiCad window the bridge is opening behind the user window: false means the bridge never pushes or moves any KiCad window. foregroundToastMinutes (default 10) is how often a foreground the calling AI asked for may announce itself with a toast, which ab mirrors to the user's other boxes; 0 turns the toast off, the 3 s on-screen caption on the driven box stays.",+        hint: "kicad_set_settings {\"overlayBadges\": false}. backgroundGuard (default false from 1.0.50, wiki #114) is the A/B switch for sending a KiCad window the bridge is opening behind the user window: false means the bridge never pushes or moves any KiCad window. foregroundToastMinutes (default 10) is how often a foreground the calling AI asked for may announce itself with a toast, which ab mirrors to the user's other boxes; 0 turns the toast off, the 3 s on-screen caption on the driven box stays.",         related: &["kicad_get_settings"],         pitfalls: &["live re-badging of open KiCad windows arrives with the window verbs (phase 3); the setting persists now"],     },@@ -108,7 +108,7 @@ pub fn dispatch(state: &mut State, command: &str, args: &Value) -> Option<Value> /// Push the `backgroundGuard` setting into the platform layer. Called at boot and after every /// settings write, so the dashboard switch takes effect at once with no restart. pub fn apply_background_guard() {-    let on = settings::get_settings().get("backgroundGuard").and_then(Value::as_bool).unwrap_or(true);+    let on = settings::get_settings().get("backgroundGuard").and_then(Value::as_bool).unwrap_or(false);     kicad_platform::native().etiquette_set_enabled(on);     // activityIndicator: "flash" and "both" keep Windows' orange attention flash, "progress" and     // "none" cancel it on the windows the bridge owns.