[RN] CONFERENCE_FAILED with AUTHENTICATION_REQUIRED is recoverable

The feature authentication affords recovery from CONFERENCE_FAILED
caused by AUTHENTICATION_REQUIRED. (Like the feature room-lock afforded
recovery from CONFERENCE_FAILED caused by PASSWORD_REQUIRED.)
This commit is contained in:
Lyubo Marinov 2017-10-19 13:25:44 -05:00
parent 8948c837d3
commit 4f2346aac9
2 changed files with 19 additions and 3 deletions

View File

@ -64,14 +64,27 @@ MiddlewareRegistry.register(store => next => action => {
break;
}
case CONFERENCE_FAILED:
if (action.error.name
=== JitsiConferenceErrors.AUTHENTICATION_REQUIRED) {
case CONFERENCE_FAILED: {
const { error } = action;
// XXX The feature authentication affords recovery from
// CONFERENCE_FAILED caused by
// JitsiConferenceErrors.AUTHENTICATION_REQUIRED.
let recoverable;
if (error.name === JitsiConferenceErrors.AUTHENTICATION_REQUIRED) {
if (typeof error.recoverable === 'undefined') {
error.recoverable = true;
}
recoverable = error.recoverable;
}
if (recoverable) {
store.dispatch(waitForOwner());
} else {
store.dispatch(stopWaitForOwner());
}
break;
}
case CONFERENCE_JOINED:
if (_isWaitingForOwner(store)) {

View File

@ -29,6 +29,9 @@ MiddlewareRegistry.register(store => next => action => {
if (conference
&& error.name === JitsiConferenceErrors.PASSWORD_REQUIRED) {
// XXX The feature room-lock affords recovery after
// CONFERENCE_FAILED caused by
// JitsiConferenceErrors.PASSWORD_REQUIRED.
if (typeof error.recoverable === 'undefined') {
error.recoverable = true;
}