d39c8801c9
Connects all call infrastructure so calls flow through the system: - EventProcessor routes unwrapped call events (offer/answer/ICE/ hangup/reject) from gift wraps to CallManager - CallController orchestrates WebRTC session lifecycle: creates PeerConnection, generates SDP offers/answers, exchanges ICE candidates via gift-wrapped events, and manages foreground service - AccountViewModel initializes CallManager + CallController and wires answer/ICE callbacks between them - Account.publishCallSignaling() publishes gift-wrapped events - DM chat top bar gets a call button (1-on-1 rooms only) that initiates a voice call and navigates to ActiveCall screen - ActiveCall route registered in AppNavigation with CallScreen https://claude.ai/code/session_017hZm7yu7CzmcQgZGSaqSXS