Reconfigure timeout (launcher reinstall of an already-configured pod):
- The console pings each configured pod and connects on success, on a loop, and
never tore that down — so it kept hammering the pod's old IP with a stale
connection while SecureConfig tried to bring the pod up on that address, which
timed out. Only a console restart (closing all sockets) cleared it.
- DeletePod now Disconnect()s the pod's connection (closes the lingering socket)
so delete-to-reconfigure works WITHOUT a console restart.
- Reconfiguring a known pod in place now pauses that pod's ping/connect loop
(OperationInProgress) and drops its stale connection before SecureConfig, and
resumes on completion (success or failure) so it reconnects with the new key.
(StopPing kills the ping thread irreversibly, so pause via OperationInProgress.)
Note: PodInfo's static mPods registry is dead code (nothing registers), so the
real fix is the disconnect, not an unregister.
Console deployment:
- Console/install.bat: installs the console to C:\Program Files\TeslaConsole,
preps the %ProgramData%\Tesla Console data dir (Users: modify), creates a Start
Menu shortcut, and adds a per-program inbound firewall rule so it can receive
pod discovery beacons. net48 is in-box, no runtime install.
- Console/build-package.bat: publishes the console (net48 framework-dependent) to
dist\TeslaConsole\App and assembles the package with install.bat.
74 tests green; the pod-config fix is UI/network behavior, validate on a pod.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>