dschlueter
5ed4a386bb
feat: Notruf mit Kontaktdaten + Geoposition anreichern (Backend, Phase 1+3)
Notruf-Meldungen tragen jetzt das Notfall-Profil der auslösenden Person und —
falls vom Gerät mitgeschickt — die Geoposition. Kanal-Rollen:
- E-Mail: Voll-Dossier (Name, Adresse, Telefone, Geburtsdatum, med. Hinweise,
Koordinaten + Karten-Link + Genauigkeit + Zeit; sonst "nicht verfügbar")
- SMS: kompakt, Name + Adresse + Karten-Link
- Anruf (TTS): Name + Wohnadresse gesprochen, KEINE URL/Koordinaten, Verweis
auf SMS/E-Mail
- schemas: GeoFix + EmergencyRequest.geo; AdminUserPrefsUpdate um Profilfelder
erweitert (full_name, Adresse, Telefone, birth_date, medical_notes,
emergency_contacts/_phones, location_consent) — in user.prefs (keine Migration)
- api/chat: geo an record_manual_emergency durchgereicht
- api/admin: list_users gibt Profilfelder mit zurück (für die spätere Admin-UI)
- emergency.py: _profile/_geo_fields/_maps_link/_location_block/_email_body,
kanal-spezifische _emergency_texts; record_manual_emergency(..., geo=...)
- Tests: 9 neue (Profil-Injektion, SMS/Call/E-Mail-Texte, Geo→Map-Link,
ohne-Geo-Fallback, Payload). Suite 237 grün.
Frontend (Phase 2: Browser-Geolocation beim 🆘 + Admin-Profil-UI) steht noch aus.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-25 15:33:58 +02:00 |
| .. |
|
conftest.py
|
test: Coverage für Gender-/Stimm-System + hermetische Suite
|
2026-06-25 00:32:47 +02:00 |
|
test_admin_llm_status.py
|
feat(admin): Backend-Wechsel + Gateway-Neustart aus dem Admin-Panel — Plan-Schritt 3
|
2026-06-20 18:39:59 +02:00 |
|
test_admin_settings.py
|
feat(3c): OpenRouter-Modelle live & selbst-aktualisierend statt erfunden
|
2026-06-25 05:01:05 +02:00 |
|
test_audio_router.py
|
Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament
|
2026-06-17 01:48:56 +02:00 |
|
test_audit.py
|
refactor(ui): Geräte-STT entfernt + Menü-Redesign (schlanke Kopfzeile + ⋮-Sheet)
|
2026-06-20 22:26:20 +02:00 |
|
test_auth.py
|
feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes
|
2026-06-20 13:12:04 +02:00 |
|
test_basic_layout.py
|
Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament
|
2026-06-17 01:48:56 +02:00 |
|
test_capability_login.py
|
feat(2-Schritt2): Login-Link + persistentes is_admin-Flag pro Nutzer
|
2026-06-25 04:33:33 +02:00 |
|
test_cartesia_tts.py
|
test: Coverage für Gender-/Stimm-System + hermetische Suite
|
2026-06-25 00:32:47 +02:00 |
|
test_chatterbox_tts.py
|
feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes
|
2026-06-20 13:12:04 +02:00 |
|
test_config_profiles.py
|
Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament
|
2026-06-17 01:48:56 +02:00 |
|
test_cookie_auth.py
|
feat(auth): Forward-Auth via JWT-Cookie (YunoHost yunohost.portal)
|
2026-06-18 08:44:33 +02:00 |
|
test_emergency_bridge.py
|
refactor: Notruf-Bridge nutzt seven-send-Library statt eigenem seven.io-Code
|
2026-06-25 11:50:05 +02:00 |
|
test_emergency_enrichment.py
|
feat: Notruf mit Kontaktdaten + Geoposition anreichern (Backend, Phase 1+3)
|
2026-06-25 15:33:58 +02:00 |
|
test_endpoints_e2e.py
|
feat: UI-Hinweis bei Cartesia + nicht unterstützter Sprache
|
2026-06-25 00:49:28 +02:00 |
|
test_forward_auth.py
|
feat(2-Schritt3): nginx-Cutover — App per Token-Link, Admin hinter Authelia
|
2026-06-25 04:45:11 +02:00 |
|
test_local_llm_messages.py
|
fix(llm): System-Nachrichten zu einer fuehrenden zusammenfuehren (Qwen3-Template)
|
2026-06-18 04:45:21 +02:00 |
|
test_memory.py
|
feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes
|
2026-06-20 13:12:04 +02:00 |
|
test_memory_extraction.py
|
fix(llm): LLM antwortet jetzt in der konfigurierten Systemsprache
|
2026-06-19 14:12:16 +02:00 |
|
test_openrouter_tts.py
|
fix(tts): OpenRouter-TTS bei transient leerer/5xx-Antwort wiederholen
|
2026-06-18 00:06:47 +02:00 |
|
test_piper_tts.py
|
test: Coverage für Gender-/Stimm-System + hermetische Suite
|
2026-06-25 00:32:47 +02:00 |
|
test_quota_safety.py
|
feat: Notruf-Eskalation per SMS/Anruf (provider-agnostischer Webhook)
|
2026-06-25 10:17:49 +02:00 |
|
test_realtime.py
|
feat(P3): Diktat in Fremdsprache → Übersetzung in die Zielsprache
|
2026-06-25 03:30:37 +02:00 |
|
test_resilience.py
|
feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes
|
2026-06-20 13:12:04 +02:00 |
|
test_routing.py
|
feat(2a): Erlaubte Sprachen pro Nutzer (Admin-Vorgabe)
|
2026-06-25 04:06:09 +02:00 |
|
test_streaming.py
|
feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes
|
2026-06-20 13:12:04 +02:00 |
|
test_tts_normalizer.py
|
feat(tts): Aussprache-Lexikon befüllt (verifizierte Vokallängen-Fixes) + case-insensitiv
|
2026-06-17 23:19:17 +02:00 |
|
test_warmup.py
|
feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes
|
2026-06-20 13:12:04 +02:00 |
|
test_ws.py
|
feat(P3): Diktat in Fremdsprache → Übersetzung in die Zielsprache
|
2026-06-25 03:30:37 +02:00 |