v0.8.6-r2

This commit is contained in:
Mateusz Gruszczyński
2026-08-28 12:58:48 +02:00
parent 615b2836b7
commit 7b5c9e4528
3 changed files with 7 additions and 5 deletions
+1
View File
@@ -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
+2 -2
View File
@@ -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
+4 -3
View File
@@ -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()),