feat(reload): on offer / answer error.
This commit is contained in:
parent
186ba70cb7
commit
a91b49c2c1
|
@ -379,13 +379,6 @@ class ConferenceConnector {
|
||||||
APP.UI.notifyGracefulShutdown();
|
APP.UI.notifyGracefulShutdown();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case JitsiConferenceErrors.JINGLE_FATAL_ERROR: {
|
|
||||||
const [ error ] = params;
|
|
||||||
|
|
||||||
APP.UI.notifyInternalError(error);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case JitsiConferenceErrors.CONFERENCE_DESTROYED: {
|
case JitsiConferenceErrors.CONFERENCE_DESTROYED: {
|
||||||
const [ reason ] = params;
|
const [ reason ] = params;
|
||||||
|
|
||||||
|
@ -407,6 +400,7 @@ class ConferenceConnector {
|
||||||
|
|
||||||
case JitsiConferenceErrors.FOCUS_LEFT:
|
case JitsiConferenceErrors.FOCUS_LEFT:
|
||||||
case JitsiConferenceErrors.VIDEOBRIDGE_NOT_AVAILABLE:
|
case JitsiConferenceErrors.VIDEOBRIDGE_NOT_AVAILABLE:
|
||||||
|
case JitsiConferenceErrors.OFFER_ANSWER_FAILED:
|
||||||
APP.store.dispatch(conferenceWillLeave(room));
|
APP.store.dispatch(conferenceWillLeave(room));
|
||||||
|
|
||||||
// FIXME the conference should be stopped by the library and not by
|
// FIXME the conference should be stopped by the library and not by
|
||||||
|
|
|
@ -8946,8 +8946,8 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lib-jitsi-meet": {
|
"lib-jitsi-meet": {
|
||||||
"version": "github:jitsi/lib-jitsi-meet#a89d67388f49cc18aae080cb388877380a7664b1",
|
"version": "github:jitsi/lib-jitsi-meet#ee1854c1b12a229f70f351acaebe6686f38f6a85",
|
||||||
"from": "github:jitsi/lib-jitsi-meet#a89d67388f49cc18aae080cb388877380a7664b1",
|
"from": "github:jitsi/lib-jitsi-meet#ee1854c1b12a229f70f351acaebe6686f38f6a85",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jitsi/sdp-interop": "0.1.14",
|
"@jitsi/sdp-interop": "0.1.14",
|
||||||
"@jitsi/sdp-simulcast": "0.2.1",
|
"@jitsi/sdp-simulcast": "0.2.1",
|
||||||
|
|
|
@ -52,7 +52,7 @@
|
||||||
"js-utils": "github:jitsi/js-utils#73a67a7a60d52f8e895f50939c8fcbd1f20fe7b5",
|
"js-utils": "github:jitsi/js-utils#73a67a7a60d52f8e895f50939c8fcbd1f20fe7b5",
|
||||||
"jsrsasign": "8.0.12",
|
"jsrsasign": "8.0.12",
|
||||||
"jwt-decode": "2.2.0",
|
"jwt-decode": "2.2.0",
|
||||||
"lib-jitsi-meet": "github:jitsi/lib-jitsi-meet#a89d67388f49cc18aae080cb388877380a7664b1",
|
"lib-jitsi-meet": "github:jitsi/lib-jitsi-meet#ee1854c1b12a229f70f351acaebe6686f38f6a85",
|
||||||
"libflacjs": "github:mmig/libflac.js#93d37e7f811f01cf7d8b6a603e38bd3c3810907d",
|
"libflacjs": "github:mmig/libflac.js#93d37e7f811f01cf7d8b6a603e38bd3c3810907d",
|
||||||
"lodash": "4.17.11",
|
"lodash": "4.17.11",
|
||||||
"moment": "2.19.4",
|
"moment": "2.19.4",
|
||||||
|
|
|
@ -271,6 +271,18 @@ export function createInviteDialogEvent(
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an "offer/answer failure" event.
|
||||||
|
*
|
||||||
|
* @returns {Object} The event in a format suitable for sending via
|
||||||
|
* sendAnalytics.
|
||||||
|
*/
|
||||||
|
export function createOfferAnswerFailedEvent() {
|
||||||
|
return {
|
||||||
|
action: 'offer.answer.failure'
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a "page reload" event.
|
* Creates a "page reload" event.
|
||||||
*
|
*
|
||||||
|
|
|
@ -6,10 +6,12 @@ import {
|
||||||
ACTION_UNPINNED,
|
ACTION_UNPINNED,
|
||||||
createAudioOnlyChangedEvent,
|
createAudioOnlyChangedEvent,
|
||||||
createConnectionEvent,
|
createConnectionEvent,
|
||||||
|
createOfferAnswerFailedEvent,
|
||||||
createPinnedEvent,
|
createPinnedEvent,
|
||||||
sendAnalytics
|
sendAnalytics
|
||||||
} from '../../analytics';
|
} from '../../analytics';
|
||||||
import { CONNECTION_ESTABLISHED, CONNECTION_FAILED } from '../connection';
|
import { CONNECTION_ESTABLISHED, CONNECTION_FAILED } from '../connection';
|
||||||
|
import { JitsiConferenceErrors } from '../lib-jitsi-meet';
|
||||||
import { setVideoMuted, VIDEO_MUTISM_AUTHORITY } from '../media';
|
import { setVideoMuted, VIDEO_MUTISM_AUTHORITY } from '../media';
|
||||||
import {
|
import {
|
||||||
getLocalParticipant,
|
getLocalParticipant,
|
||||||
|
@ -152,6 +154,12 @@ StateListenerRegistry.register(
|
||||||
function _conferenceFailed(store, next, action) {
|
function _conferenceFailed(store, next, action) {
|
||||||
const result = next(action);
|
const result = next(action);
|
||||||
|
|
||||||
|
const { conference, error } = action;
|
||||||
|
|
||||||
|
if (error.name === JitsiConferenceErrors.OFFER_ANSWER_FAILED) {
|
||||||
|
sendAnalytics(createOfferAnswerFailedEvent());
|
||||||
|
}
|
||||||
|
|
||||||
// FIXME: Workaround for the web version. Currently, the creation of the
|
// FIXME: Workaround for the web version. Currently, the creation of the
|
||||||
// conference is handled by /conference.js and appropriate failure handlers
|
// conference is handled by /conference.js and appropriate failure handlers
|
||||||
// are set there.
|
// are set there.
|
||||||
|
@ -165,8 +173,6 @@ function _conferenceFailed(store, next, action) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// XXX After next(action), it is clear whether the error is recoverable.
|
// XXX After next(action), it is clear whether the error is recoverable.
|
||||||
const { conference, error } = action;
|
|
||||||
|
|
||||||
!error.recoverable
|
!error.recoverable
|
||||||
&& conference
|
&& conference
|
||||||
&& conference.leave().catch(reason => {
|
&& conference.leave().catch(reason => {
|
||||||
|
|
|
@ -70,6 +70,7 @@ export function isFatalJitsiConferenceError(error: Object | string) {
|
||||||
return (
|
return (
|
||||||
error === JitsiConferenceErrors.FOCUS_DISCONNECTED
|
error === JitsiConferenceErrors.FOCUS_DISCONNECTED
|
||||||
|| error === JitsiConferenceErrors.FOCUS_LEFT
|
|| error === JitsiConferenceErrors.FOCUS_LEFT
|
||||||
|
|| error === JitsiConferenceErrors.OFFER_ANSWER_FAILED
|
||||||
|| error === JitsiConferenceErrors.VIDEOBRIDGE_NOT_AVAILABLE);
|
|| error === JitsiConferenceErrors.VIDEOBRIDGE_NOT_AVAILABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue