Add iOS lifecycle hardening hooks

This commit is contained in:
Mikhail Kilin
2026-05-20 15:51:15 +03:00
parent 8bea159569
commit 59050d0b5f
3 changed files with 106 additions and 0 deletions

23
docs/ios/hardening.md Normal file
View File

@@ -0,0 +1,23 @@
# iOS Hardening Notes
Phase 6 real-device validation is blocked on this machine until full Xcode is selected.
Current local blocker:
```text
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
```
Implemented hardening hooks:
- `SessionLifecycleCoordinator` suspends polling while the app is backgrounded.
- Account switches increment a session generation counter.
- Events are accepted only when both account id and generation match the active session, preventing stale events from a previous account from reaching view models.
Manual smoke still required after Xcode/TDLib device setup:
1. Auth with real Telegram credentials.
2. Load chats, open multiple chats, send/edit/delete/reply/forward/react.
3. Background and foreground during history load and media download.
4. Switch accounts rapidly while receiving updates.
5. Confirm no stale events from the previous account mutate the active account.