From 1c779cf95c7c250f34959918af9e654db47cdf54 Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Mon, 17 Aug 2020 17:41:57 +0200 Subject: [PATCH] render encrypted tiles as such so we don't fetch the whole history --- .../room/timeline/tiles/EncryptedEventTile.js | 23 +++++++++++++++++++ .../session/room/timeline/tilesCreator.js | 3 +++ 2 files changed, 26 insertions(+) create mode 100644 src/domain/session/room/timeline/tiles/EncryptedEventTile.js diff --git a/src/domain/session/room/timeline/tiles/EncryptedEventTile.js b/src/domain/session/room/timeline/tiles/EncryptedEventTile.js new file mode 100644 index 00000000..537bd6d9 --- /dev/null +++ b/src/domain/session/room/timeline/tiles/EncryptedEventTile.js @@ -0,0 +1,23 @@ +/* +Copyright 2020 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import {MessageTile} from "./MessageTile.js"; + +export class EncryptedEventTile extends MessageTile { + get text() { + return this.i18n`**Encrypted message**`; + } +} diff --git a/src/domain/session/room/timeline/tilesCreator.js b/src/domain/session/room/timeline/tilesCreator.js index 56f5faab..2e294467 100644 --- a/src/domain/session/room/timeline/tilesCreator.js +++ b/src/domain/session/room/timeline/tilesCreator.js @@ -20,6 +20,7 @@ import {ImageTile} from "./tiles/ImageTile.js"; import {LocationTile} from "./tiles/LocationTile.js"; import {RoomNameTile} from "./tiles/RoomNameTile.js"; import {RoomMemberTile} from "./tiles/RoomMemberTile.js"; +import {EncryptedEventTile} from "./tiles/EncryptedEventTile.js"; export function tilesCreator({room, ownUserId}) { return function tilesCreator(entry, emitUpdate) { @@ -49,6 +50,8 @@ export function tilesCreator({room, ownUserId}) { return new RoomNameTile(options); case "m.room.member": return new RoomMemberTile(options); + case "m.room.encrypted": + return new EncryptedEventTile(options); default: // unknown type not rendered return null;