docs: found.md #16 fuer die Experte-Tab-Port-Konflikt-Pruefung
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -361,3 +361,30 @@ statt einer überzogenen "live bestätigt"-Behauptung versehen (siehe `bugs.md`
|
||||
Herleitung).
|
||||
|
||||
Build grün, alle 103 Unit-Tests grün (1 neuer Regressionstest für `FirewallConfig.isolatedNetworkPairs`).
|
||||
|
||||
### 16. Experte-Tab: Port-Konflikt-Prüfung wie im Einrichten-Assistenten
|
||||
**Status:** fixed (Build + 111 Unit-Tests grün, 6 neue Regressionstests)
|
||||
|
||||
Live-Anlass: Nutzer legte über den Experte-Tab manuell ein eigenes Netz auf `ether4` an
|
||||
(IP-Adresse, Pool, DHCP-Server) — `ether4` blieb dabei unbemerkt Bridge-Mitglied der Haupt-Bridge,
|
||||
weshalb zwei DHCP-Server im selben Broadcast-Domain konkurrierten (kein App-Bug, aber genau der
|
||||
Fall, den die Wizard-eigene Port-Konflikt-Prüfung normalerweise abfängt — beim manuellen Anlegen
|
||||
über den Experte-Tab gab es diese Warnung bisher nicht).
|
||||
|
||||
Auf Nutzerwunsch ("die Abfrage vom Einrichten-Assistenten auf Expert anwenden ... mit allen
|
||||
Warnungen") dieselbe Prüfung samt "Port freimachen?"-Dialog jetzt auch im Experte-Tab, angewendet
|
||||
auf das `.interfacePick`-Feld des jeweils geöffneten Schemas (`/ip address`, `/ip dhcp-server`
|
||||
etc.). `PortConflictWarningView` aus `LanStepView.swift` in `Features/Shared/` extrahiert, neuer
|
||||
`immediateApply`-Parameter für die kontextabhängige Abschluss-Meldung (Wizard: erst bei "Jetzt
|
||||
anwenden"; Experte-Tab: sofort bei "Anlegen"/"Speichern", da es dort keinen separaten Review-
|
||||
Schritt gibt). Neue `PortConflict.resolutionCommandsIncludingBridgeDetach()` — anders als der
|
||||
Wizard hat der Experte-Tab keinen automatischen, unbedingten Bridge-Detach-Schritt
|
||||
(`DhcpServerCommandBuilder`), muss die Bridge-Entfernung bei Bestätigung also selbst mit
|
||||
ausführen. `ExpertViewModel` bekommt dieselbe race-sichere Generation-Zähler-Logik wie
|
||||
`SetupViewModel` (bugs.md #1). Speichern-Button gesperrt, bis der Konflikt bestätigt oder ein
|
||||
anderer Port gewählt wurde.
|
||||
|
||||
Build grün, alle 111 Unit-Tests grün (6 neue Regressionstests). Noch nicht live im UI durchgeklickt
|
||||
(UI-Automatisierung nicht verfügbar) — die einzelnen Bausteine (Konflikt-Erkennung,
|
||||
Resolution-Commands inkl. Bridge-Detach) sind unit-getestet, der volle Ablauf im Experte-Tab
|
||||
selbst noch nicht.
|
||||
|
||||
Reference in New Issue
Block a user