Almost every tracked file in the repo had drifted to mode 777 on disk (only files created fresh this session were unaffected), and a chunk of that drift had already been committed as spurious +x bits on plain YAML/Markdown files (authentik.yaml, kustomization.yaml, coturn.yaml, element-server-suite.yaml, TASKS.md, install.md, etc.) - none of these need to be executable. Restored to 644 for regular files, 755 only for actual scripts (postCreateCommand.sh, docker-init.sh, install-hooks.sh, pre-commit hook, element-setup-linux.sh). Also found element-setup-macos.command was missing +x despite having a shebang and being meant for double-click execution on macOS - fixed. Added .gitignore for .DS_Store and .claude/ and stopped tracking the five .DS_Store files that had been committed by accident. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
3.8 KiB
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:
- config.json erstellen mit
configUrl: "https://axion1337.chat/config.json" - Element installieren (WinGet / Homebrew / apt/dnf/pacman)
- 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 aufemmick4/element-call:livekit, enthält den noch nicht gemergten Upstream-PR element-hq/element-call#3736 mit config-drivenmedia_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.mdBacklog). - Incident (2026-07-28): Erster Versuch mit erzwungenem
video_codec: vp9hat 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 bestehendenv0.1.0-Image ausgetauscht, daThreadNet-Webeinen 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.