From 8263394ab4cef14359e81ed5205a0efe788c84c0 Mon Sep 17 00:00:00 2001 From: David Jardin Date: Tue, 6 Jan 2026 18:00:35 +0100 Subject: [PATCH 1/2] ignore specific finalizeition errors to reduce noice --- app/Jobs/UpdateSite.php | 3 ++- app/RemoteSite/Responses/FinalizeUpdate.php | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/app/Jobs/UpdateSite.php b/app/Jobs/UpdateSite.php index 8e039af..aa318b0 100644 --- a/app/Jobs/UpdateSite.php +++ b/app/Jobs/UpdateSite.php @@ -8,6 +8,7 @@ use App\Models\Site; use App\RemoteSite\Connection; use App\RemoteSite\Responses\PrepareUpdate; +use App\Services\FinalizeErrorAssessor; use GuzzleHttp\Exception\RequestException; use Illuminate\Contracts\Queue\ShouldBeUnique; use Illuminate\Contracts\Queue\ShouldQueue; @@ -142,7 +143,7 @@ public function handle(): void // Run the postupdate steps $postUpdateResult = $connection->finalizeUpdate(["fromVersion" => $healthResult->cms_version]); - if (!$postUpdateResult->success) { + if (!$postUpdateResult->success && !$postUpdateResult->hasIgnorableError()) { throw new UpdateException( "finalize", "Update for site failed in postprocessing: " . $this->site->id . ", errors: " . json_encode($postUpdateResult->errors), diff --git a/app/RemoteSite/Responses/FinalizeUpdate.php b/app/RemoteSite/Responses/FinalizeUpdate.php index e8c651c..14dc0ec 100644 --- a/app/RemoteSite/Responses/FinalizeUpdate.php +++ b/app/RemoteSite/Responses/FinalizeUpdate.php @@ -11,4 +11,23 @@ public function __construct( public ?array $errors = null, ) { } + + public function hasIgnorableError(): bool + { + if (is_null($this->errors)) { + return false; + } + + $errorString = json_encode($this->errors); + + if (str_contains($errorString, 'Undefined constant') && str_contains($errorString, 'T4PATH_MEDIA')) { + return true; + } + + if (str_contains($errorString, 'Error on updating manifest cache') && str_contains($errorString, 'T4PATH_MEDIA')) { + return true; + } + + return false; + } } From 87aa3d77fb38cecc5d2cca3f217ebf4bc280f835 Mon Sep 17 00:00:00 2001 From: David Jardin Date: Tue, 6 Jan 2026 18:02:19 +0100 Subject: [PATCH 2/2] cs fix --- app/Jobs/UpdateSite.php | 1 - app/RemoteSite/Responses/FinalizeUpdate.php | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/app/Jobs/UpdateSite.php b/app/Jobs/UpdateSite.php index aa318b0..86b79a4 100644 --- a/app/Jobs/UpdateSite.php +++ b/app/Jobs/UpdateSite.php @@ -8,7 +8,6 @@ use App\Models\Site; use App\RemoteSite\Connection; use App\RemoteSite\Responses\PrepareUpdate; -use App\Services\FinalizeErrorAssessor; use GuzzleHttp\Exception\RequestException; use Illuminate\Contracts\Queue\ShouldBeUnique; use Illuminate\Contracts\Queue\ShouldQueue; diff --git a/app/RemoteSite/Responses/FinalizeUpdate.php b/app/RemoteSite/Responses/FinalizeUpdate.php index 14dc0ec..6dd944c 100644 --- a/app/RemoteSite/Responses/FinalizeUpdate.php +++ b/app/RemoteSite/Responses/FinalizeUpdate.php @@ -18,7 +18,7 @@ public function hasIgnorableError(): bool return false; } - $errorString = json_encode($this->errors); + $errorString = (string) json_encode($this->errors); if (str_contains($errorString, 'Undefined constant') && str_contains($errorString, 'T4PATH_MEDIA')) { return true;