瀏覽代碼

fix(lock): ensure lock prompt is closed on password submit

This addresses a bug, in which submitting a password
through the iframe api no longer closes RoomLockPrompt,
by explicitly closing prompts for a lock or password.
j8
Leonard Kim 5 年之前
父節點
當前提交
68cad276bd
共有 1 個檔案被更改,包括 23 行新增0 行删除
  1. 23
    0
      react/features/room-lock/middleware.js

+ 23
- 0
react/features/room-lock/middleware.js 查看文件

@@ -2,6 +2,7 @@
2 2
 
3 3
 import {
4 4
     CONFERENCE_FAILED,
5
+    CONFERENCE_JOINED,
5 6
     LOCK_STATE_CHANGED,
6 7
     SET_PASSWORD_FAILED
7 8
 } from '../base/conference';
@@ -33,6 +34,9 @@ MiddlewareRegistry.register(store => next => action => {
33 34
     case CONFERENCE_FAILED:
34 35
         return _conferenceFailed(store, next, action);
35 36
 
37
+    case CONFERENCE_JOINED:
38
+        return _conferenceJoined(store, next, action);
39
+
36 40
     case LOCK_STATE_CHANGED: {
37 41
         // TODO Remove this logic when all components interested in the lock
38 42
         // state change event are moved into react/redux.
@@ -67,6 +71,25 @@ MiddlewareRegistry.register(store => next => action => {
67 71
     return next(action);
68 72
 });
69 73
 
74
+/**
75
+ * Handles cleanup of lock prompt state when a conference is joined.
76
+ *
77
+ * @param {Store} store - The redux store in which the specified action is being
78
+ * dispatched.
79
+ * @param {Dispatch} next - The redux {@code dispatch} function to dispatch the
80
+ * specified action to the specified store.
81
+ * @param {Action} action - The redux action {@code CONFERENCE_JOINED} which
82
+ * specifies the details associated with joining the conference.
83
+ * @private
84
+ * @returns {*}
85
+ */
86
+function _conferenceJoined({ dispatch }, next, action) {
87
+    dispatch(hideDialog(PasswordRequiredPrompt));
88
+    dispatch(hideDialog(RoomLockPrompt));
89
+
90
+    return next(action);
91
+}
92
+
70 93
 /**
71 94
  * Handles errors that occur when a conference fails.
72 95
  *

Loading…
取消
儲存