jay
|
856f0ebf03
|
fix(ios): session switch — tear down and reconnect on activeSessionId change
|
2026-05-16 12:07:29 +02:00 |
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
|
d085444adc
|
fix: clear terminal on connect, increase SIGWINCH settle time to 600ms
|
2026-05-16 04:00:02 +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 |
jay
|
044a4920bb
|
fix: terminal rendering — resize sync, TERM via sidecar, remove double-dot status
|
2026-05-16 03:30:31 +02:00 |
Johannes Merz
|
480a06981c
|
feat: app wiring — ContentView + AppState + MainTerminalView
- AppState: loads credential from Keychain on launch, persists on pair
- ContentView: switches PairingFlowView ↔ MainTerminalView on credential
- PairingFlowView: onDismiss → onSuccess(credential) callback
- MainTerminalView: auto-resolves/creates session, connects WebSocket stream
to TerminalViewController, ModifierBar wired to SessionConnection.send()
- piRemoteApp: AppState injected as environmentObject
|
2026-05-16 02:48:08 +02:00 |