feat(desktop, network): Fehlerhandling verbessert, Tools-Menü erweitert und mDNS-Discovery optimiert
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
+3
-2
@@ -208,10 +208,11 @@ class DeviceInitializationViewModel(
|
||||
discoveryService.stopDiscovery()
|
||||
discoveryService.startDiscovery(ip)
|
||||
|
||||
// Falls wir ein Master sind, registrieren wir uns auch direkt, damit andere uns finden
|
||||
// Falls wir ein Master sind, starten wir den lokalen P2P‑Server.
|
||||
// Die mDNS‑Registrierung erfolgt zentral beim App‑Start (entkoppelt, um Duplikate zu vermeiden).
|
||||
if (uiState.value.settings.networkRole == NetworkRole.MASTER) {
|
||||
discoveryService.registerService(8080, ip, uiState.value.settings.deviceName)
|
||||
syncService.startServer(8080)
|
||||
println("[P2P Server] Gestartet auf Port 8080")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+16
-1
@@ -214,7 +214,22 @@ actual fun DeviceInitializationConfig(
|
||||
MsFilePicker(
|
||||
label = "Backup-Verzeichnis (Plan-USB)",
|
||||
selectedPath = settings.backupPath,
|
||||
onFileSelected = { viewModel.updateSettings { s -> s.copy(backupPath = it) } },
|
||||
onFileSelected = { path ->
|
||||
if (path.isNotBlank()) {
|
||||
try {
|
||||
val dir = java.io.File(path)
|
||||
if (!dir.exists()) dir.mkdirs()
|
||||
val probe = java.io.File(dir, ".ms_write_test.tmp")
|
||||
probe.writeText("ok")
|
||||
probe.delete()
|
||||
viewModel.updateSettings { s -> s.copy(backupPath = path) }
|
||||
} catch (e: Exception) {
|
||||
println("[DeviceInit] Backup-Verzeichnis nicht beschreibbar: ${e.message}")
|
||||
}
|
||||
} else {
|
||||
viewModel.updateSettings { s -> s.copy(backupPath = path) }
|
||||
}
|
||||
},
|
||||
directoryOnly = true,
|
||||
modifier = Modifier.focusRequester(backupPathFocus),
|
||||
enabled = !uiState.isLocked
|
||||
|
||||
Reference in New Issue
Block a user