← Commit history

0.9.280: kicad_install_symbol now passes errorCode (kicad_refuses_symbol), kicadParser and _hint through to the caller; 0.9.279 set them inside add_symbol but the verb wrapper dropped them, so the wire response had errorCode null.

John Lauer ·6d647dc039 ·1mo ago ·parent 9f85125
3 files changed +9−3
BRIDGE_VERSION+1−1
@@ -1 +1 @@-0.9.279\ No newline at end of file+0.9.280\ No newline at end of file
bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "kicad",   "displayName": "KiCad EDA",-  "version": "0.9.279",+  "version": "0.9.280",   "description": "Reverse bridge for KiCad \u2014 board/schematic introspection, lint via kicad-cli, plugin install, multi-instance probe, in-process DRC.",   "homepage": "https://wiki.adom.inc/adom/adom-bridge",   "author": "Adom Inc.",
handlers/install_symbol.py+7−1
@@ -92,7 +92,13 @@ def handle_install_symbol(kicad_info: dict, args: dict) -> dict:     result = add_symbol(kicad_info, symbol_text)      if not result.get("success"):-        return {"success": False, "error": result.get("error", "Unknown error")}+        # Pass the machine-readable parts through (wiki #71): errorCode tells a+        # caller WHICH refusal this was, kicadParser carries KiCad's own words.+        out = {"success": False, "error": result.get("error", "Unknown error")}+        for k in ("errorCode", "kicadParser", "_hint"):+            if result.get(k) is not None:+                out[k] = result[k]+        return out      added_names = result.get("added", [])     lib_path = result.get("lib_path", "")