sync CoSys AirSim client and stabilize Docker-to-host RPC mission flow. Fixes #290#293
Merged
CharlieWells13 merged 9 commits intomainfrom Mar 23, 2026
Merged
sync CoSys AirSim client and stabilize Docker-to-host RPC mission flow. Fixes #290#293CharlieWells13 merged 9 commits intomainfrom
CharlieWells13 merged 9 commits intomainfrom
Conversation
c132666 to
d34a15d
Compare
CharlieWells13
approved these changes
Mar 23, 2026
Collaborator
CharlieWells13
left a comment
There was a problem hiding this comment.
awesome work fixing this
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR resolves the two blockers from issue #290 and completes the full mission run path (frontend -> backend -> DRV/Cosys-AirSim -> report generation).
Why
Additional blockers discovered during validation:
Where
Cosys AirSim sync + compatibility:
RPC path and connection hardening:
Mission/monitor robustness:
Settings/bootstrap fixes:
Tooling/docs:
Security/logging hardening:
How
a. simIsPaused() alias for call-site compatibility.
b. getTripStats() fallback handling for differing RPC signatures and unavailable endpoints.
c. Default TripStats object return path to avoid hard mission crashes when RPC is unsupported.
a. Force SettingsVersion: 2.0.
b. Seed materials.csv in Documents/AirSim when absent.
c. Preserve JSON debug override behavior and improve related logs.
a. Clear mission/monitor lists on each update and in finally blocks to prevent stale carry-over after exceptions.
b. Normalize and resolve vehicle names before enableApiControl (Drone 1/Drone1 compatibility).
a. Converted waypoint keys to tuples in unordered waypoint monitor.
b. Updated battery monitor constructor behavior and added env gate (ENABLE_BATTERY_MONITOR) with safer runtime behavior.
Notes
Issue reference: #290 (this PR moves and closes acceptance criteria items for that issue).
Acceptance criteria status:
Operational defaults after this work:
Addendum
The sim is now facing this new error:

which is beyond the scope of issue #290.
DRV logs demonstrate the root cause of the on-screen "API call was not received, entering hover mode for safety" is a DRV teardown bug which causes this side effect. The blocker to full stability is now in DRV blueprint/game-mode lifecycle (BP_PIPCamera_C EndPlay path).
Example report and DRV log file:
FlyToPoints_Drone 1_log.txt
DRV.log
FlyToPoints_Drone 1_log.txt:1-7(task overat line 7).DRV.log:1049.DRV.log:1132-1135.BP_PIPCamera_CEndPlay (Super::EndPlay()not called):.DRV.log:1143-1144.API call was not received, entering hover mode for safetyis consistent with command stream interruption during/after this teardown path.