From 08808b73b7a53d4645f35487591ef16306ca0240 Mon Sep 17 00:00:00 2001 From: itsrubberduck Date: Sun, 15 Feb 2026 16:26:50 +0100 Subject: [PATCH] Fix bridge telemetry boolean coercion for auto-advance conditions SimConnect sends boolean fields (on_ground, parking_brake, etc.) as 0/1 numbers. The condition evaluator uses strict equality (===), so 0 === false was returning false even when the condition was semantically met. Cast boolean telemetry fields with !! to ensure proper type matching. Also reduce solo-mode telemetry polling from 500ms to 2000ms. Co-Authored-By: Claude Opus 4.6 --- app/pages/flightlab/takeoff.vue | 2 +- server/api/bridge/data.post.ts | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/pages/flightlab/takeoff.vue b/app/pages/flightlab/takeoff.vue index a715a64..4243889 100644 --- a/app/pages/flightlab/takeoff.vue +++ b/app/pages/flightlab/takeoff.vue @@ -466,7 +466,7 @@ function startTelemetryPolling() { engine.updateTelemetry(res.telemetry) } } catch {} - }, 500) + }, 2000) } function stopTelemetryPolling() { diff --git a/server/api/bridge/data.post.ts b/server/api/bridge/data.post.ts index 037706d..77d1887 100644 --- a/server/api/bridge/data.post.ts +++ b/server/api/bridge/data.post.ts @@ -24,11 +24,11 @@ function mapBridgeTelemetry(raw: Record): FlightLabTelemetryState { PLANE_PITCH_DEGREES: raw.pitch_deg ?? raw.PLANE_PITCH_DEGREES ?? 0, TURB_ENG_N1_1: raw.n1_pct ?? raw.TURB_ENG_N1_1 ?? 0, TURB_ENG_N1_2: raw.n1_pct_2 ?? raw.TURB_ENG_N1_2 ?? 0, - SIM_ON_GROUND: raw.on_ground ?? raw.SIM_ON_GROUND ?? false, - GEAR_HANDLE_POSITION: raw.gear_handle ?? raw.GEAR_HANDLE_POSITION ?? false, + SIM_ON_GROUND: !!(raw.on_ground ?? raw.SIM_ON_GROUND ?? false), + GEAR_HANDLE_POSITION: !!(raw.gear_handle ?? raw.GEAR_HANDLE_POSITION ?? false), FLAPS_HANDLE_INDEX: raw.flaps_index ?? raw.FLAPS_HANDLE_INDEX ?? 0, - BRAKE_PARKING_POSITION: raw.parking_brake ?? raw.BRAKE_PARKING_POSITION ?? false, - AUTOPILOT_MASTER: raw.autopilot_master ?? raw.AUTOPILOT_MASTER ?? false, + BRAKE_PARKING_POSITION: !!(raw.parking_brake ?? raw.BRAKE_PARKING_POSITION ?? false), + AUTOPILOT_MASTER: !!(raw.autopilot_master ?? raw.AUTOPILOT_MASTER ?? false), } }