Commit Graph

5 Commits

Author SHA1 Message Date
jay df85c9e85b fix: remove public visibility from app-internal types; fix StatusBar arg order 2026-05-16 11:58:23 +02:00
jay 7be9e64a95 feat: merge T-2.6 SessionSwitcher + T-2.8 StatusBar + T-2.11 Face-ID
- SessionRegistry + SessionSwitcher + SessionRow (T-2.6)
- StatusBar component with pi-state indicator (T-2.8)
- FaceIDGate + SettingsView + LockView (T-2.11)
- Reconciled MainTerminalView: StatusBar wired with onSwitcher/onSettings/onUnpair,
  two .task modifiers, two .sheet modifiers (SessionSwitcher + SettingsView)
- AppState: appDidBackground/appWillForeground + isLocked (T-2.11)
- ContentView: scenePhase tracking + LockView overlay (T-2.11)
- Pairing.swift: fp param is optional pre-TLS (dev convenience)
2026-05-16 11:54:12 +02:00
jay 994b450fe4 fix: fresh connect uses resize+snapshot instead of full history replay; wire onInput 2026-05-16 03:46:24 +02:00
Johannes Merz 9c617a7c14 fix: Swift 6 concurrency build errors — all files compile clean
- SessionConnection: ConnectionState not nested in WebSocketClient
- WebSocketClient: nonisolated(unsafe) for WebSocketEvent across actor boundary
- ModifierBar: explicit init() + RepeatingBarButton access level fix
- NotificationDelegate: nonisolated(unsafe) for completion handlers
- QRScannerView: DispatchQueue instead of Task.detached for AVCaptureSession
- piRemoteApp: add UserNotifications import
- xcodegen regenerate to pick up all new source files
2026-05-16 02:38:16 +02:00
jay 048036d6a7 feat(T-2.5): SessionConnection (IC-2.1) + ScrollbackCache (5MB ring) 2026-05-15 18:54:56 +02:00