Files
amethyst/amethyst
Claude a1f8817fce fix: stop call ringing when Ended state is missed due to StateFlow conflation
The state collector in CallController was blocking on
showIncomingCallNotification() which downloads the caller's profile
picture over the network. Because StateFlow is conflated, if the call
ended (peer hangup, reject, timeout) while the collector was suspended,
the Ended→Idle transition would cause the Ended emission to be lost.
Since cleanup/stopRinging only ran in the Ended handler, the ringtone
and vibration would continue indefinitely.

Two fixes:
1. Launch showIncomingCallNotification in a separate coroutine so the
   collector is never blocked by network I/O.
2. Add a safety-net Idle handler that stops ringing, ringback tone,
   and cancels the call notification.

https://claude.ai/code/session_01NfyLNgR4d8yjnxaQJ6FUt5
2026-04-03 17:31:06 +00:00
..