Commit Graph
4 Commits
Author SHA1 Message Date
CydandClaude Opus 4.8 09e3d769d7 Remove redundant "BattleTech Firestorm LC" product from catalog
Firestorm selects game vs. Live Cam behavior from its assigned IP address, so a
separate LC product entry is unnecessary. Drop it from Apps.xml and update the
catalog tests (now 3 products / 5 entries; removed FirestormLC_Matches_Original).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 22:53:08 -05:00
CydandClaude Opus 4.8 4c15197b34 Console/launcher-managed RIOJoy + real product uninstall
RIOJoy lifecycle is now owned by the console + launcher (the auto-start Run entry
was removed on the RioJoy side): Apps.xml autoRestart false -> true, so the
launcher starts RIOJoy and keeps it alive. Safe with uninstall — the watcher only
relaunches a still-tracked process, and uninstall's kill untracks it first.

Uninstall now physically removes the product (was unregister-only):
- Agent CmdUninstallApp: after kill + unregister, reports the product's
  C:\Games\<dir> to clean up — but only if no remaining registered launch entry
  still uses that folder (orphan check keeps multi-entry products like Red Planet's
  GameClient/LC/MR intact until the last entry is removed).
- Service (SYSTEM): on UninstallApp, runs <dir>\pre-uninstall.bat if present
  (RIOJoy's removes ViGEmBus + config) then deletes the directory, on a background
  thread so it can't trip the Console's RPC timeout. Path-guarded to only ever
  delete a proper subdirectory of C:\Games. Logged to podconf.log.

74 tests green; the cleanup path is pod-behavior, not unit-tested here.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 18:53:09 -05:00
CydandClaude Opus 4.8 ce094535fa Add RIOJoy to the product catalog
RIOJoy (the cockpit RIO → virtual-gamepad feeder; separate net48 repo) is now an
installable/launchable product in Console/RedPlanet/Apps.xml. Its dist zip is
already TeslaConsole-shaped (postinstall.bat + RIOJoy\ → extracts to C:\Games, the
launcher runs postinstall.bat as SYSTEM to install ViGEmBus + register auto-start),
so this is the only change needed on the TeslaSuite side.

- Launch entry exe C:\Games\RIOJoy\app\RioJoy.Tray.exe, autoRestart=false (the
  postinstall HKLM Run entry owns startup; the catalog entry is for registration +
  manual restart from the console).
- CatalogTests: bumped the count guard to 4 products / 6 entries and added a
  byte-exact LaunchData check for the RIOJoy entry. 74 tests green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 14:13:36 -05:00
CydandClaude Opus 4.8 548550b312 Initial commit: TeslaSuite monorepo (TeslaConsole + TeslaLauncher)
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>
2026-06-29 14:43:28 -05:00