feat(core, device-initialization): Netzwerk-Discovery verbessert, IP-Binding hinzugefügt und UI optimiert
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
@@ -1,12 +1,22 @@
|
||||
# Curator Journal: Technische Geräte-Initialisierung & "Plan-USB"
|
||||
|
||||
**Datum:** 29. April 2026
|
||||
**Datum:** 30. April 2026
|
||||
**Agenten:** 🏗️ [Lead Architect], 🎨 [Frontend Expert], 🧹 [Curator]
|
||||
|
||||
## 🎯 Status Quo
|
||||
Status: 🚧 IN ARBEIT (VERIFIKATION AUSSTEHEND)
|
||||
Status: 🚧 IN ARBEIT (UI KORREKTUREN WEB)
|
||||
|
||||
Die technische Basis für die Geräte-Initialisierung wurde implementiert, aber der entscheidende Schritt – der Proof of Concept (PoC) auf realer Hardware – steht noch aus. Die Behauptung, der Meilenstein sei "abgeschlossen", wurde zurückgenommen. Wir befinden uns in der Phase der technischen Vorbereitung für den ersten Feldtest.
|
||||
Nach dem gestrigen Fehltritt wurden die Halluzinationen in der Web-Shell korrigiert:
|
||||
1. **Light-Mode Force:** Die Web-App erzwingt nun den Light-Mode für bessere Ablesbarkeit.
|
||||
2. **Download-Card:** Eine prominente Card für den Desktop-Download wurde im `WebMainScreen` integriert.
|
||||
3. **POC-Guide:** Ein detaillierter Guide wurde unter `docs/06_Frontend/Guides/POC_INITIALISIERUNG.md` erstellt.
|
||||
|
||||
## 🏗️ Implementierte Features (Update)
|
||||
* **Web-Shell Korrekturen:** Dark-Mode Deaktivierung und Download-CTA.
|
||||
* **Build-Fix:** Erstellung der fehlenden App-Icons (PNG/ICO) zur Behebung des Packaging-Fehlers.
|
||||
* **Chat:** Implementierung eines Veranstaltungs-Chats (MVP) in der Desktop-App inkl. Footer-Integration.
|
||||
* **Docker-Fix:** Behebung des "services must be a mapping" Fehlers in der Docker-Infrastruktur.
|
||||
* **Dokumentation:** Erster Entwurf der POC-Anleitung für Hardware-Tests (inkl. Run-Anweisungen).
|
||||
|
||||
## 📝 Wichtigste Entscheidungen & Artefakte
|
||||
(Bisherige Inhalte bleiben erhalten)
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
# Curator Journal: Chat-Navigation-Fix
|
||||
|
||||
## 🛠️ Problemstellung
|
||||
Die Chat-Funktion konnte in der Desktop-App nicht geöffnet werden. Das Navigations-Log zeigte, dass die App nach dem Versuch, den `ChatScreen` zu rendern, sofort eine Umleitung zum `EventVerwaltung` (Dashboard) durchführte.
|
||||
|
||||
## 🔍 Ursachenanalyse
|
||||
Die Ursache lag in der Guard-Logik innerhalb der `DesktopApp.kt`. Dort wird geprüft, ob ein User authentifiziert ist. Für Screens, die ohne expliziten Cloud-Login zugänglich sein sollen (wie das lokale Dashboard oder der Offline-Chat), gibt es eine `isAllowedScreen`-Liste. Der `AppScreen.Chat` fehlte in dieser Liste, wodurch der Security-Guard fälschlicherweise eine nicht vorhandene Session monierte und zum Dashboard zurückleitete.
|
||||
|
||||
## ✅ Durchgeführte Änderungen
|
||||
- **Security-Guard:** `AppScreen.Chat` wurde zur `isAllowedScreen`-Liste in `DesktopApp.kt` hinzugefügt.
|
||||
- **Verifikation:** Die Logik wurde mit den im Issue bereitgestellten Logs abgeglichen. Durch die Aufnahme in die Liste wird der `LaunchedEffect`, der die Umleitung triggert, für den Chat-Screen nun korrekt übersprungen.
|
||||
|
||||
## 📌 Status
|
||||
- [x] Chat-Navigation repariert
|
||||
- [x] Code-Basis konsistent mit "Offline-First" Strategie (Chat im LAN ohne Cloud-Login)
|
||||
@@ -0,0 +1,27 @@
|
||||
# Curator Journal - 30. April 2026
|
||||
|
||||
## 🛠️ Netzwerk-Discovery Fix (Meilenstein 0)
|
||||
|
||||
### Status: Verifikation durch Hardware-POC ausstehend (Iteration 2)
|
||||
|
||||
Der erste Hardware-POC des Users zeigte Probleme bei der automatischen Discovery der Desktop-Instanzen auf. Trotz erfolgreichem Pings fanden sich die Instanzen nicht.
|
||||
|
||||
### 🔍 Ursachenanalyse
|
||||
1. **Unpräzises mDNS-Binding:** JmDNS nutzte standardmäßig `getLocalHost()`, was in vielen Netzwerk-Konfigurationen (insb. bei VPNs oder Docker-Interfaces wie vom User gemeldet: `172.17.x.x`) auf das falsche Interface bindet.
|
||||
2. **UI-Unklarheit:** Der User erkannte nicht, ob ein Interface aktiv ist oder ob die Discovery überhaupt läuft.
|
||||
|
||||
### 🚀 Durchgeführte Änderungen
|
||||
1. **Core-Network (mDNS):**
|
||||
- `NetworkDiscoveryService` und `JmDnsDiscoveryService` erweitert, um ein explizites IP-Binding zu ermöglichen.
|
||||
- Die Discovery wird nun hart an die IP des vom User gewählten Netzwerk-Interfaces gebunden.
|
||||
2. **Features-Device-Initialisierung:**
|
||||
- **UI-Rewrite:** Die Dropdown-Liste wurde durch ein interaktives Karten-Layout ersetzt.
|
||||
- **Status-Indikatoren:** Jedes Interface zeigt nun einen farbigen Punkt (Grün für LAN/WLAN-IPs, Rot für andere) und Icons (🔌/🌐) zur schnellen Identifikation.
|
||||
- **Auto-Discovery:** Sobald ein Interface gewählt oder die Rolle gewechselt wird, wird die Discovery/Registrierung automatisch neu gestartet.
|
||||
3. **Guides:**
|
||||
- `POC_INITIALISIERUNG.md` aktualisiert mit klaren Verifikationsschritten für das Netzwerk-Interface.
|
||||
|
||||
### ⚠️ Wichtiger Hinweis für den User
|
||||
Bitte die Desktop-App mit `./gradlew :frontend:shells:meldestelle-desktop:createDistributable` neu bauen und erneut auf die Ziel-Hardware übertragen. Achten Sie im Assistenten auf den **grünen Punkt** bei der Interface-Wahl.
|
||||
|
||||
**Curator Ende.**
|
||||
@@ -0,0 +1,29 @@
|
||||
# Curator Journal: POC-Fix & Portable Distribution
|
||||
|
||||
**Datum:** 30. April 2026
|
||||
**Agenten:** 🏗️ [Lead Architect], 🧹 [Curator]
|
||||
|
||||
## 🎯 Status Quo
|
||||
Status: 🚀 BEREIT FÜR HARDWARE-TEST
|
||||
|
||||
Nach der Kritik am unzureichenden `run`-Hinweis wurde der Build-Prozess für den POC auf eine portable Lösung umgestellt.
|
||||
|
||||
## 🏗️ Wichtigste Änderungen
|
||||
* **Build-Strategie:** Wechsel von `packageDistribution` (benötigt OS-Tools wie dpkg) zu `createDistributable`.
|
||||
* **Portabilität:** Die App wird nun als entpacktes Image (`app`-Ordner) bereitgestellt, das direkt vom USB-Stick auf dem Zielsystem (Zora-Hardware) ausgeführt werden kann.
|
||||
* **Desktop-Chat:** Implementierung eines Veranstaltungs-Chats (MVP) mit Footer-Integration und Navigation.
|
||||
* **Docker-Fix:** Behebung des Syntaxfehlers in `dc-gui.yaml`.
|
||||
* **Dokumentation:** Der Guide `docs/06_Frontend/Guides/POC_INITIALISIERUNG.md` wurde komplett überarbeitet und beantwortet nun alle offenen Fragen zu Docker, Gradle und dem Transfer-Prozess.
|
||||
|
||||
## 📝 Entscheidungen
|
||||
1. **Kein System-Packaging für POC:** Um die Hardware-Abhängigkeiten des Build-Systems zu umgehen, nutzen wir die Portable-Variante.
|
||||
2. **Direkt-Transfer:** Das `app`-Verzeichnis wird 1:1 kopiert.
|
||||
3. **Chat als Navigation-Stub:** Die Chat-UI ist als MVP vorhanden, um die Usability im Feldtest zu prüfen (Online-Gefühl).
|
||||
|
||||
## 🚀 Nächste Schritte
|
||||
1. **Hardware-POC:** Durchführung des Tests auf der Ziel-Hardware durch den User.
|
||||
2. **Chat-Test:** Verifikation der Chat-Erreichbarkeit über die FooterBar.
|
||||
3. **Feedback-Loop:** Auswertung der `init_device.aes` Datei und der Netzwerk-Erkennung.
|
||||
|
||||
---
|
||||
**🚫 Anti-Halluzinations-Protokoll:** Der `createDistributable` Task wurde erfolgreich verifiziert (BUILD SUCCESSFUL). Der Pfad zum Artefakt wurde im Guide korrekt hinterlegt.
|
||||
Reference in New Issue
Block a user