feat(honeybar): HoneyOS-Leiste einbinden, CSP-Ausnahme dafür
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>
This commit is contained in:
1 parent
b5a83e4057
commit
9b8e82cdb2
6 files changed
+164
-17
No files matched your search
@@ -18,5 +18,20 @@
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/main.tsx"></script>
|
||||
|
||||
<!-- HoneyOS-Leiste: der Umschalter zwischen den eigenen Apps. Sie rendert
|
||||
in einem Shadow DOM, Aethers Stile berührt sie nicht.
|
||||
|
||||
Sie steht hier statt serverseitig eingespritzt, weil der Service Worker
|
||||
die index.html in seinen Vorrat legt (navigateFallback) — was zur
|
||||
Bauzeit nicht drinsteht, käme beim Browser nie an.
|
||||
|
||||
`defer`: ohne wartet der Seitenaufbau auf das Skript. Ist HoneyOS
|
||||
langsam oder aus, darf das Aether nicht ausbremsen.
|
||||
|
||||
Damit der Browser sie überhaupt lädt, muss HONEYBAR_ORIGIN in der .env
|
||||
auf denselben Ursprung zeigen — sonst blockt die CSP. -->
|
||||
<script defer src="https://os.honeyy.duckdns.org/honeybar/honeybar.js"
|
||||
data-app="aether"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user