refactor(ui): Geräte-STT entfernt + Menü-Redesign (schlanke Kopfzeile + ⋮-Sheet)
Geräte-STT (Web Speech API) entfernt — auf Android nur Cloud, Qualität < Whisper, verwirrend. STT läuft jetzt überall serverseitig (Whisper). Geräte-TTS bleibt. - Backend: allow_cloud_stt (config/runtime_config/api me) + Tests entfernt. - Frontend: SpeechRecognition-Code, STT-Dropdown, "Lokal"-Button raus. Menü-Redesign (verständlicher + passt auf Handys): - Kopfzeile schlank: Mund-Icon + Titel + Sprache + ⋮-Menübutton (kein Überlauf mehr). - ⋮ öffnet ein Einstellungs-Sheet: Ton als 3 Presets (📱 Im Gerät / ☁ Server / ✨ Beste Qualität) statt zweier kryptischer "Gerät"-Dropdowns; Neues Gespräch; Tag-/Nachtmodus; Konto (Identität, Admin, Abmelden). - #tts bleibt als verborgenes Quell-Select -> bestehende TTS-Logik unverändert. - Doku §5.1.2 neu, §6.3 STT-Hinweis. 167 grün. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
f74d2fadb2
commit
3f6bf53a7f
7 changed files with 161 additions and 254 deletions
|
|
@ -44,17 +44,3 @@ def test_backend_switch_rejection_is_audited(caplog):
|
|||
assert "action=llm_backend_switch_rejected" in "\n".join(caplog.messages)
|
||||
|
||||
|
||||
def test_me_exposes_allow_cloud_stt():
|
||||
# /api/me liefert das Datenschutz-Flag (Client-Gate für Geräte-STT).
|
||||
d = client.get("/api/me").json()
|
||||
assert "allow_cloud_stt" in d
|
||||
assert isinstance(d["allow_cloud_stt"], bool)
|
||||
|
||||
|
||||
def test_allow_cloud_stt_runtime_settable():
|
||||
from app.runtime_config import RUNTIME_SETTABLE
|
||||
assert "allow_cloud_stt" in RUNTIME_SETTABLE
|
||||
r = client.put("/api/admin/config/allow_cloud_stt", json={"value": "true"}, headers=ADM_HDR)
|
||||
assert r.status_code == 200
|
||||
assert client.get("/api/me").json()["allow_cloud_stt"] is True
|
||||
client.delete("/api/admin/config/allow_cloud_stt", headers=ADM_HDR)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue