From 29dbf8d084fb8fb3df7960878cabe44f3cbd02da Mon Sep 17 00:00:00 2001 From: pharmacomaniac Date: Wed, 9 Sep 2026 08:45:34 -0400 Subject: [PATCH] Galaxy: fix turning Force Offroad back off Only require Park when enabling. (cherry picked from commit 2a01f17b46ef529c7b1375010d6d318224585c4c) --- .../the_galaxy/assets/components/tools/device_settings.js | 2 +- .../system/the_galaxy/assets/mobile/js/views/Settings.js | 2 +- starpilot/system/the_galaxy/the_galaxy.py | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/starpilot/system/the_galaxy/assets/components/tools/device_settings.js b/starpilot/system/the_galaxy/assets/components/tools/device_settings.js index 984c1c5375..e1a125158e 100644 --- a/starpilot/system/the_galaxy/assets/components/tools/device_settings.js +++ b/starpilot/system/the_galaxy/assets/components/tools/device_settings.js @@ -1586,7 +1586,7 @@ function getSettingLockReason(param) { if (param?.requires_offroad && state.values.IsOnroad) { return "This setting can only be changed while parked." } - if (param?.requires_parked && !state.values.VehicleParked) { + if (param?.requires_parked && !state.values.VehicleParked && !(param.key === "ForceOffroad" && state.values.ForceOffroad)) { return "This setting can only be changed while the vehicle is in Park." } if (param?.disabled_when_key_true && state.values[param.disabled_when_key_true]) { diff --git a/starpilot/system/the_galaxy/assets/mobile/js/views/Settings.js b/starpilot/system/the_galaxy/assets/mobile/js/views/Settings.js index 5deb4bb0ae..80b2852ea2 100644 --- a/starpilot/system/the_galaxy/assets/mobile/js/views/Settings.js +++ b/starpilot/system/the_galaxy/assets/mobile/js/views/Settings.js @@ -121,7 +121,7 @@ export const Settings = { }, lockReason(param) { if (param?.requires_offroad && this.values.IsOnroad) return "This setting can only be changed while parked." - if (param?.requires_parked && !this.values.VehicleParked) return "This setting can only be changed while the vehicle is in Park." + if (param?.requires_parked && !this.values.VehicleParked && !(param.key === "ForceOffroad" && this.values.ForceOffroad)) return "This setting can only be changed while the vehicle is in Park." if (param?.disabled_when_key_true && this.values[param.disabled_when_key_true]) return param.disabled_reason || "Disabled by another setting." if (param?.requires_nonempty_key) { const val = this.values[param.requires_nonempty_key] diff --git a/starpilot/system/the_galaxy/the_galaxy.py b/starpilot/system/the_galaxy/the_galaxy.py index 289feb378a..92fa4acfd8 100644 --- a/starpilot/system/the_galaxy/the_galaxy.py +++ b/starpilot/system/the_galaxy/the_galaxy.py @@ -6185,10 +6185,10 @@ def setup(app): }), 200 if key == "ForceOffroad": - if not _get_vehicle_parked(): + enabled = str_val.strip() in ("1", "true", "True") + if enabled and not _get_vehicle_parked(): return jsonify({"error": "Force Offroad is only available while the vehicle is in Park."}), 403 - enabled = str_val.strip() in ("1", "true", "True") params.put_bool("ForceOffroad", enabled) params.put_bool("ForceOnroad", False) update_starpilot_toggles()