Files
management/docs/issues/0093-threadnet-web-3-settings-normalisieren-video-audio-einstellun.md
T
Thore CimbalandClaude Opus 5 a1def8666e feat(issues): adopt the component trackers — one backlog, one numbering (ADR-0019)
ADR-0012 made docs/issues/ canonical for the management scope only and left
gitops, ThreadNet-Web and threadnet-call on GitLab "until the component adopts".
That split produced exactly what it invited: two numbering worlds where
management#20 and gitops#20 are different issues, drift nobody had to answer for
(gitops#61 carried no milestone since 2026-08-11), and component backlogs that
host sessions without lab access cannot read at all.

The 46 open component issues are now files 0056-0101. The file id is the
group-wide identifier; provenance lives in the frontmatter (new field `projekt`
plus gitlab_iid) and in the filename, so "gitops#61" still finds 0091. Bodies are
copied verbatim; comments and history stay on GitLab, as with the 2026-08-11
management import.

Both scripts learned the second dimension: spiegel_issues.py routes each file to
its origin project, reopens issues that are open in the repo but closed on the
board, and writes the new iid back after creating one; gruppenpruefung.py checks
drift across all four trackers instead of management alone. What the mirror
cannot decide stays a finding, not a silent state.

Two things needed a hand, both recorded in the files: gitops#61 had no milestone
(M1 - it is a live account-takeover path) and carried two area labels where the
schema holds one. The Gitea migration footers in the imported bodies point at
decommissioned trackers; their links are removed, the provenance sentence stays.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 12:00:00 +00:00

2.9 KiB

type, id, status, created, milestone, priority, projekt, gitlab_iid, related
type id status created milestone priority projekt gitlab_iid related
issue 0093 open 2026-07-29 M4 medium threadnet-web 3

Settings normalisieren: Video/Audio-Einstellungen nur im Call-Widget, nicht im Haupt-Client

Adoptiert aus threadnet-web#3 (2026-08-18, ADR-0019). Kommentare und Verlauf bleiben dort; kanonisch ist ab jetzt diese Datei.

Beim Durchgehen der Einstellungs-Oberflächen aufgefallen: Element Web (der Haupt-Client) und Element Call (das eingebettete Widget) haben getrennte, sich teils überschneidende Settings-UIs für Audio/Video, ohne erkennbare Synchronisation.

Konkreter Ist-Zustand:

  • Element Web hat einen eigenen "Voice & Video"-Tab (apps/web/src/components/views/settings/tabs/user/VoiceUserSettingsTab.tsx) mit: Audio-Eingabe-/Ausgabegerät, Video-Eingabegerät, sowie Echo-Cancellation/Noise-Suppression/ Auto-Gain-Toggles.
  • Element Call (unser Fork, threadnet-call) hat im "Video"-Tab (heute erweitert, Issue #8/#11-Kontext) eigene AudioProcessingSettings (dieselben drei Audio-Toggles!) UND die MediaQualitySettings (Auflösung/Framerate/Bitrate/Codec für Kamera + Screen-Share).
  • Überschneidung: die Echo/Noise/Gain-Toggles existieren scheinbar an beiden Stellen als getrennte Settings-Objekte (unterschiedliche SettingLevel/Storage-Mechanismen je nach Codebasis) - unklar, ob sie synchron bleiben oder sich widersprechen können.
  • Lücke: die Video-Qualitätseinstellungen (Auflösung/Framerate/Bitrate/Codec) gibt es nur im Call-Widget. Ein Nutzer, der seine Präferenzen vorab einstellen will (ohne gerade in einem Call zu sein), findet dafür nichts im Haupt-Client - müsste dafür erst einen Call starten/das Widget öffnen.

Mehrwert einer Normalisierung: konsistente, einmal auffindbare Einstellungen statt zwei getrennter Orte mit potenziell widersprüchlichem Zustand. Nutzer erwarten Video-Qualitätseinstellungen vermutlich eher im Haupt-Client als im Widget.

Zu klären/umzusetzen (spannt vermutlich beide Repos, ThreadNet-Web + threadnet-call):

  1. Bestandsaufnahme: teilen sich die Audio-Toggles bereits denselben Storage-Mechanismus (z.B. beide über Matrix-Account-Data) oder sind das wirklich zwei unabhängige Zustände?
  2. Video-Qualitätseinstellungen: entweder in Element Webs eigenen "Voice & Video"-Tab duplizieren (mit Sync zum Widget) oder zumindest einen Link/Verweis vom Haupt-Client zum Call-Widget-Setting ergänzen, damit sie auffindbar sind, ohne aktiv in einem Call zu sein.
  3. Grundsatzentscheidung: sollen beide UIs langfristig dieselben Setting-Objekte teilen (echte Normalisierung), oder reicht ein Verweis/Link als pragmatischere Zwischenlösung?

Migriert aus Gitea sorb/ThreadNet-Web#3 — dort erstellt am 2026-07-29 von sorb.