diff --git a/docs/NEXT-STEPS.md b/docs/NEXT-STEPS.md index df30dd4..e45cc65 100644 --- a/docs/NEXT-STEPS.md +++ b/docs/NEXT-STEPS.md @@ -1,8 +1,8 @@ # Next Steps — Resume Pointer -> **Last updated:** 2026-05-16. -> **Where we are:** Phase 2 mostly done. T-2.0..T-2.6, T-2.8, T-2.9, T-2.11 on main. App runs end-to-end on iPhone 12 mini + simulator. XCUI test target wired with 8/8 passing tests. -> **Where we go next:** T-2.7 PreConnectPool, T-2.10 Background lifecycle, T-2.12 TestFlight, T-2.13 MVP smoke. Plus: fix 8 pre-existing unit-test failures (4 Keychain entitlements + 4 Pairing http-scheme). +> **Last updated:** 2026-05-17. +> **Where we are:** Phase 2 mostly done. T-2.0..T-2.6, T-2.8, T-2.9, T-2.10, T-2.11 on main. App runs end-to-end on iPhone 12 mini + simulator. 130 unit tests (8 pre-existing failures), 12/12 UI tests green. +> **Where we go next:** T-2.7 PreConnectPool, T-2.12 TestFlight, T-2.13 MVP smoke. Plus: fix 8 pre-existing unit-test failures (4 Keychain entitlements + 4 Pairing http-scheme). This document is the "where did I leave off" anchor. Read this first when resuming work. The rest of `docs/` is reference. @@ -24,7 +24,7 @@ resuming work. The rest of `docs/` is reference. | Phase 2 iOS — T-2.6 SessionSwitcher | ✅ **done** 2026-05-16. SessionRegistry + SessionSwitcher + SessionRow. | | Phase 2 iOS — T-2.7 PreConnectPool | ⛔ not started. | | Phase 2 iOS — T-2.8 StatusBar | ✅ **done** 2026-05-16. State indicator, action buttons. | -| Phase 2 iOS — T-2.10 Background lifecycle | ⛔ not started. Scaffolding exists in AppState (appWillForeground/appDidBackground). | +| Phase 2 iOS — T-2.10 Background lifecycle | ✅ **done** 2026-05-17. AppState.lifecycleTransitions publisher, SessionConnection suspend/resume w/ ResumeCursor, stale-frame freeze, post-Face-ID reconnect. 22 lifecycle tests + 6 follow-up. TDD pattern: tests → impl → review → fixup (B-1 + 3 nits + 4 coverage gaps). | | Phase 2 iOS — T-2.11 Face-ID + Settings | ✅ **done** 2026-05-16. SettingsView, FaceIDGate, LockView. | | Phase 2 iOS — T-2.12 TestFlight | ⛔ not started. Needs Apple credentials. | | Phase 2 iOS — T-2.13 MVP smoke | ⛔ not started. | @@ -46,16 +46,11 @@ Branches on remote `git.vpsj.de/jay/pi-remote-ios`: ### Phase 2 remaining -- **T-2.10 Background lifecycle.** App-foreground triggers reconnect + delta - pull, stale-frame freezes during sync, keep-alive ping in foreground - only. Partial scaffolding exists in `AppState` (appWillForeground / - appDidBackground are used by Face-ID gate). Touches: - `Sources/Core/Sessions/SessionConnection.swift`, `Sources/App/AppState.swift`. - **T-2.7 PreConnectPool.** Hot WS per known session + cached last frame; switching shows the cached frame instantly with a "syncing…" pill. Touches: `Sources/Core/Sessions/PreConnectPool.swift` (new), - `Sources/Core/Sessions/SessionConnection.swift`. Conflict risk with T-2.10 - — sequence them. + `Sources/Core/Sessions/SessionConnection.swift`. Now safe to schedule + after T-2.10's lifecycle hooks landed. - **T-2.12 TestFlight pipeline.** Build / archive / upload scripts + internal testers list. Verify production APNs path. Needs Apple Developer credentials (paid program). Touches: `docs/DISTRIBUTION.md`, diff --git a/docs/SYNC.md b/docs/SYNC.md index b1cad4c..afc4f0b 100644 --- a/docs/SYNC.md +++ b/docs/SYNC.md @@ -39,7 +39,7 @@ The point: no central scheduler is required. A short structured edit on | Phase 0 — Spike Stream | done | ✅ GREEN LIGHT with caveat: pipe-pane unreliable. See `reference/PHASE-0-report.md`. | | Phase 0.5 — Spike tmux Control Mode | done | ✅ VERDICT: Path B (control mode) recommended. See `reference/PHASE-0.5-report.md`. | | Phase 1 — Sidecar | **done** | All T-1.0..T-1.10 implemented. Smoke 22/22 green (incl. POST /pair). Follow-up fixes on main: WS keys handler, POST /sessions shape, control-mode encoding. | -| Phase 2 — iOS MVP | **in progress** | T-2.0..T-2.6, T-2.8, T-2.9, T-2.11 on main. Bonus: XCUITest target + idb automation docs. Open: T-2.7, T-2.10, T-2.12, T-2.13. Repo: `pi-remote-ios`. | +| Phase 2 — iOS MVP | **in progress** | T-2.0..T-2.6, T-2.8, T-2.9, T-2.10, T-2.11 on main. Bonus: XCUITest target + idb automation docs. Open: T-2.7, T-2.12, T-2.13. Repo: `pi-remote-ios`. | | Phase 3 — iOS Augmentation | blocked on Phase 2 | Continuous after MVP ships. | Update the **Status** column when a phase transitions. Allowed states: