c317147ca4
- **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>
2.0 KiB
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.*undSystem.*Referenzen auscommonMainentfernt. - Zeitstempel: Nutzung der idiomatischen
kotlin.time.Clock(Kotlin 2.3.20) stattSystem.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
JmDnsDiscoveryServiceregistriert 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]