jay
|
9231a630a9
|
Merge T-2.10 Background lifecycle (TDD: tests → impl → review → fixup)
- AppState exposes lifecycleTransitions publisher (bg=true / fg=false)
- SessionConnection: suspend()/resume() with isStreamFrozen + isKeepAliveActive,
injected ResumeCursor that updates on every binary frame (B-1 fix)
- MainTerminalView: scenePhase → AppState → suspend before background,
resume(from: lastSeq) on foreground, 'Reconnecting…' status
- Post-Face-ID reconnect: re-emit foreground transition after successful auth
- #if DEBUG gating for all test launch args (--reset-state, --enable-faceid,
--force-lock, --uitest-with-stub-connection, --pair-with-url) and stubMode
- 22 new lifecycle tests (10 SessionConnection + 6 AppState + 4 UI + 2 regression
guards) + 6 follow-up tests (CG-1..CG-4)
- Final: 130 unit tests / 8 pre-existing failures; 12/12 UI tests
|
2026-05-17 13:24:30 +02:00 |