Commit e93643e
fix(call): fast-path offer and line delivery to unblock push-answer mutation queue deadlock
__onMutationPerformAnswer (sequential mutation queue) awaits
stream.firstWhere(incomingOffer != null) while holding the queue slot.
__onMutationSignalingIncoming — which stores the offer and line in state —
is queued behind it and cannot run: deadlock, resolved only by 10 s timeout.
Fix: in __onCallSignalingEventIncoming (_CallSignalingEvent queue,
independent of the mutation queue), emit offer and line directly to BLoC
state when the call is in a push-answer waiting status and has no offer yet.
This immediately satisfies stream.firstWhere without touching the mutation
queue and ensures AcceptRequest is sent with the correct SIP line.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent 3ee90ce commit e93643e
1 file changed
Lines changed: 22 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
940 | 940 | | |
941 | 941 | | |
942 | 942 | | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
943 | 965 | | |
944 | 966 | | |
945 | 967 | | |
| |||
0 commit comments