Hide inline images when preference disabled

As a first attempt, this drops inline images (as if they were not present at
all) when the "show images" preference is disabled. Future work might expose
some UI to reveal them like standalone image events have.

Fixes https://github.com/vector-im/element-web/issues/15573
pull/21833/head
J. Ryan Stinnett 2020-10-28 13:03:48 +00:00
parent 557d9ad90c
commit 9c8bc583e0
1 changed files with 2 additions and 1 deletions

View File

@ -29,6 +29,7 @@ import EMOJIBASE_REGEX from 'emojibase-regex';
import url from 'url';
import {MatrixClientPeg} from './MatrixClientPeg';
import SettingsStore from './settings/SettingsStore';
import {tryTransformPermalinkToLocalHref} from "./utils/permalinks/Permalinks";
import {SHORTCODE_TO_EMOJI, getEmojiFromUnicode} from "./emoji";
import ReplyThread from "./components/views/elements/ReplyThread";
@ -171,7 +172,7 @@ const transformTags: IExtendedSanitizeOptions["transformTags"] = { // custom to
// Strip out imgs that aren't `mxc` here instead of using allowedSchemesByTag
// because transformTags is used _before_ we filter by allowedSchemesByTag and
// we don't want to allow images with `https?` `src`s.
if (!attribs.src || !attribs.src.startsWith('mxc://')) {
if (!attribs.src || !attribs.src.startsWith('mxc://') || !SettingsStore.getValue("showImages")) {
return { tagName, attribs: {}};
}
attribs.src = MatrixClientPeg.get().mxcUrlToHttp(