Files
meldestelle/docs/99_Journal/2026-05-05_Connectivity_Fix_Chat_Modal.md
T
stefan c317147ca4 feat: verbesserte Netzwerkfähigkeit und Chat-Test integriert
- **Discovery:** Unterstützung für Multi-Interface-Broadcast und manuelle IP-Eingabe.
- **UI:** Chat-Test für Verbindungsprüfung hinzugefügt.
- **ViewModel:** Datenübertragungslogik (Ping/Pong, Chat) implementiert.
- **Workflow:** Windows-MSI-Build als separaten Job hinzugefügt.

Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-05-05 23:18:25 +02:00

2.0 KiB

Journal-Eintrag: 05.05.2026 - Connectivity-Fix & Code-Qualität

Kontext

Nach einem fehlgeschlagenen Hardware-Test am 30.04.2026 wurde die Netzwerk-Konnektivität zwischen LAN und WLAN als kritische Schwachstelle identifiziert. Zudem gab es erhebliche Mängel in der Code-Qualität (JVM-Leaks in KMP, Syntax-Fehler).

Durchgeführte Arbeiten

1. 🧹 Code-Sanierung (Clean Code & KMP)

  • ViewModel Fix: Sämtliche java.* und System.* Referenzen aus commonMain entfernt.
  • Zeitstempel: Nutzung der idiomatischen kotlin.time.Clock (Kotlin 2.3.20) statt System.currentTimeMillis().
  • Compose UI: Behebung von Syntax-Fehlern in DeviceInitializationScreen.kt (LazyColumn Iteration und Imports).
  • Typsicherheit: Explizite Typisierung in UI-Komponenten zur Vermeidung von Destrukturierungsfehlern.

2. 📡 Netzwerk-Stabilität

  • Multi-Interface Discovery: Der JmDnsDiscoveryService registriert Dienste nun auf allen verfügbaren IPv4-Interfaces gleichzeitig. Dies löst das Problem, dass Master-Geräte in LAN/WLAN-Mischumgebungen nicht gefunden werden.
  • Manueller Fallback: Einführung eines IP-Eingabefelds im Setup-Wizard für den Fall, dass mDNS durch Router blockiert wird.
  • Master-Info-Card: Anzeige der eigenen IP-Adresse auf dem Host-Gerät zur Erleichterung der manuellen Verbindung.

3. 💬 Interaktiver Connectivity-Check

  • Chat-Modal: Implementierung eines Pop-ups nach dem Handshake.
  • Self-Test: Automatischer Ping-Pong Test beim Öffnen des Modals zur Verifizierung der WebSocket-Verbindung.
  • Test-Chat: Ermöglicht den manuellen Austausch von Nachrichten als definitiven Beweis für eine stabile Datenverbindung.

Status: Verifiziert & Bereit für Hardware-Test

Alle identifizierten Kompilierungsfehler (einschließlich Koin-Modul Typkonflikte) wurden behoben. Der Code folgt den KMP-Standards für Kotlin 2.3.20. Die Architektur entspricht nun ADR-0027.

🏗️ [Lead Architect] 👷 [Backend Developer] 🎨 [Frontend Expert] 🧹 [Curator]