Make blacklistUnverifiedDevices override the level order

Signed-off-by: Travis Ralston <travpc@gmail.com>
This commit is contained in:
Travis Ralston 2017-11-08 17:41:32 -07:00
parent c7d8f3931f
commit f7da5836e1
5 changed files with 26 additions and 24 deletions

View file

@ -1104,6 +1104,7 @@ module.exports = React.createClass({
SettingLevel.ROOM_DEVICE,
"blacklistUnverifiedDevices",
room.roomId,
/*explicit=*/true,
);
room.setBlacklistUnverifiedDevices(blacklistEnabled);
}

View file

@ -147,9 +147,12 @@ export default React.createClass({
return <Spinner />;
}
// The global value is treated as a default for when rooms don't specify a value.
const client = MatrixClientPeg.get();
const blacklistUnverified = client.getGlobalBlacklistUnverifiedDevices() ||
this.props.room.getBlacklistUnverifiedDevices();
let blacklistUnverified = client.getGlobalBlacklistUnverifiedDevices();
if (this.props.room.getBlacklistUnverifiedDevices() !== null) {
blacklistUnverified = this.props.room.getBlacklistUnverifiedDevices();
}
let warning;
if (blacklistUnverified) {

View file

@ -369,6 +369,7 @@ module.exports = React.createClass({
SettingLevel.ROOM_DEVICE,
"blacklistUnverifiedDevices",
this.props.room.roomId,
/*explicit=*/true,
);
this.props.room.setBlacklistUnverifiedDevices(value);
});
@ -592,21 +593,6 @@ module.exports = React.createClass({
/>
);
const deviceBlacklisting = SettingsStore.getValueAt(
SettingLevel.DEVICE,
"blacklistUnverifiedDevices",
this.props.room.roomId,
/*explicit=*/true
);
if (deviceBlacklisting === true) {
settings = (
<label>
<input type="checkbox" disabled={true} checked={true} />
{ SettingsStore.getDisplayName("blacklistUnverifiedDevices", SettingLevel.ROOM_DEVICE) }
</label>
);
}
if (!isEncrypted && roomState.mayClientSendStateEvent("m.room.encryption", cli)) {
return (
<div>