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>
46 lines
2.2 KiB
HTML
46 lines
2.2 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<!-- viewport-fit=cover: Als installierte App soll der Inhalt den ganzen
|
||
Schirm nutzen und nicht neben der Kamera-Aussparung eingerahmt stehen.
|
||
Der Preis ist, dass er dann *unter* Statusleiste und Wischbalken laufen
|
||
kann – dagegen die safe-area-Abstände in index.css. -->
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
||
<link rel="icon" type="image/svg+xml" href="/icon.svg" />
|
||
<link rel="apple-touch-icon" href="/icon-192.png" />
|
||
<!-- Das Plugin fuegt keinen Link mehr ein (manifest: false) – der Server
|
||
erzeugt das Manifest aus den Einstellungen. -->
|
||
<link rel="manifest" href="/manifest.webmanifest" />
|
||
<meta name="theme-color" content="#6366f1" />
|
||
<title>Aether</title>
|
||
</head>
|
||
<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.
|
||
|
||
data-key kommt aus HONEYBAR_KEY in der .env und wird beim Bauen
|
||
eingesetzt. 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="https://honeyos.duckdns.org/honeybar/honeybar.js"
|
||
data-app="aether" data-key="%VITE_HONEYBAR_KEY%"></script>
|
||
</body>
|
||
</html>
|