Phase 3.2 docs + Phase 3.1 testing fixes

- Add phase3.2.md requirement: overlay UX, mitra activity log
- Add phase3.2-plan.md implementation plan
- Fix stale request validation: add GET /:sessionId/status endpoint
- Fix notification tap flow: setIncomingFromNotification + onChatRequestTapped
- IncomingRequestSheet shows stale message instead of auto-dismiss
- Home screen validates on resume, shows immediately on fresh WS

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-09 22:09:25 +08:00
parent e3da863f3c
commit 4158fb9432
7 changed files with 427 additions and 13 deletions

View File

@@ -68,16 +68,10 @@ class _HomeScreenState extends ConsumerState<HomeScreen> with WidgetsBindingObse
}
});
// Listen for incoming chat requests
// Listen for incoming chat requests — fresh from WS, show immediately
ref.listen(chatRequestProvider, (prev, next) {
if (next is ChatRequestIncomingData) {
// Validate request is still pending before showing sheet
ref.read(chatRequestProvider.notifier).validateIncomingRequest().then((_) {
final current = ref.read(chatRequestProvider);
if (current is ChatRequestIncomingData) {
_showIncomingRequest(current.sessionId);
}
});
_showIncomingRequest(next.sessionId);
} else if (next is ChatRequestAcceptedData) {
final session = next.session;
final sessionId = session['session_id'] as String? ?? session['id'] as String;