update UrlPreview settings to be more privacy-aware in e2ee rooms

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2018-06-21 01:16:01 +01:00
parent df58715a17
commit 891070d001
No known key found for this signature in database
GPG key ID: 3F879DA5AD802A5E
2 changed files with 68 additions and 30 deletions

View file

@ -618,10 +618,26 @@ module.exports = React.createClass({
}
},
_updatePreviewUrlVisibility: function(room) {
this.setState({
showUrlPreview: SettingsStore.getValue("urlPreviewsEnabled", room.roomId),
});
_updatePreviewUrlVisibility: function({roomId}) {
const levels = [
SettingLevel.ROOM_DEVICE,
SettingLevel.ROOM_ACCOUNT,
];
let showUrlPreview;
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});
},
onRoom: function(room) {