|
@@ -64,14 +64,27 @@ MiddlewareRegistry.register(store => next => action => {
|
64
|
64
|
break;
|
65
|
65
|
}
|
66
|
66
|
|
67
|
|
- case CONFERENCE_FAILED:
|
68
|
|
- if (action.error.name
|
69
|
|
- === JitsiConferenceErrors.AUTHENTICATION_REQUIRED) {
|
|
67
|
+ case CONFERENCE_FAILED: {
|
|
68
|
+ const { error } = action;
|
|
69
|
+
|
|
70
|
+ // XXX The feature authentication affords recovery from
|
|
71
|
+ // CONFERENCE_FAILED caused by
|
|
72
|
+ // JitsiConferenceErrors.AUTHENTICATION_REQUIRED.
|
|
73
|
+ let recoverable;
|
|
74
|
+
|
|
75
|
+ if (error.name === JitsiConferenceErrors.AUTHENTICATION_REQUIRED) {
|
|
76
|
+ if (typeof error.recoverable === 'undefined') {
|
|
77
|
+ error.recoverable = true;
|
|
78
|
+ }
|
|
79
|
+ recoverable = error.recoverable;
|
|
80
|
+ }
|
|
81
|
+ if (recoverable) {
|
70
|
82
|
store.dispatch(waitForOwner());
|
71
|
83
|
} else {
|
72
|
84
|
store.dispatch(stopWaitForOwner());
|
73
|
85
|
}
|
74
|
86
|
break;
|
|
87
|
+ }
|
75
|
88
|
|
76
|
89
|
case CONFERENCE_JOINED:
|
77
|
90
|
if (_isWaitingForOwner(store)) {
|