switch to another settings key for e2e url previews to protect on change

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2018-06-22 18:44:54 +01:00
parent ed4b82f8fc
commit acbc84a69c
No known key found for this signature in database
GPG key ID: 3F879DA5AD802A5E
3 changed files with 16 additions and 25 deletions

View file

@ -620,26 +620,11 @@ module.exports = React.createClass({
},
_updatePreviewUrlVisibility: function({roomId}) {
const levels = [
SettingLevel.ROOM_DEVICE,
SettingLevel.ROOM_ACCOUNT,
];
let showUrlPreview;
// in e2ee rooms only care about room-device and room-account, so that user has to explicitly enable previews
if (MatrixClientPeg.get().isRoomEncrypted(roomId)) {
for (const level of levels) {
const value = SettingsStore.getValueAt(level, "urlPreviewsEnabled", roomId, true, true);
if (value === Boolean(value)) { // if is Boolean
showUrlPreview = value;
break;
}
}
showUrlPreview = showUrlPreview || false;
} else {
showUrlPreview = SettingsStore.getValue("urlPreviewsEnabled", roomId);
}
this.setState({showUrlPreview});
// URL Previews in E2EE rooms can be a privacy leak so use a different setting which is per-room explicit
const key = MatrixClientPeg.get().isRoomEncrypted(roomId) ? 'urlPreviewsEnabled_e2ee' : 'urlPreviewsEnabled';
this.setState({
showUrlPreview: SettingsStore.getValue(key, roomId),
});
},
onRoom: function(room) {