diff --git a/docs/issues/0054-ki-geraeuschunterdrueckung-element-call.md b/docs/issues/0054-ki-geraeuschunterdrueckung-element-call.md index 78c2ca2..5e5be25 100644 --- a/docs/issues/0054-ki-geraeuschunterdrueckung-element-call.md +++ b/docs/issues/0054-ki-geraeuschunterdrueckung-element-call.md @@ -172,3 +172,43 @@ auf schwachen Geräten schlicht aus bleibt. (§5 dort ergänzen — die Absage galt der Server-Seite und bleibt gültig). Der Prototyp liegt außerhalb der Repos und ist Wegwerf-Material; er wird nicht eingecheckt. + +## Umgesetzt 2026-08-15 — threadnet-call `3f17001` + +Nach ADR-0018 gebaut. Alle Prüfungen des Repos grün: `tsc` 0, `eslint` 0, `prettier` sauber, +`ECConnectionFactory.test.ts` **9/9** (der Test deckt genau die geänderte +`noiseSuppression`-Logik ab), `pnpm build` erfolgreich. + +| Datei | Änderung | +|---|---| +| `src/livekit/aiNoiseSuppression.ts` | **neu** — baut den TrackProcessor, `undefined` wenn ausgeschaltet | +| `src/settings/settings.ts` | `ai-noise-suppression` (false), `ai-noise-suppression-level` (35) | +| `ConnectionFactory.ts` | `processor:` in `audioCaptureDefaults`; Browser-NS aus bei aktivem Filter | +| `SettingsModal.tsx` | Checkbox + Regler im **Audio**-Tab (nicht im Entwickler-Tab) | +| `public/assets/dfn3/**` | Modell + wasm, selbst ausgeliefert | +| `Dockerfile` | gzip für das Modell-wasm | +| `docs/axion1337-fork.md` | §5b mit Portier-Checkliste | + +### Zwei Funde beim Bauen, die die Zahlen verbessern + +1. **Der Dockerfile hätte die 23 MB ungzippt ausgeliefert.** Sein `gzip`-Glob greift nur auf + oberster Ebene, das Modell-wasm liegt aber in einem Unterordner. Gemessen: **15,7 → 4,1 MB** + (26 %). Zusammen mit dem bereits komprimierten Modell sind es **11,7 statt 23,3 MB** pro + Client. Behoben. +2. **Die 23 MB landen nicht im JS-Bundle.** Verifiziert: `dist/assets/index-*.js` bleibt bei + 2,9 MB, die Assets liegen daneben als statische Dateien. Das Opt-in-Nachladen funktioniert + also wie entworfen — wer den Filter aus lässt, lädt nichts. + +### Entscheidung sorb: Assets ins Git + +Statt beim Bauen zu holen. Begründung: ein Build-Zeit-Download von `cdn.mezon.ai` hätte genau +die Fremdabhängigkeit wieder eingeführt, die wir zur Laufzeit entfernt haben — nur verschoben. +So baut das Repo offline und aus sich heraus. Preis: +23 MB dauerhaft (bisher größte Datei: +1,4 MB), und dasselbe nochmal bei jedem Modell-Update. + +### Offen + +- **Image bauen und ausrollen** — bis dahin läuft die Änderung nirgends. +- **Echter Call zu zweit** als Abnahme: der Prototyp lief gegen die eigenen Kopfhörer, nicht + über die Leitung. +- **Mobil** weiterhin ungeprüft (ADR-0018, bewusst).