docs: T-2.10 background lifecycle done; update next-steps
This commit is contained in:
parent
0882ef8038
commit
e5dd64a1f7
|
|
@ -1,8 +1,8 @@
|
||||||
# Next Steps — Resume Pointer
|
# Next Steps — Resume Pointer
|
||||||
|
|
||||||
> **Last updated:** 2026-05-16.
|
> **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.11 on main. App runs end-to-end on iPhone 12 mini + simulator. XCUI test target wired with 8/8 passing tests.
|
> **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.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).
|
> **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
|
This document is the "where did I leave off" anchor. Read this first when
|
||||||
resuming work. The rest of `docs/` is reference.
|
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.6 SessionSwitcher | ✅ **done** 2026-05-16. SessionRegistry + SessionSwitcher + SessionRow. |
|
||||||
| Phase 2 iOS — T-2.7 PreConnectPool | ⛔ not started. |
|
| 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.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.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.12 TestFlight | ⛔ not started. Needs Apple credentials. |
|
||||||
| Phase 2 iOS — T-2.13 MVP smoke | ⛔ not started. |
|
| 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
|
### 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;
|
- **T-2.7 PreConnectPool.** Hot WS per known session + cached last frame;
|
||||||
switching shows the cached frame instantly with a "syncing…" pill.
|
switching shows the cached frame instantly with a "syncing…" pill.
|
||||||
Touches: `Sources/Core/Sessions/PreConnectPool.swift` (new),
|
Touches: `Sources/Core/Sessions/PreConnectPool.swift` (new),
|
||||||
`Sources/Core/Sessions/SessionConnection.swift`. Conflict risk with T-2.10
|
`Sources/Core/Sessions/SessionConnection.swift`. Now safe to schedule
|
||||||
— sequence them.
|
after T-2.10's lifecycle hooks landed.
|
||||||
- **T-2.12 TestFlight pipeline.** Build / archive / upload scripts +
|
- **T-2.12 TestFlight pipeline.** Build / archive / upload scripts +
|
||||||
internal testers list. Verify production APNs path. Needs Apple
|
internal testers list. Verify production APNs path. Needs Apple
|
||||||
Developer credentials (paid program). Touches: `docs/DISTRIBUTION.md`,
|
Developer credentials (paid program). Touches: `docs/DISTRIBUTION.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 — 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 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 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. |
|
| Phase 3 — iOS Augmentation | blocked on Phase 2 | Continuous after MVP ships. |
|
||||||
|
|
||||||
Update the **Status** column when a phase transitions. Allowed states:
|
Update the **Status** column when a phase transitions. Allowed states:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue