Fix Haenger beim Anlegen eines DHCP-Pools (bugs.md #11)

SSHTransport.connect()/run() hatten keinen Timeout - im Gegensatz zu
RestTransport (timeoutInterval=5). Jeder erste Schreibvorgang einer
Session loest ueber ensureSessionBackup() eine dedizierte SSH-
Verbindung aus; haengt die, blieb isApplying unbegrenzt aktiv (kein
Fehler, kein Recovery, nur Force-Quit). Live vom Nutzer bestaetigt
(Experte-Tab, dauerhaft haengend) bevor der Fix geschrieben wurde.

Neuer genererischer SSHTransport.withTimeout(_:operation:) (Task-
Group-Race gegen eine Deadline), angewendet auf connect() (10s) und
run() (30s). 3 neue Regressionstests fuer die Race-Logik isoliert.

Nebenbefund: xcodegen generate ueberschreibt Info.plist komplett aus
project.yml (kein Merge) - ein Regenerieren fuer die neue Testdatei
setzte die Version stillschweigend von 1.1.0 auf 1.0 zurueck. Version
jetzt explizit in project.yml verankert.

Build + alle 106 Unit-Tests gruen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Kay
2026-09-17 21:51:11 +02:00
co-authored by Claude Sonnet 5
parent e9e701a94d
commit cae59db39e
4 changed files with 141 additions and 35 deletions
+8
View File
@@ -29,6 +29,14 @@ targets:
path: RouterOSAssistant/Info.plist
properties:
CFBundleDisplayName: RouterOS Assistant
# xcodegen regenerates this whole file from these properties (plus its own
# defaults for anything unlisted) every time it runs — NOT a merge with
# whatever's already on disk. Without these two explicit here, `xcodegen
# generate` silently resets the app's version back to its built-in default
# "1.0"/"1", discarding any release version bump (found live, 2026-09-17,
# while adding a new test file triggered a regen and reverted v1.1.0 -> 1.0).
CFBundleShortVersionString: "1.1.0"
CFBundleVersion: "2"
LSApplicationCategoryType: public.app-category.utilities
NSAppTransportSecurity:
NSAllowsArbitraryLoads: true