Systemmenue im Logo, in beiden Leisten

Das ■ HONEYOS ist jetzt ein Menue statt eines Links: Schreibtisch,
Einstellungen, HoneyBar einklappen, Abmelden. In fremden Apps sind es
Links auf den Schreibtisch (?einstellungen=1 / ?abmelden=1), weil die
HoneyBar dort nicht schreiben darf — Sitzung und CSRF-Pruefwort ueber-
leben die Site-Grenze nicht, und ein Abmelden per Aufruf koennte jede
Seite ausloesen.

Der Abmeldeknopf in der Menueleiste faellt weg (stand doppelt), und
Abmelden erscheint nur, wenn HoneyOS ueberhaupt anmeldet — dafuer gibt
/api/apps jetzt oidc mit heraus. Nebenbei: restliche 'Leiste' im Text
zu 'HoneyBar' vereinheitlicht.
This commit is contained in:
marc committed 2026-08-29 21:23:11 +02:00
1 parent 52deffa30e
commit 0a5cd94ba0
12 files changed
+244 -51

No files matched your search

+30 -1
View File
@@ -386,12 +386,41 @@ nur, wessen App selbst eine schickt.
- **Andere Proxys:** Caddy braucht ein Zusatzmodul (`replace-response`),
Traefik ein Plugin für den Antwortkörper. nginx kann es ohne Erweiterung.
## Das Systemmenü im Logo
Das `■ HONEYOS` links ist ein Menü — auf dem Schreibtisch wie in jeder App:
| in der HoneyBar (fremde App) | auf dem Schreibtisch |
|---|---|
| Schreibtisch | Über HoneyOS |
| Einstellungen … | Einstellungen |
| HoneyBar einklappen | Terminal-/Desktop-Modus |
| Abmelden | Abmelden |
Rechts daneben bleibt der Pfeil mit den Apps. Eines auf heißt anderes zu.
**In den Apps sind es Links auf den Schreibtisch, keine Handlungen** — und das
ist eine Grenze, keine Bequemlichkeit. Einstellungen und Abmelden schreiben, und
dafür braucht der Server die HoneyOS-Sitzung: Aus einer fremden Site schickt der
Browser sie nicht mit, und selbst unter einer Domain liegt das CSRF-Prüfwort in
einem Cookie, das nur HoneyOS' eigene Seiten lesen dürfen. Ein Abmelden, das ein
einfacher Aufruf erledigt, könnte außerdem jede beliebige Seite auslösen.
Also stellt die HoneyBar die Frage in der Adresse (`?einstellungen=1`,
`?abmelden=1`), und der Schreibtisch beantwortet sie: Er macht dasselbe
Einstellungsfeld auf, das auch `[S]` öffnet, und meldet mit einem echten POST
ab. Danach nimmt er den Anhang aus der Adresse wieder heraus.
`Abmelden` steht nur da, wenn HoneyOS überhaupt anmeldet — im offenen Betrieb
oder hinter einem Proxy fehlt der Punkt. Deshalb gibt `/api/apps` neben Liste
und Aussehen auch `oidc` heraus.
## Wer angemeldet ist
Steht auf dem Schreibtisch, als eigenes Widget: Bild, Name und Begrüßung, aus
der HoneyOS-Anmeldung. In den Apps steht es **nicht** — die HoneyBar dort trägt
genau dasselbe wie die Menüleiste hier, sonst merkt man beim Wechsel, dass es
zwei verschiedene Leisten sind.
zwei verschiedene HoneyBars sind.
Früher konnte jede App einen „Wer-bin-ich"-Pfad und einen Token-Schlüssel
mitbringen; die HoneyBar fragte damit die App nach dem Anzeigenamen. Beides ist