HoneyOS liegt auf einer anderen Site als Aether – duckdns.org steht auf der
Public-Suffix-Liste, die gemeinsame Endung zaehlt fuer den Browser also
nicht. Folge: bei der Anfrage der Leiste schickt er die HoneyOS-Sitzung
nicht mit, und ohne zweiten Ausweis bekaeme sie nie eine App-Liste.
- data-key kommt aus HONEYBAR_KEY in der .env und wird beim Bauen von Vite
in die index.html eingesetzt. Bewusst nicht im Quelltext: er kaeme sonst
ins Repo und liesse sich nur mit einer Code-Aenderung wechseln.
- Leer gebaut heisst data-key="" – die Leiste bekommt dann keine Liste,
Aether bleibt davon unberuehrt.
Nach einer Aenderung an HONEYBAR_KEY ist ein `build app` noetig, ein
Neustart genuegt nicht.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Die Leiste kommt als Skript von der HoneyOS-Domain und holt sich von dort
ihre App-Liste. Beides blockte die CSP bisher (script-src / connect-src
fielen auf 'self' zurueck) – ohne Ausnahme erschien sie gar nicht.
- HONEYBAR_ORIGIN nimmt genau diesen einen Ursprung in script-src und
connect-src auf. Leer heisst: keine Leiste, und die Regel bleibt so eng
wie bisher. Frame-Freigabe erbt sie ausdruecklich nicht.
- SecurityHeaders nimmt die Ausnahmen jetzt als CSP-Struct statt als
variadische frameSrc-Liste – mit drei Richtungen wurde das sonst unklar.
- Das <script>-Tag steht in der index.html und nicht serverseitig
eingespritzt: der Service Worker legt die index.html in seinen Vorrat
(navigateFallback), was zur Bauzeit fehlt, kaeme im Browser nie an.
- defer, damit ein langsames oder abgeschaltetes HoneyOS den Start von
Aether nicht ausbremst.
Tests fuer die neue Regel: eng ohne Ausnahme, beide Richtungen mit,
Pfad wird auf den Ursprung gekuerzt, Adresse ohne Schema faellt raus.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Go-Backend (chi, pgx, golang-migrate) + React/TS-Frontend als PWA.
Enthalten: Auth inkl. OIDC, Dateien mit Versionen und Papierkorb,
Freigaben (Links + intern), WebDAV, Gruppenordner, Admin/Theming,
Volltextsuche mit OCR, eigener PDF-Betrachter und WOPI-Office
(Collabora/OnlyOffice).
Nicht im Repo: deploy/.env (Sitzungsschlüssel, DB- und Admin-Passwort)
sowie alle Daten- und Build-Verzeichnisse – siehe .gitignore.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>