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>
64 lines
1.9 KiB
YAML
64 lines
1.9 KiB
YAML
name: RouterOSAssistant
|
|
options:
|
|
bundleIdPrefix: com.focus72
|
|
deploymentTarget:
|
|
macOS: "14.0"
|
|
settings:
|
|
base:
|
|
SWIFT_VERSION: "5.0"
|
|
MACOSX_DEPLOYMENT_TARGET: "14.0"
|
|
packages:
|
|
Citadel:
|
|
url: https://github.com/orlandos-nl/Citadel.git
|
|
from: 0.9.0
|
|
targets:
|
|
RouterOSAssistant:
|
|
type: application
|
|
platform: macOS
|
|
sources:
|
|
- path: RouterOSAssistant
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: com.focus72.RouterOSAssistant
|
|
ENABLE_HARDENED_RUNTIME: YES
|
|
CODE_SIGN_STYLE: Automatic
|
|
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
|
|
dependencies:
|
|
- package: Citadel
|
|
info:
|
|
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
|
|
RouterOSAssistantTests:
|
|
type: bundle.unit-test
|
|
platform: macOS
|
|
sources:
|
|
- path: RouterOSAssistantTests
|
|
settings:
|
|
base:
|
|
GENERATE_INFOPLIST_FILE: YES
|
|
dependencies:
|
|
- target: RouterOSAssistant
|
|
schemes:
|
|
RouterOSAssistant:
|
|
build:
|
|
targets:
|
|
RouterOSAssistant: all
|
|
run:
|
|
config: Debug
|
|
test:
|
|
config: Debug
|
|
targets:
|
|
- RouterOSAssistantTests
|