V5 komplett: Auth, Admin, Federation, Channels, Devices, Cockpit, Profil, Autotext-Fix, Uebersetzer-Fix

Made-with: Cursor
This commit is contained in:
2026-04-20 14:38:16 +02:00
parent c53bba4587
commit dcce7107ab
9 changed files with 2254 additions and 320 deletions

View File

@@ -1,11 +1,11 @@
{
"project": "AZA Medical AI Assistant",
"phase": "Device-/Seat-Logik V1 implementiert. Backup-Konzept + Deinstallations-UX als naechste Hauptbloecke.",
"current_step": "Device-Logik V1 fertig (2026-04-12). Naechste Bloecke: (1) Backup-Konzept vollstaendig, (2) Deinstallations-UX, (3) WooCommerce Verkaufspfad, (4) Browser-AZA.",
"last_completed": 19,
"next_step": "Naechsten Hauptblock waehlen (Admin-Token-Rotation / Betreiber-Runbook / WooCommerce / Lizenz-Lifecycle).",
"last_update": "STATUS-PATCH 2026-04-12: (1) Device-/Seat-Logik V1 implementiert: 1 Lizenz = 2 Geraete, Stacking ueber Email, Backend fuehrend. (2) aza_device_enforcement.py komplett neu, backend_main.py + admin_routes.py + basis14.py erweitert. (3) Admin-Endpoint GET /admin/devices fuer Geraete-Uebersicht. (4) Naechste Bloecke: Backup-Konzept + Deinstallations-UX.",
"updated_at": "2026-04-12",
"phase": "Praxis-Chat V5 live (Auth + Admin + Devices + Channels + Federation). Admin-Panel eingebaut. Naechste Bloecke: Admin real pruefen, Empfangs-Huelle NaN-Bug, Uebersetzer-Bug.",
"current_step": "V5 deployed (2026-04-18). 40 Backend-Routen. Admin-Panel mit 5 Tabs (Praxis/Benutzer/Geraete/Kanaele/Verbindungen). Naechste Bloecke: (1) Admin-Panel real pruefen/fertigziehen, (2) Empfangs-Huelle NaN-Skalierungsbug fixen, (3) Uebersetzer-Zielsprache-Bug, (4) basis14.py _send_to_empfang Hauptblock.",
"last_completed": 21,
"next_step": "Block 1: Browser-Admin-Panel als Admin real pruefen. Block 2: Empfangs-Huelle Aa/UI NaN-Bug fixen. Block 3: Uebersetzer-Bug aufnehmen.",
"last_update": "STATUS-PATCH 2026-04-18b: V5 live. (1) Admin-Endpoints: Benutzer verwalten (deaktivieren/loeschen/Rolle/PW-Reset), Geraete (sperren/loeschen). (2) Device-Tracking bei jedem Login. (3) Channel-Grundlage (Allgemein/Aerzte/MPA/Empfang + custom + extern). (4) Federation-Grundlage (Einladung/Annahme/Trennung + automatische externe Kanaele). (5) Admin-Panel im Browser mit 5 Tabs. (6) Offene Bugs: Empfangs-Huelle Aa/UI NaN, Uebersetzer-Zielsprache. (7) Server-Deploy via scp (kein Git auf Hetzner). (8) Arbeitsmodus: nur live-tauglich, keine Provisorien, keine localStorage-Geschaeftsdaten.",
"updated_at": "2026-04-18",
"workspace": {
"project_root": "C:\\Users\\surov\\Documents\\AZA_GIT\\aza",
"current_working_folder": "C:\\Users\\surov\\Documents\\AZA_GIT\\aza\\AzA march 2026",
@@ -22,6 +22,7 @@
"Do-not-break: Keine riskanten DNS-/Domain-Aenderungen an aza-medwork.ch ohne klare Pruefung. Website-Chaos durch vorschnelle Umschaltung war ein Fehler.",
"Do-not-break: OpenAI-Key NIEMALS hardcoded in App einbauen. NIEMALS Shared-Key an Kunden ausliefern. Lokale Key-Eingabe wird bei Produktivauslieferung entfernt (Variante B). Secrets NIEMALS loggen.",
"Do-not-break: Audioaufnahme IMMER als M4A (AAC via ffmpeg-Pipe). NIEMALS auf WAV zurueckaendern. WAV nur als Fallback wenn ffmpeg fehlt. Diese Entscheidung ist ENDGUELTIG wurde bereits einmal faelschlich rueckgaengig gemacht.",
"Do-not-break: AUTOTEXT FREEZE (April 2026). _run_global_autotext_listener(), _bind_autotext(), _periodic_focus_check(), _check_autotext_focus_out() sind eingefroren. NICHT aendern ausser bei reproduzierbarem Bug. Race-Condition-Fix (Deduplizierung + _autotext_injecting-Check in on_keyrelease) NICHT entfernen. Keine Disk-I/O in on_press/on_release. Keine Timing-Aenderungen. Autotext-Bereich in basis14.py (Zeilen ~8825-9082) explizit NICHT anfassen.",
"VERBINDLICH V1-Lizenzmodell (2026-04-12): 1 aktive Lizenz = 2 gleichzeitig aktive Computer. Dieselbe Kaeufer-Email darf mehrere Lizenzen kaufen. Erlaubte Geraete addieren sich: 1 Lizenz = 2, 2 Lizenzen = 4, 3 Lizenzen = 6. Backend entscheidet fuehrend. Desktop sendet email + device_id. Backend liefert: license_active, allowed_devices, used_devices, device_allowed, reason. aza_device_enforcement.py ist fuehrende Implementierung.",
"VERBINDLICH Deinstallation: Nach Deinstallation KEIN sofortiger Zwangs-Neustart. Benutzer muss Option haben: jetzt neu starten / spaeter neu starten.",
"VERBINDLICH Backup-Konzept HOHE PRIORITAET: Lokale App/Code/Builds, Installer-Artefakte, Hetzner-Backend/Server-Config/Daten, Stripe-Config/Referenzen, WordPress/WooCommerce/Website, Release-/Download-Dateien. Zusaetzlich Offsite-Sicherheitskopie in Luino.",