The Launcher's XP11 port (8730b9b) now extends to everything: one net40
flavor across Console, vPOD, Contract, and SecureConfig (Newtonsoft.Json
everywhere; the net48/System.Text.Json legs and their #if splits are gone
since nothing consumed them).
Console (net40, single TFM like the Launcher):
- The ~31 BinaryFormatter bitmap blobs in the .resx files became raw
embedded files under assets/icons/ (extracted byte-faithfully via a
serialization surrogate — the animated square_throbber.gif survives),
loaded by Properties.Resources.EmbeddedBitmap/EmbeddedIcon. Reason:
System.Resources.Extensions' DeserializingResourceReader is net461+
and cannot load on net40. Strings stay in the .resx.
- IReadOnlyList -> IList in AppRegistry (net45+ interface).
vPOD (net40, single TFM):
- Zip extraction now shares the Launcher's MiniZip.cs (linked source), so
the diff-test install round-trip exercises it against ZipArchive zips.
- RPC args as JTokens; LaunchApps.json persistence via Newtonsoft;
Thread.VolatileRead instead of Volatile.Read.
Contract/SecureConfig: net40-only; Client/** (PodManagerConnection) now
ships in the one build. The Launcher package gains
TeslaSecureConfiguration.dll as a dependency of the client half.
Tests: the net48 xunit host loads the net40 assemblies (both CLR4), so
the suite exercises exactly what ships — 106/106 green. Also verified
live: net40 console provisioned, managed, and ran a full RP mission
against net40 vPOD (beacon/passphrase/RSA, 53290 RPC, egg load,
Run/Stop Mission).
Version: 4.11.4.3 across Launcher, Console, and vPOD (vPOD joins the
suite version line; was 1.0.0). Ship the dotNetFx40 redistributable in
Launcher/assets for XP-era pods.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Install the UltraVNC server component with the service tasks selected up front
(SetupType=custom, Components=ultravnc_server, Tasks=installservice,startservice)
and run the setup with start /wait + /loadinf so the pod comes up with the VNC
service registered and started for remote diagnostics.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
install.bat passes /loadinf="...\UltraVNC.inf", so the answer file must have
the .inf extension. Also make build.bat wipe the dx9201006/openal/UltraVNC
package folders before re-copying, so stale files don't linger across builds.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- assets/: replace old reference dumps with the three redist folders the
installer actually consumes (dx9201006/, openal/, UltraVNC/).
- build.bat: mirror each redist folder into the package root so install.bat's
%ROOT%\dx9201006, %ROOT%\openal, %ROOT%\UltraVNC paths resolve; bump header
to v4.11.4.1.
- install.bat: bump header to v4.11.4.1; write Winlogon auto-login regedits
for the Firestorm kiosk account (was manual instructions); fix UltraVNC
setup exe filename typo (UltraVNC_Setup_x64 -> UltraVNC_x64_Setup).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Root README: launcher is .NET Framework 4.8 (was .NET 6/x86); RPC is framed
JSON (was BinaryFormatter); added Contract/ + SecureConfig/; dropped the
now-resolved "known duplication" warning; corrected the lib/*.dll note
(TeslaConsoleLaunchLib/TeslaSecureConfiguration are source-built, kept only as
test baselines); added a short history section.
- Console README: Contract is net48-only; Launcher targets net48.
- Launcher README: net48 framework-dependent (was net8/x64 self-contained);
needs .NET Framework 4.8 (built into Windows), no bundled runtime.
- DiffTests README: original 4.11.3.37076 vs recovered 4.11.4.x (no longer share
identity); noted version-insensitive comparison + the new protocol/crypto guards.
- Removed Launcher/assets/MEMORY.md (stale leftover dev-notes, superseded by the
README and now-moot post-BinaryFormatter).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-locate the two cockpit-pod projects into a single repository:
- Console/ : TeslaConsole, the net48 WinForms operator console (decompiled
reconstruction) plus its differential + catalog test suite.
- Launcher/ : TeslaLauncher, the net6 pod-side Service + Agent rewrite.
Adds a combined TeslaSuite.sln, root README documenting the shared wire
contract (and its current duplication, the main follow-up), and a root
.gitignore. Histories were not preserved per request; this is a fresh start
from the current working state of both projects.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>