Merge pull request #1621 from matrix-org/dbkr/fix_force_turn

Fix the force TURN option
This commit is contained in:
David Baker 2017-11-17 15:51:09 +00:00 committed by GitHub
commit 89f7357a36
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 4 deletions

View file

@ -52,7 +52,6 @@ limitations under the License.
*/
import MatrixClientPeg from './MatrixClientPeg';
import UserSettingsStore from './UserSettingsStore';
import PlatformPeg from './PlatformPeg';
import Modal from './Modal';
import sdk from './index';
@ -245,9 +244,7 @@ function _onAction(payload) {
return;
} else if (members.length === 2) {
console.log("Place %s call in %s", payload.type, payload.room_id);
const call = Matrix.createNewMatrixCall(MatrixClientPeg.get(), payload.room_id, {
forceTURN: UserSettingsStore.getLocalSetting('webRtcForceTURN', false),
});
const call = Matrix.createNewMatrixCall(MatrixClientPeg.get(), payload.room_id);
placeCall(call);
} else { // > 2
dis.dispatch({

View file

@ -136,6 +136,9 @@ class MatrixClientPeg {
}
_createClient(creds: MatrixClientCreds) {
// XXX: This is here and as a require because apparently circular dependencies
// are just broken in webpack (https://github.com/webpack/webpack/issues/1788)
const UserSettingsStore = require('./UserSettingsStore');
const opts = {
baseUrl: creds.homeserverUrl,
idBaseUrl: creds.identityServerUrl,
@ -143,6 +146,7 @@ class MatrixClientPeg {
userId: creds.userId,
deviceId: creds.deviceId,
timelineSupport: true,
forceTURN: UserSettingsStore.getLocalSetting('webRtcForceTURN', false),
};
this.matrixClient = createMatrixClient(opts, this.indexedDbWorkerScript);

View file

@ -877,6 +877,11 @@ module.exports = React.createClass({
// TODO: this ought to be a separate component so that we don't need
// to rebind the onChange each time we render
const onChange = (e) => {
// XXX: awful, but at time of writing, granular settings has landed on
// develop which will almost certainly mean we'll handle this differently.
if (setting.id === 'webRtcForceTURN') {
MatrixClientPeg.get().setForceTURN(e.target.checked);
}
UserSettingsStore.setLocalSetting(setting.id, e.target.checked);
if (setting.fn) setting.fn(e.target.checked);
};