f1fd5ec786
CallManager now auto-resets from Ended to Idle after 2 seconds via transitionToEnded(). Previously reset() was called from a LaunchedEffect in CallScreen which could be cancelled when the composable was disposed via popBack(), leaving the state stuck at Ended and silently dropping subsequent incoming calls. Also: CallController now observes CallManager state and auto-cleans up the WebRTC session when a call ends (handles peer hangup case). https://claude.ai/code/session_017hZm7yu7CzmcQgZGSaqSXS