feat(audio): open the AI noise suppression gate after passed acceptance
Two-person call on 2026-08-17: filter effective, keyboard gone, unmuting intact on both sides - the acceptance that gates this flag, per the standing rule from the v0.5.0 incident. The gate flips to true, which brings the checkbox and slider back into the in-call settings. The dev override stays in the code as the tool for the next test phase of this kind; a test pins that it does nothing without the regular setting. The rollback lever for any regression is the gate itself, not a deployment revert. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
df4e5eeb85
commit
e3f8a8570a
+12
-10
@@ -145,11 +145,11 @@ Daraus zwei **stehende Regeln** fuer diesen Fork:
|
||||
umgeschriebenes Feld. Umgesetzt als bedingtes Spread in `generateRoomOption`
|
||||
(`ConnectionFactory.ts`), abgesichert durch Regressionstests in
|
||||
`ECConnectionFactory.test.ts` (die auf dem alten Stand nachweislich rot waren).
|
||||
2. **Feature-Tor:** `AI_NOISE_SUPPRESSION_AVAILABLE` in `src/livekit/aiNoiseSuppression.ts`
|
||||
steht auf `false`, bis die Track-Anbindung im Call zu zweit abgenommen ist.
|
||||
Das Tor neutralisiert auch Clients, die die Einstellung bereits aktiviert hatten
|
||||
(localStorage) - deren Zustand ueberlebt jedes Deployment. Die Bedienelemente in
|
||||
`SettingsModal.tsx` sind hinter demselben Tor versteckt.
|
||||
2. **Feature-Tor:** `AI_NOISE_SUPPRESSION_AVAILABLE` in `src/livekit/aiNoiseSuppression.ts`.
|
||||
Seit der bestandenen Abnahme (2026-08-17, Call zu zweit: Filter wirksam, Tastatur weg,
|
||||
Entmuten intakt) steht es auf `true`. **Bei einer Regression zuerst das Tor schliessen**
|
||||
(`false`) - das legt Filter UND Bedienelemente still, neutralisiert auch Clients mit
|
||||
aktivierter Einstellung im localStorage, und braucht kein Zurueckrollen der Auslieferung.
|
||||
|
||||
### Weg B (Entscheidung sorb 2026-08-16): AudioContext nur auf dem Mikrofon-Track
|
||||
|
||||
@@ -167,11 +167,13 @@ Die `audioCaptureDefaults` tragen damit in **keinem** Zustand mehr einen
|
||||
noch `noiseSuppression` umgeschaltet, damit Browser- und KI-Filter nicht
|
||||
gegeneinander arbeiten.
|
||||
|
||||
**Testausrollung:** Das Tor bleibt zu. Ein einzelner Test-Client aktiviert den Filter
|
||||
ueber ZWEI localStorage-Schluessel: `matrix-setting-ai-noise-suppression-dev = true`
|
||||
(Entwickler-Schalter, bewusst ohne UI) **und** `matrix-setting-ai-noise-suppression =
|
||||
true`. Die normale Einstellung allein bleibt wirkungslos. Erst nach bestandener
|
||||
Abnahme im Call zu zweit wird das Tor geoeffnet und die UI wieder sichtbar.
|
||||
**Testausrollung (durchlaufen, 2026-08-17 bestanden):** Waehrend das Tor zu war,
|
||||
aktivierte ein einzelner Test-Client den Filter ueber ZWEI localStorage-Schluessel:
|
||||
`matrix-setting-ai-noise-suppression-dev = true` (Entwickler-Schalter, bewusst ohne UI)
|
||||
**und** `matrix-setting-ai-noise-suppression = true`. Der Entwickler-Schalter bleibt im
|
||||
Code (harmlos: ohne die eigentliche Einstellung wirkungslos, per Test abgesichert) -
|
||||
er ist das Werkzeug fuer die naechste Testphase dieser Art. Die Bedienelemente sitzen
|
||||
in den Einstellungen **im laufenden Call-Widget** (Audio-Reiter), nicht in Element Web.
|
||||
Einstellungs-Aenderungen wirken ab dem naechsten Beitritt, nicht live im Call.
|
||||
|
||||
## 6. Produktname im Widget (`.env.production`)
|
||||
|
||||
Reference in New Issue
Block a user