From 3f21f1c725a32318685365d5cb89089312feb9fd Mon Sep 17 00:00:00 2001 From: Alexander Zielonka Date: Wed, 9 Sep 2026 18:18:15 +0200 Subject: [PATCH] Installer meldete Fehler, wo keine waren Zwei Fehler, beide in scripts/install.ps1: 1. Die Hilfsfunktion Ruf gab die Programmausgabe mit zurueck. `return $LASTEXITCODE` nach `& $Datei` liefert ein Array aus allen Ausgabe- zeilen plus Exit-Code - jeder Vergleich damit ist falsch. Deshalb galt ein erfolgreiches fetch-model als fehlgeschlagen und die check-env- Ausgabe verschwand. Jetzt ueber Out-Host. 2. Die Bereitschaftspruefung fragte http://localhost:4792/health ab. Der Daemon lauscht nur auf IPv4, Windows loest localhost aber zuerst nach ::1 auf: gemessen 2066 ms bis zum Rueckfall gegenueber 15 ms direkt. Bei einem Zeitlimit von 2 s lief die Pruefung jedes Mal ab, obwohl der Daemon laengst lief. Jetzt 127.0.0.1. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01AhVSfMFdWnXKCv5JfLnArZ --- scripts/install.ps1 | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/scripts/install.ps1 b/scripts/install.ps1 index 2edcbf2..7c0c0bf 100644 --- a/scripts/install.ps1 +++ b/scripts/install.ps1 @@ -44,7 +44,14 @@ function Ruf { param([string]$Datei, [string[]]$Argumente) $alt = $ErrorActionPreference $ErrorActionPreference = 'Continue' - try { & $Datei @Argumente; return $LASTEXITCODE } + try { + # Out-Host, damit die Ausgabe sichtbar bleibt, aber nicht zum + # Rueckgabewert wird. Ohne das kommt statt des Exit-Codes ein Array + # aus allen Ausgabezeilen zurueck - und jeder Vergleich damit ist + # falsch, ohne dass es auffaellt. + & $Datei @Argumente | Out-Host + return $LASTEXITCODE + } finally { $ErrorActionPreference = $alt } } @@ -202,13 +209,18 @@ if (-not $KeinAutostart) { Start-ScheduledTask -TaskName 'abdulive' # Warten, bis die Weboberflaeche antwortet - sonst oeffnet der Browser - # ins Leere. Der Daemon braucht ein paar Sekunden fuer Datenbank und - # erste Verbindungen. + # ins Leere. Der Daemon braucht einen Moment fuer Datenbank und erste + # Verbindungen. + # + # 127.0.0.1 und nicht localhost: der Daemon lauscht nur auf IPv4, und + # Windows loest localhost zuerst nach ::1 auf. Gemessen 2066 ms bis zum + # Rueckfall gegenueber 15 ms direkt - die Pruefung lief jedes Mal in ihr + # eigenes Zeitlimit. $bereit = $false foreach ($i in 1..30) { Start-Sleep -Seconds 1 try { - $null = Invoke-WebRequest 'http://localhost:4792/health' -UseBasicParsing -TimeoutSec 2 + $null = Invoke-WebRequest 'http://127.0.0.1:4792/health' -UseBasicParsing -TimeoutSec 2 $bereit = $true break } catch { }