fix(honeybar): Ursprung zur Laufzeit statt beim Bauen
Die Adresse im <script>-Tag stand fest in der index.html, waehrend die CSP aus HONEYBAR_ORIGIN kam. Wer die Leiste woanders betreibt, bekam genau den Widerspruch: die CSP erlaubte den eigenen Ursprung, geladen wurde der alte. Der erste Versuch, das ueber ein Bau-Argument zu loesen, half beim fertigen Abbild nicht — dort ist der Bau vorbei, und ein Umzug haette einen Neubau verlangt. Ursprung und Schluessel stehen jetzt in /api/v1/public/config, die Oberflaeche haengt das Skript selbst ein. Beides speist sich aus derselben Variablen wie die CSP, sie koennen also nicht auseinanderlaufen, und eine Aenderung wirkt beim Neustart. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
6c7eb348b0
commit
57156a6394
11 files changed
+74
-67
No files matched your search
@@ -19,27 +19,5 @@
|
||||
<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.
|
||||
|
||||
Ursprung und Schlüssel kommen beide aus der .env (HONEYBAR_ORIGIN,
|
||||
HONEYBAR_KEY) und werden beim Bauen eingesetzt. Derselbe Ursprung
|
||||
landet zur Laufzeit in der CSP — so können die beiden nicht
|
||||
auseinanderlaufen. Ist er leer, entfernt vite.config.ts diesen Tag
|
||||
ganz; Aether läuft dann ohne Leiste weiter. HoneyOS liegt auf einer anderen Site als Aether
|
||||
(duckdns.org ist ein public suffix), deshalb schickt der Browser die
|
||||
HoneyOS-Sitzung nicht mit — ohne diesen zweiten Ausweis bekäme die
|
||||
Leiste nie eine App-Liste. Der Schlüssel steht bewusst nicht im
|
||||
Quelltext: er käme sonst ins Repo und liesse sich nur mit einer
|
||||
Code-Änderung wechseln. -->
|
||||
<script defer src="%VITE_HONEYBAR_ORIGIN%/honeybar/honeybar.js"
|
||||
data-app="aether" data-key="%VITE_HONEYBAR_KEY%"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user