Manifest der Verwaltungs-App an der Zugangswand freigeben

Beim ersten Live-Test war die App nicht installierbar: Symbole 200,
Manifest 302.

Die Zugangswand hat eine Ausnahmeliste fuer App-Bausteine -- sw.js und
app.webmanifest stehen ausdruecklich darin, mit einer ausfuehrlichen
Begruendung aus dem Universe. Das neue Manifest fehlte schlicht.

Der Grund gilt hier sogar staerker als bei der oeffentlichen App: Die
Verwaltung liegt IMMER hinter der Schranke. Ohne Freigabe bekommt der
Browser statt des Manifests eine Umleitung auf zugang.html, also HTML
statt JSON -- und bietet "App installieren" gar nicht erst an.

Unbedenklich: Das Manifest enthaelt Name, Farben, Symbolpfade und drei
Verknuepfungen. Keine Kunden-, Projekt- oder Preisdaten. Wer es liest,
erfaehrt, dass es eine Verwaltung gibt -- was die Zugangswand ohnehin
verraet.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-08-26 16:13:40 +02:00
co-authored by Claude Opus 5
parent 1608521854
commit 62cbd724e2
+18 -1
View File
@@ -478,7 +478,24 @@ export function webdesignGate(req, res, next) {
sondern prueft nur den eigenen Browser und meldet Statusnummern. */
pfad === "/webdesign/diagnose.html" ||
pfad === "/webdesign/sw.js" ||
pfad === "/webdesign/app.webmanifest"
pfad === "/webdesign/app.webmanifest" ||
/* Das Manifest der Verwaltungs-App (26.08.2026). Aus demselben
Grund wie app.webmanifest daneben — und der Grund ist hier noch
zwingender: Die Verwaltung liegt IMMER hinter der Zugangswand.
Ohne diese Zeile bekam der Browser statt des Manifests eine
302-Umleitung auf zugang.html, also HTML statt JSON, und bot
"App installieren" gar nicht erst an.
Beim ersten Live-Test genau so aufgetreten: Symbole 200, Manifest
302. Die Symbole liegen unter /assets/ und waren nie betroffen —
der Fehler betraf ausgerechnet die eine Datei, ohne die nichts
geht.
Unbedenklich: Das Manifest enthält Name, Farben, Symbolpfade und
drei Verknüpfungen. Keine Kunden-, Projekt- oder Preisdaten. Wer
es liest, erfährt, dass es eine Verwaltung GIBT — was die
Zugangswand ohnehin verrät. */
pfad === "/webdesign/verwaltung.webmanifest"
) {
return next();
}