- runDeploy: Repos mit package.json-build-Script ohne index.html werden
automatisch als node_build gebaut (Expo/Vite/React zeigen sonst nur den
Platzhalter); Build-Fehler fallen auf static+Platzhalter zurueck
- deployNodeBuild: npm-ci-Fallback auf npm install, Output-Erkennung
dist/build/out/web-build, maxBuffer+Timeout
- updateWebsiteProject: bestehenden type/index aus .webklar-preview.json
erhalten statt bei jedem Edit auf static zurueckzusetzen
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fehlt im Repo eine index.html, zeigte die Preview nur die
'wird vorbereitet'-Platzhalterseite, obwohl das eigentliche Projekt
(z.B. prototyp-app.html in knso/videogen) laengst deployt war.
ensureIndexHtml befoerdert jetzt die beste vorhandene HTML-Datei
(bevorzugte Namen, sonst einzige/groesste) per Kopie zur index.html;
der Platzhalter kommt nur noch, wenn gar keine HTML-Datei existiert.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- runDeploy schreibt Platzhalter-index.html, wenn das Deploy-Verzeichnis
keine index.html enthaelt (leergeraeumtes Repo/Fehlbuild) -> nie mehr
nginx 403 Forbidden, Subdomain bleibt erreichbar.
- deployStatic: Fallback auf Repo-Wurzel bei fehlendem index-Unterordner,
.git wird nicht mehr mit ausgeliefert.
- Webhook: fehlt .webklar-preview.json im Repo, wird die Hosting-Config aus
dem Appwrite-Projektstand rekonstruiert, ins Repo zurueckgeschrieben und
normal deployt (ensureRepoPreviewConfig).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Statt nur Name + Link zeigt jede Projektkarte jetzt ein kleines,
skaliertes Live-Fenster der echten Webseite (iframe der previewUrl,
responsiv per ResizeObserver auf 1280px-Basisbreite herunterskaliert).
Klick aufs Fenster oeffnet die Seite im neuen Tab. Nicht-fertige
Projekte zeigen einen Platzhalter statt iframe.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- archiveRepo: fehlt das Gitea-Repo (404), wird nur das Appwrite-Dokument
(ent)archiviert statt hart zu scheitern -> orphaned Projekte lassen sich
aus der Liste entfernen
- Reaktivierungs-Redeploy wird bei fehlendem Repo uebersprungen
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- hasPreview existiert im Live-Schema nicht -> Appwrite lehnte Update ab
- syncPreviewTls muss NACH updateDocument laufen, sonst liest es isPublic
noch im alten Zustand (oeffentlicher Router bekam faelschlich preview-auth)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>