From 55846c563539871e5fd96c1b13eb2021a0b04e5b Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Mon, 13 Nov 2023 12:59:59 +0100 Subject: [PATCH] Fix service retrieval and add error handling --- bootstrap/helpers/shared.php | 27 +++++++++++-------- .../livewire/project/new/select.blade.php | 2 +- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/bootstrap/helpers/shared.php b/bootstrap/helpers/shared.php index ae0f78642..d6766a8d0 100644 --- a/bootstrap/helpers/shared.php +++ b/bootstrap/helpers/shared.php @@ -447,20 +447,25 @@ function getServiceTemplates() if (isDev()) { $services = File::get(base_path('templates/service-templates.json')); $services = collect(json_decode($services))->sortKeys(); - $version = config('version'); - $services = $services->map(function ($service) use ($version) { - if (version_compare($version, data_get($service, 'minVersion', '0.0.0'), '<')) { - $service->disabled = true; - } - return $service; - }); } else { - $services = Http::get(config('constants.services.official')); - if ($services->failed()) { - throw new \Exception($services->body()); + try { + $response = Http::retry(3, 50)->get(config('constants.services.official')); + if ($response->failed()) { + return collect([]); + } + $services = $response->json(); + $services = collect($services)->sortKeys(); + } catch (\Throwable $e) { + $services = collect([]); } - $services = collect($services->json())->sortKeys(); } + // $version = config('version'); + // $services = $services->map(function ($service) use ($version) { + // if (version_compare($version, data_get($service, 'minVersion', '0.0.0'), '<')) { + // $service->disabled = true; + // } + // return $service; + // }); return $services; } diff --git a/resources/views/livewire/project/new/select.blade.php b/resources/views/livewire/project/new/select.blade.php index 145e7a152..05b1aa6db 100644 --- a/resources/views/livewire/project/new/select.blade.php +++ b/resources/views/livewire/project/new/select.blade.php @@ -182,7 +182,7 @@ @endif @empty -
No service found.
+
No service found. Please try to reload the list!
@endforelse @endif