refactor: App-Umschalter und HONEYBAR_KEY entfernt
Beide waren Ballast, aber aus verschiedenen Gründen. Der App-Umschalter (EXTERNAL_APPS, AppSwitcher.tsx) hing seit dem 30.07.2026 nirgends mehr in der Oberfläche – auf Marcs Wunsch damals aus der Seitenleiste genommen, "weil eine gemeinsame Leiste für alle Apps noch überlegt wird". Diese Leiste gibt es inzwischen: die HoneyBar. Das Backend las die Variable trotzdem weiter und lieferte external_apps in der öffentlichen Konfiguration aus. Weg damit, samt Typ und Parser. HONEYBAR_KEY war der Ausweis für die App-Liste, wenn HoneyOS auf einer fremden Site liegt. Bei Marc liegen honeyos.duckdns.org und cloud.honeyos.duckdns.org unter derselben Site, das Sitzungscookie fließt also mit. Nachgesehen, wie HoneyOS entscheidet: Es prüft zuerst die Sitzung (SubFromRequest) und greift erst danach zum Schlüssel – die Leiste kommt hier ohne ihn an ihre Liste. Gedacht war er für Widgets; die sind vertagt. Aether schickt damit kein data-key mehr; HoneyOS behält seine Seite der Prüfung, für den Fall, dass später doch eine App auf fremder Domain dazu kommt. Nachgeprüft: go build, go vet und die Tests laufen; das Abbild baut ohne TypeScript-Fehler; die öffentliche Konfiguration liefert weder honeybar_key noch external_apps; im gebauten Bundle kommt data-key nicht mehr vor. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
31d51f9bc3
commit
9d152e3677
9 files changed
+4
-204
No files matched your search
@@ -374,16 +374,6 @@ func main() {
|
||||
faviconURL = admin.AppIconURL(s["app_icon_storage_key"], "64")
|
||||
appleTouchURL = admin.AppIconURL(s["app_icon_storage_key"], "192")
|
||||
}
|
||||
// Ohne Ursprung gibt es keine Leiste — dann hat auch der Schluessel
|
||||
// nichts auf der Seite zu suchen.
|
||||
honeybarKey := ""
|
||||
if cfg.HoneybarOrigin != "" {
|
||||
honeybarKey = cfg.HoneybarKey
|
||||
}
|
||||
apps := cfg.ExternalApps
|
||||
if apps == nil {
|
||||
apps = []config.ExternalApp{} // nie null – das Frontend erwartet eine Liste
|
||||
}
|
||||
response.JSON(w, http.StatusOK, map[string]any{
|
||||
"oidc_enabled": oidcHandler.IsEnabled(),
|
||||
"cloud_name": cloudName,
|
||||
@@ -392,7 +382,6 @@ func main() {
|
||||
"logo_url": logoURL,
|
||||
"favicon_url": faviconURL,
|
||||
"apple_touch_icon_url": appleTouchURL,
|
||||
"external_apps": apps,
|
||||
// Damit die Oberflaeche den Menuepunkt „Edit in Office" gar nicht
|
||||
// erst anbietet, wenn es keinen Office-Server gibt.
|
||||
"office_enabled": officeHandler.Enabled(),
|
||||
@@ -419,7 +408,6 @@ func main() {
|
||||
// .env umgezogen werden kann — und damit derselbe Ursprung
|
||||
// gilt, den die CSP erlaubt.
|
||||
"honeybar_origin": cfg.HoneybarOrigin,
|
||||
"honeybar_key": honeybarKey,
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
Reference in new issue
Block a user