Dispatch incoming_call synchronously

- this should fix a race where if the 'hangup' arrives hard on the tail of the
Call.incoming, we don't ignore it.

(We still have a problem in that we blip the hangup tone and UI, but that is
arguably a separate problem)
This commit is contained in:
Richard van der Hoff 2017-08-24 13:05:17 +01:00
parent cc36304eb4
commit b65e1769d7

View file

@ -1068,10 +1068,13 @@ module.exports = React.createClass({
self.setState({ready: true}); self.setState({ready: true});
}); });
cli.on('Call.incoming', function(call) { cli.on('Call.incoming', function(call) {
// we dispatch this synchronously to make sure that the event
// handlers on the call are set up immediately (so that if
// we get an immediate hangup, we don't get a stuck call)
dis.dispatch({ dis.dispatch({
action: 'incoming_call', action: 'incoming_call',
call: call, call: call,
}); }, true);
}); });
cli.on('Session.logged_out', function(call) { cli.on('Session.logged_out', function(call) {
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");