Fixed a post-update startup crash. Added aircraft lights tracking and door-based boarding/deboarding timers. Improved the deboarding phase, PIREP distance accuracy, WebSocket reconnect, and several minor fixes.
What's new
-
Aircraft Lights Tracking
Taxi and landing lights (beacon, strobe, nav) are now monitored throughout the flight. Every state change is timestamped in the flight event log.
-
Door-Based Boarding Timer
When a passenger door opens during boarding, a timer starts. When it closes, elapsed boarding time is recorded. Opt-in — no door animation means no impact.
-
Door-Based Deboarding Timer
Same door detection after engine shutdown. Opening starts the deboarding timer, closing records the duration.
What's improved
-
Deboarding Phase
Flight now correctly enters Deboarding state after engine shutdown, instead of jumping straight to Arrived.
-
PIREP Flight Distance
Distance flown is now accumulated tick-by-tick (haversine), giving actual distance flown rather than straight-line to destination.
-
WebSocket Auto-Reconnect
Reverb connection now automatically recovers with exponential back-off when dropped (e.g. Cloudflare timeout). Footer badge reflects live state.
-
Discord Rich Presence
Flight route and number now always appear — resolved booking fallback Flight ?? Pilot?.Booking matches the rest of the app.
-
Logbook After Flight
No longer shows "no pilot" empty state after completing a flight. Pilot is snapshotted before EndFlight clears it.
What's fixed
- Resolved an unhandled DLL-not-found crash that occurred on first launch after a Velopack update. Velopack bootstrap is now the very first call in Main().