feat(api): notify of password required
This commit is contained in:
parent
97e0303065
commit
ae3b70eb13
@ -192,6 +192,11 @@ The `command` parameter is String object with the name of the command. The follo
|
|||||||
api.executeCommand('displayName', 'New Nickname');
|
api.executeCommand('displayName', 'New Nickname');
|
||||||
```
|
```
|
||||||
|
|
||||||
|
* **password** - Sets the password for the room. This command requires one argument - the password name to be set.
|
||||||
|
```javascript
|
||||||
|
api.executeCommand('password', 'The Password');
|
||||||
|
```
|
||||||
|
|
||||||
* **subject** - Sets the subject of the conference. This command requires one argument - the new subject to be set.
|
* **subject** - Sets the subject of the conference. This command requires one argument - the new subject to be set.
|
||||||
```javascript
|
```javascript
|
||||||
api.executeCommand('subject', 'New Conference Subject');
|
api.executeCommand('subject', 'New Conference Subject');
|
||||||
@ -389,6 +394,8 @@ changes. The listener will receive an object with the following structure:
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
* **passwordRequired** - event notifications fired when failing to join a room because it has a password.
|
||||||
|
|
||||||
* **videoConferenceJoined** - event notifications fired when the local user has joined the video conference. The listener will receive an object with the following structure:
|
* **videoConferenceJoined** - event notifications fired when the local user has joined the video conference. The listener will receive an object with the following structure:
|
||||||
```javascript
|
```javascript
|
||||||
{
|
{
|
||||||
|
|||||||
@ -5,7 +5,7 @@ import {
|
|||||||
createApiEvent,
|
createApiEvent,
|
||||||
sendAnalytics
|
sendAnalytics
|
||||||
} from '../../react/features/analytics';
|
} from '../../react/features/analytics';
|
||||||
import { setSubject } from '../../react/features/base/conference';
|
import { setPassword, setSubject } from '../../react/features/base/conference';
|
||||||
import { parseJWTFromURLParams } from '../../react/features/base/jwt';
|
import { parseJWTFromURLParams } from '../../react/features/base/jwt';
|
||||||
import { invite } from '../../react/features/invite';
|
import { invite } from '../../react/features/invite';
|
||||||
import { toggleTileView } from '../../react/features/video-layout';
|
import { toggleTileView } from '../../react/features/video-layout';
|
||||||
@ -65,6 +65,28 @@ function initCommands() {
|
|||||||
sendAnalytics(createApiEvent('display.name.changed'));
|
sendAnalytics(createApiEvent('display.name.changed'));
|
||||||
APP.conference.changeLocalDisplayName(displayName);
|
APP.conference.changeLocalDisplayName(displayName);
|
||||||
},
|
},
|
||||||
|
'password': password => {
|
||||||
|
const { conference, passwordRequired }
|
||||||
|
= APP.store.getState()['features/base/conference'];
|
||||||
|
|
||||||
|
if (passwordRequired) {
|
||||||
|
sendAnalytics(createApiEvent('submit.password'));
|
||||||
|
|
||||||
|
APP.store.dispatch(setPassword(
|
||||||
|
passwordRequired,
|
||||||
|
passwordRequired.join,
|
||||||
|
password
|
||||||
|
));
|
||||||
|
} else {
|
||||||
|
sendAnalytics(createApiEvent('password.changed'));
|
||||||
|
|
||||||
|
APP.store.dispatch(setPassword(
|
||||||
|
conference,
|
||||||
|
conference.lock,
|
||||||
|
password
|
||||||
|
));
|
||||||
|
}
|
||||||
|
},
|
||||||
'proxy-connection-event': event => {
|
'proxy-connection-event': event => {
|
||||||
APP.conference.onProxyConnectionEvent(event);
|
APP.conference.onProxyConnectionEvent(event);
|
||||||
},
|
},
|
||||||
@ -627,6 +649,16 @@ class API {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notify external application of the current meeting requiring a password
|
||||||
|
* to join.
|
||||||
|
*
|
||||||
|
* @returns {void}
|
||||||
|
*/
|
||||||
|
notifyOnPasswordRequired() {
|
||||||
|
this._sendEvent({ name: 'password-required' });
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Notify external application (if API is enabled) that the screen sharing
|
* Notify external application (if API is enabled) that the screen sharing
|
||||||
* has been turned on/off.
|
* has been turned on/off.
|
||||||
|
|||||||
2
modules/API/external/external_api.js
vendored
2
modules/API/external/external_api.js
vendored
@ -33,6 +33,7 @@ const commands = {
|
|||||||
displayName: 'display-name',
|
displayName: 'display-name',
|
||||||
email: 'email',
|
email: 'email',
|
||||||
hangup: 'video-hangup',
|
hangup: 'video-hangup',
|
||||||
|
password: 'password',
|
||||||
subject: 'subject',
|
subject: 'subject',
|
||||||
submitFeedback: 'submit-feedback',
|
submitFeedback: 'submit-feedback',
|
||||||
toggleAudio: 'toggle-audio',
|
toggleAudio: 'toggle-audio',
|
||||||
@ -63,6 +64,7 @@ const events = {
|
|||||||
'outgoing-message': 'outgoingMessage',
|
'outgoing-message': 'outgoingMessage',
|
||||||
'participant-joined': 'participantJoined',
|
'participant-joined': 'participantJoined',
|
||||||
'participant-left': 'participantLeft',
|
'participant-left': 'participantLeft',
|
||||||
|
'password-required': 'passwordRequired',
|
||||||
'proxy-connection-event': 'proxyConnectionEvent',
|
'proxy-connection-event': 'proxyConnectionEvent',
|
||||||
'video-ready-to-close': 'readyToClose',
|
'video-ready-to-close': 'readyToClose',
|
||||||
'video-conference-joined': 'videoConferenceJoined',
|
'video-conference-joined': 'videoConferenceJoined',
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
// @flow
|
// @flow
|
||||||
|
|
||||||
|
import { CONFERENCE_FAILED } from '../base/conference';
|
||||||
import { NOTIFY_CAMERA_ERROR, NOTIFY_MIC_ERROR } from '../base/devices';
|
import { NOTIFY_CAMERA_ERROR, NOTIFY_MIC_ERROR } from '../base/devices';
|
||||||
|
import { JitsiConferenceErrors } from '../base/lib-jitsi-meet';
|
||||||
import { MiddlewareRegistry } from '../base/redux';
|
import { MiddlewareRegistry } from '../base/redux';
|
||||||
|
|
||||||
declare var APP: Object;
|
declare var APP: Object;
|
||||||
@ -12,6 +14,14 @@ declare var APP: Object;
|
|||||||
*/
|
*/
|
||||||
MiddlewareRegistry.register((/* store */) => next => action => {
|
MiddlewareRegistry.register((/* store */) => next => action => {
|
||||||
switch (action.type) {
|
switch (action.type) {
|
||||||
|
case CONFERENCE_FAILED: {
|
||||||
|
if (action.conference
|
||||||
|
&& action.error.name === JitsiConferenceErrors.PASSWORD_REQUIRED) {
|
||||||
|
APP.API.notifyOnPasswordRequired();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case NOTIFY_CAMERA_ERROR:
|
case NOTIFY_CAMERA_ERROR:
|
||||||
if (action.error) {
|
if (action.error) {
|
||||||
APP.API.notifyOnCameraError(
|
APP.API.notifyOnCameraError(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user