上一個 commit (a6a121a) 只修了 script 結束時的 cleanup,但使用者仍在 connect 重試路徑看到 access violation: connect attempt 1 failed → 新 connect attempt 2 → GC 回收 attempt 1 的舊 DeviceGroup → __del__ → kp_disconnect_devices 對已失效的 native handle → OSError: access violation 根因:`_device_group = None` 只是清掉 Python reference,舊物件的 __del__ 會延遲到下一次 GC cycle(可能發生在新 connect call 的 allocation 時), 此時 native handle 已 invalid。 修法: - 新增 `_clear_device_group()` helper:先 kp.core.disconnect_devices 把 native handle 正常釋放(errors silenced),再設 None - 全檔搜 `_device_group = None` 共 12 處,除了初始宣告(L40)和兩個 helper 自身(_clear_device_group / _cleanup)以外全部替換為 _clear_device_group() - 涵蓋所有 code path:connect retry / firmware load reconnect / disconnect handler / reset handler / error fallback Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
visionA
Innovedus visionA monorepo. Currently contains:
Subprojects
local-tool/
visionA-local — local-first edge AI desktop tool, derived from edge-ai-platform. Wails + Go + Next.js, packaged as macOS dmg / Windows exe / Linux AppImage.
See local-tool/README.md for details.
License
TBD (internal use)
Description
Languages
Go
42.4%
TypeScript
33.7%
JavaScript
7.5%
Python
5.3%
Makefile
3.7%
Other
7.4%