# Element Web Customization: Themes, Desktop-Apps, Admin **Status**: ✅ Vollständig deployed **Domains**: `axion1337.chat` (Web), `/docs/setup` (Scripts) ## 1. Custom Themes (7 Stück) | Theme | Primärfarbe | |-------|-----------| | aXion1337 Dark | `#1a1a1a` | | Deep Purple | `#6a4c93` | | Discord Dark | `#2c2f33` | | Electric Blue | `#0066ff` | | Everforest Dark Hard | `#1e2326` | | Gruvbox Dark | `#282828` | | Wal | `#1e1e1e` | **Konfiguration**: `apps/production/custom-configs/element-values.yaml` **Anwendung (User)**: Settings → Appearance → Colour theme ## 2. Desktop-Setup-Scripts | System | Datei | |--------|-------| | Windows | `element-setup-windows.cmd` (Doppelklick) | | macOS | `element-setup-macos.command` (Doppelklick) | | Linux | `element-setup-linux.sh` (bash) | **Was die Scripts tun**: 1. config.json erstellen mit `configUrl: "https://axion1337.chat/config.json"` 2. Element installieren (WinGet / Homebrew / apt/dnf/pacman) 3. Element starten (auto-config laden) **Download**: `https://axion1337.chat/docs/setup/` ## 3. Element Admin-Panel **URL**: `https://admin.axion1337.chat` - User verwalten - Room durchsuchen - Server-Statistiken **Konfiguration**: `apps/production/element-server-suite.yaml` (ESS Chart) ## 4. Element Call Fork (Video/Audio-Qualität) **Status**: ✅ Deployed (2026-07-28, Closes Issue #8) - Fork: `rohana.axion1337.de/sorb/threadnet-call` (basiert auf `emmick4/element-call:livekit`, enthält den noch nicht gemergten Upstream-PR element-hq/element-call#3736 mit config-driven `media_quality` — kein Custom-Code nötig) - Defaults angehoben: Kamera bis **1440p/60fps** (~8 Mbps), Screen-Share **1440p/30fps** (~6 Mbps). Startwerte, keine harten Limits — Nutzer können in Settings weiter hochdrehen. - Rauschunterdrückung: clientseitige WebRTC-Standardtoggles (Echo/Noise/Gain), passend zu LiveKits eigener Empfehlung für Mensch-zu-Mensch-Calls. Bewusst **kein** server-seitiges ML-Noise-Cancellation (siehe `docs/TASKS.md` Backlog). - **Incident (2026-07-28)**: Erster Versuch mit erzwungenem `video_codec: vp9` hat Calls komplett kaputt gemacht (kein Bild/Ton). Sofort zurückgerollt. Vermutete Ursache: LiveKit nutzt für vp9/av1 SVC statt klassischem Simulcast, `buildPublishOptions()` im Fork setzt aber immer Simulcast-Layer — Code-Fix nötig, bevor vp9 erneut versucht wird (Backlog). - **720p-Zwischen-Layer ergänzt** (`simulcast_layers`) — ohne eigene Definition fiel die Übertragung bei kleinsten Netzwerkschwankungen direkt von 1440p auf blockiges 360p, jetzt sanftere Abstufung über 720p. - **H.264 statt VP8** (2026-07-28) — nutzt wie VP8 klassisches Simulcast (kein SVC-Risiko wie bei VP9), zusätzlich auf vielen Geräten (v.a. iOS/Safari) hardwarebeschleunigt. Live verifiziert: 7 von 8 Video-Tracks liefen über H.264, 1 fiel sauber auf den VP8-Backup-Codec zurück (kein Ausfall). Deployed als `v0.2.3-elementcall-h264`. - Deployt als `rohana.axion1337.de/sorb/threadnet-web:v0.2.1-elementcall-noquotavp9` — nur der `/app/widgets/element-call/`-Ordner im bestehenden `v0.1.0`-Image ausgetauscht, da `ThreadNet-Web` einen vorbestehenden Build-Bug hat (siehe unten). - Config live prüfbar: `https://axion1337.chat/widgets/element-call/config.json` **Bekannter, nicht behobener Bug in `ThreadNet-Web`**: `scripts/docker-link-repos.sh` / `docker-package.sh` sind nicht ausführbar committet (Mode 644), und der gepinnte `matrix-js-sdk#develop`-Commit im Lockfile ist zu alt (fehlt `src/oidc/authorize.ts`) — blockiert einen kompletten Neu-Build des Forks von Grund auf. ## Dateien | Datei | Ort | |-------|-----| | Custom Themes | `element-values.yaml` ConfigMap | | Setup-Scripts | `element-web-docs-configmap.yaml` | | Docs Server | `element-web-docs-server.yaml` (nginx) | | Ingress | `apex-ingress.yaml` (`/docs/setup/` route) | --- **Weitere Details**: Siehe Kapitel 4.