From 7b5c9e4528d314f98535b213e75f12145a8d60e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Gruszczy=C5=84ski?= Date: Fri, 28 Aug 2026 12:58:48 +0200 Subject: [PATCH] v0.8.6-r2 --- BUILD_REPORT.md | 1 + FILE_MANIFEST.sha256 | 4 ++-- src/api.rs | 7 ++++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/BUILD_REPORT.md b/BUILD_REPORT.md index d368406..aea9173 100644 --- a/BUILD_REPORT.md +++ b/BUILD_REPORT.md @@ -34,6 +34,7 @@ Main changes: - shell syntax checks for `scripts/*.sh`; - regenerated and verified `FILE_MANIFEST.sha256`; - final ZIP integrity check. +- fixed compiler-reported Rust ownership error E0382 in `src/api.rs` by evaluating the `start_kind == "now"` predicate before moving `start_kind` into `TemporaryQuickThermostat`. ## Rust toolchain note diff --git a/FILE_MANIFEST.sha256 b/FILE_MANIFEST.sha256 index bb65ae4..f7d63e9 100644 --- a/FILE_MANIFEST.sha256 +++ b/FILE_MANIFEST.sha256 @@ -1,6 +1,6 @@ d67af429e4da9ce08e9d2f2a8472849ffbd70d135b1c5da535a076026794d04c ./.env.example a4ec3874a2e3ab1bad28fb40bb620f7b01f64d01ad9b699306bf70ada31227db ./.gitignore -1db386d955fe4d4322738d467a3c3c812e762e56297a2a08c17612d063555b95 ./BUILD_REPORT.md +54984fc7a67eb87643d09dc80cd812cf4b7e7077116c9efd4bf97bea2be7e170 ./BUILD_REPORT.md 68101e8986367a641aa21fcb24d0c8c80dee1161636c7f4c833f0e918a6f3951 ./Cargo.lock 3ce722a5e1989ba030288191913fa79ae62faf5353312a37dda8d12a00300343 ./Cargo.toml 19b2943504acb8f8de280f873a8dbec4bb6ebbe3870b158f5655d4fb8c298f5f ./LICENSE @@ -47,7 +47,7 @@ e00d211e3885e30d7fed1e43b44e6fdad40a67019060156c0641816a93e3365f ./scripts/netw 81345b6a0b51736bdbc98fd23199b62e4c721b4e7437e02dab7ea79b97dff29a ./scripts/service.sh b48fc84d79aab381226363ac8473f981bcba5e4911c4cc0011261182debf4250 ./scripts/smoke.sh b50782b3742dfbf8a319c60571c968e93fdf8547db747c759edcffae68cb98bf ./scripts/update.sh -842e5a237e9d443457968d5e570946cde8ea5aab62a36a45bff2b07679b70407 ./src/api.rs +ac98b91da7db1b6d880626d7a930b29d508e2d3c9171a019a264baf3a3b89757 ./src/api.rs 9040e8cb6647c76a875148b7591abcccfe4e2d4708ef462a1e5d25dd4ccac911 ./src/config.rs 5dfda2f4dc540c502885b0cd7017dc77768684588acf528f01d1fd88f1af4aec ./src/db.rs 66b264aeac7865b17faa60ca6b3673e97b31f3e6f43fb6dc048eb527f383da91 ./src/engine.rs diff --git a/src/api.rs b/src/api.rs index be22b6b..08fea5c 100644 --- a/src/api.rs +++ b/src/api.rs @@ -812,7 +812,8 @@ async fn apply_zone_control_patch(state: &AppState, id: &str, patch: ZoneControl safety_duration_seconds.map(|seconds| active_base.clone() + ChronoDuration::seconds(seconds as i64)) } else { None }; - let immediate_activation = !editing_active && start_kind == "now" && runtime.house_power_enabled && !zone.device_manual_override; + let starts_now = start_kind == "now"; + let immediate_activation = !editing_active && starts_now && runtime.house_power_enabled && !zone.device_manual_override; let restore_zone_enabled = if editing_active { existing_session.as_ref().and_then(|session| session.restore_zone_enabled) } else if immediate_activation { @@ -840,7 +841,7 @@ async fn apply_zone_control_patch(state: &AppState, id: &str, patch: ZoneControl } let state_value = if editing_active { if zone.device_manual_override { "paused_manual" } else { "active" } - } else if start_kind == "now" && zone.device_manual_override { + } else if starts_now && zone.device_manual_override { "paused_manual" } else { "scheduled" @@ -905,7 +906,7 @@ async fn apply_zone_control_patch(state: &AppState, id: &str, patch: ZoneControl hold_seconds, condition_started_at: None, condition_last_observed_at: None, - paused_at: if zone.device_manual_override && (editing_active || start_kind == "now") { + paused_at: if zone.device_manual_override && (editing_active || starts_now) { existing_session.as_ref().and_then(|session| session.paused_at.clone()).or(Some(now.clone())) } else { None }, deferred_mode: existing_session.as_ref().and_then(|session| session.deferred_mode.clone()),