From 904d60ed2be15331ea0488a37888b7377ea44491 Mon Sep 17 00:00:00 2001 From: boban Date: Sun, 26 Apr 2026 09:26:20 +0200 Subject: [PATCH] =?UTF-8?q?Fix:=20503=20fetch-Interceptor=20+=20Auto-Updat?= =?UTF-8?q?e-Polling=20+=20SSL-Banner=20pr=C3=BCft=20echte=20Certs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- app/Livewire/Ui/Nx/Dashboard.php | 10 +++++++++- app/Livewire/Ui/System/UpdateCard.php | 8 ++++++++ resources/views/layouts/dvx.blade.php | 19 +++++++++++-------- .../livewire/ui/system/update-card.blade.php | 4 +++- 4 files changed, 31 insertions(+), 10 deletions(-) diff --git a/app/Livewire/Ui/Nx/Dashboard.php b/app/Livewire/Ui/Nx/Dashboard.php index e3ca906..6f5e6e1 100644 --- a/app/Livewire/Ui/Nx/Dashboard.php +++ b/app/Livewire/Ui/Nx/Dashboard.php @@ -36,7 +36,15 @@ class Dashboard extends Component $servicesActive = count(array_filter($services, fn($s) => $s['status'] === 'online')); - $sslConfigured = SettingModel::get('ssl_configured', '1') === '1'; + // Echte Zertifikatsdateien prüfen — nicht nur DB-Wert (kann veraltet sein) + $uiDomain = (string) SettingModel::get('ui_domain', ''); + $sslConfigured = !$uiDomain + || file_exists("/etc/letsencrypt/renewal/{$uiDomain}.conf") + || is_dir("/etc/letsencrypt/live/{$uiDomain}"); + // DB-Wert nachziehen damit Banner nach einmaligem Check dauerhaft weg ist + if ($sslConfigured && SettingModel::get('ssl_configured', '0') !== '1') { + SettingModel::set('ssl_configured', '1'); + } return view('livewire.ui.nx.dashboard', [ 'sslConfigured' => $sslConfigured, diff --git a/app/Livewire/Ui/System/UpdateCard.php b/app/Livewire/Ui/System/UpdateCard.php index 989e8d8..8dd7360 100644 --- a/app/Livewire/Ui/System/UpdateCard.php +++ b/app/Livewire/Ui/System/UpdateCard.php @@ -92,6 +92,14 @@ class UpdateCard extends Component $this->recomputeUi(); } + public function refreshVersions(): void + { + if ($this->state === 'running') return; + $this->reloadVersionsAndStatus(); + $this->recompute(); + $this->recomputeUi(); + } + public function pollUpdate(): void { $this->refreshLowLevelState(); diff --git a/resources/views/layouts/dvx.blade.php b/resources/views/layouts/dvx.blade.php index 1e74730..6fb97ef 100644 --- a/resources/views/layouts/dvx.blade.php +++ b/resources/views/layouts/dvx.blade.php @@ -215,16 +215,19 @@ @livewireScripts @livewire('wire-elements-modal') diff --git a/resources/views/livewire/ui/system/update-card.blade.php b/resources/views/livewire/ui/system/update-card.blade.php index caa4c31..5acc852 100644 --- a/resources/views/livewire/ui/system/update-card.blade.php +++ b/resources/views/livewire/ui/system/update-card.blade.php @@ -1,6 +1,8 @@
{{-- Shield + Spinner --}}