You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Unhandled promise rejection: RTCEngine's onMediaSectionsRequirement handler calls negotiate() without a catch #2134
In RTCEngine.setupSignalClientCallbacks(), the onMediaSectionsRequirement handler fires off negotiate() without handling its promise:
this.client.onMediaSectionsRequirement=requirement=>{this.addMediaSections(requirement.numAudios,requirement.numVideos);this.negotiate();// <- returned promise is never caught};
negotiate() rejects with a NegotiationError in normal operating conditions, e.g. negotiation timed out on a poor network, or PC manager is closed during teardown. Here that rejection becomes an unhandled promise rejection.
negotiate() already starts the disconnect/reconnect flow on failure, so only the stray promise is the problem. In React Native it surfaces as a global onunhandledrejection, which crash reporters show as an error with no app frames. We saw it in production as NegotiationError: negotiation timed out from users on weak Wi-Fi.
Activity
1egoman commentedon Oct 8, 2026
This was fixed in #2108, this will be released in the next release which should be in the next few days (#2091)