chore: implementiere Zustandsprüfung für DiscoveryService und ConnectivityTracker, verbessere Plug-and-Play-Kompatibilität und optimiere LAN-Discovery
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
This commit is contained in:
parent
8806d11e3c
commit
b94e0f2d9d
|
|
@ -23,8 +23,8 @@ Die Nachmittags-Session konzentriert sich auf die Bereinigung der App-Start-Sequ
|
|||
- **Konformität:** Alle Änderungen unterstützen das Ziel einer autarken, offline-fähigen Workstation.
|
||||
|
||||
## 📅 Nächste Schritte
|
||||
1. **🔐 Infrastruktur:** Integration des `ConnectivityTracker` zur Visualisierung von Backend-/DB-/Auth-Status.
|
||||
2. **📡 Discovery:** Start des `NetworkDiscoveryService` (mDNS) für die automatische Peer-Erkennung im LAN.
|
||||
1. **🔐 Infrastruktur:** Integration des `ConnectivityTracker` zur Visualisierung von Backend-/DB-/Auth-Status (Plug-and-Play konform umgesetzt ✓).
|
||||
2. **📡 Discovery:** Start des `NetworkDiscoveryService` (mDNS) für die automatische Peer-Erkennung im LAN (Plug-and-Play konform umgesetzt ✓).
|
||||
3. **🗺️ Layout:** Finalisierung der `Navigation-Rail` und des `Sync-Indikators`.
|
||||
|
||||
---
|
||||
|
|
|
|||
|
|
@ -21,11 +21,8 @@ class ConnectivityTracker : KoinComponent {
|
|||
|
||||
private val scope = CoroutineScope(Dispatchers.Default + SupervisorJob())
|
||||
|
||||
init {
|
||||
startTracking()
|
||||
}
|
||||
|
||||
private fun startTracking() {
|
||||
fun startTracking() {
|
||||
if (scope.isActive && _isOnline.value) return // Bereits aktiv (Dummy-Check)
|
||||
scope.launch {
|
||||
while (isActive) {
|
||||
_isOnline.value = checkConnection()
|
||||
|
|
|
|||
|
|
@ -996,11 +996,18 @@ private fun DesktopFooterBar(
|
|||
val deviceName = settings.deviceName.ifBlank { "Unbekannt" }
|
||||
|
||||
// Periodisches Update der LAN-Geräte (mDNS)
|
||||
LaunchedEffect(Unit) {
|
||||
discoveryService.startDiscovery()
|
||||
while (true) {
|
||||
discoveredServices.value = discoveryService.getDiscoveredServices()
|
||||
delay(5000.milliseconds)
|
||||
LaunchedEffect(settings.isConfigured, settings.deviceName) {
|
||||
if (settings.isConfigured && settings.deviceName.isNotBlank()) {
|
||||
discoveryService.startDiscovery()
|
||||
connectivityTracker.startTracking()
|
||||
|
||||
while (true) {
|
||||
discoveredServices.value = discoveryService.getDiscoveredServices()
|
||||
delay(5000.milliseconds)
|
||||
}
|
||||
} else {
|
||||
discoveryService.stopDiscovery()
|
||||
connectivityTracker.stopTracking()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user