From cfa605f36aa2cd30ddfa2dbf57b028fffe8321b7 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Thu, 25 Jun 2026 11:38:30 -0500 Subject: [PATCH] fix: fetchLocalHealth accepts degraded health responses (non-200) Heartbeat was not sending health/backup data to HQ because fetchLocalHealth rejected 503 responses from degraded sites. --- .../Extension/MokoSuiteClient.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/packages/plg_system_mokosuiteclient/Extension/MokoSuiteClient.php b/source/packages/plg_system_mokosuiteclient/Extension/MokoSuiteClient.php index 1b0ac12a..48478105 100644 --- a/source/packages/plg_system_mokosuiteclient/Extension/MokoSuiteClient.php +++ b/source/packages/plg_system_mokosuiteclient/Extension/MokoSuiteClient.php @@ -2866,12 +2866,14 @@ class MokoSuiteClient extends CMSPlugin implements BootableExtensionInterface 10 ); - if ($response->code !== 200 || empty($response->body)) + if ($response->code < 200 || $response->code >= 600 || empty($response->body)) { return null; } - return json_decode($response->body, true) ?: null; + $data = json_decode($response->body, true); + + return (\is_array($data) && isset($data['status'])) ? $data : null; } catch (\Throwable $e) {