diff --git a/src/stores/room-list/MessagePreviewStore.ts b/src/stores/room-list/MessagePreviewStore.ts index e5ef735927..45f1b6c879 100644 --- a/src/stores/room-list/MessagePreviewStore.ts +++ b/src/stores/room-list/MessagePreviewStore.ts @@ -19,42 +19,19 @@ import { ActionPayload } from "../../dispatcher/payloads"; import { AsyncStoreWithClient } from "../AsyncStoreWithClient"; import defaultDispatcher from "../../dispatcher/dispatcher"; import { MessageEventPreview } from "./previews/MessageEventPreview"; -import { NameEventPreview } from "./previews/NameEventPreview"; import { TagID } from "./models"; import { isNullOrUndefined } from "matrix-js-sdk/src/utils"; -import { TopicEventPreview } from "./previews/TopicEventPreview"; -import { MembershipEventPreview } from "./previews/MembershipEventPreview"; -import { HistoryVisibilityEventPreview } from "./previews/HistoryVisibilityEventPreview"; import { CallInviteEventPreview } from "./previews/CallInviteEventPreview"; import { CallAnswerEventPreview } from "./previews/CallAnswerEventPreview"; import { CallHangupEvent } from "./previews/CallHangupEvent"; -import { EncryptionEventPreview } from "./previews/EncryptionEventPreview"; -import { ThirdPartyInviteEventPreview } from "./previews/ThirdPartyInviteEventPreview"; import { StickerEventPreview } from "./previews/StickerEventPreview"; import { ReactionEventPreview } from "./previews/ReactionEventPreview"; -import { CreationEventPreview } from "./previews/CreationEventPreview"; const PREVIEWS = { 'm.room.message': { isState: false, previewer: new MessageEventPreview(), }, - 'm.room.name': { - isState: true, - previewer: new NameEventPreview(), - }, - 'm.room.topic': { - isState: true, - previewer: new TopicEventPreview(), - }, - 'm.room.member': { - isState: true, - previewer: new MembershipEventPreview(), - }, - 'm.room.history_visibility': { - isState: true, - previewer: new HistoryVisibilityEventPreview(), - }, 'm.call.invite': { isState: false, previewer: new CallInviteEventPreview(), @@ -67,14 +44,6 @@ const PREVIEWS = { isState: false, previewer: new CallHangupEvent(), }, - 'm.room.encryption': { - isState: true, - previewer: new EncryptionEventPreview(), - }, - 'm.room.third_party_invite': { - isState: true, - previewer: new ThirdPartyInviteEventPreview(), - }, 'm.sticker': { isState: false, previewer: new StickerEventPreview(), @@ -83,10 +52,6 @@ const PREVIEWS = { isState: false, previewer: new ReactionEventPreview(), }, - 'm.room.create': { - isState: true, - previewer: new CreationEventPreview(), - }, }; // The maximum number of events we're willing to look back on to get a preview. diff --git a/src/stores/room-list/previews/CreationEventPreview.ts b/src/stores/room-list/previews/CreationEventPreview.ts deleted file mode 100644 index 62bb5fe53a..0000000000 --- a/src/stores/room-list/previews/CreationEventPreview.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* -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 { IPreview } from "./IPreview"; -import { TagID } from "../models"; -import { MatrixEvent } from "matrix-js-sdk/src/models/event"; -import { getSenderName, isSelf } from "./utils"; -import { _t } from "../../../languageHandler"; - -export class CreationEventPreview implements IPreview { - public getTextFor(event: MatrixEvent, tagId?: TagID): string { - if (isSelf(event)) { - return _t("You created the room"); - } else { - return _t("%(senderName)s created the room", {senderName: getSenderName(event)}); - } - } -} diff --git a/src/stores/room-list/previews/EncryptionEventPreview.ts b/src/stores/room-list/previews/EncryptionEventPreview.ts deleted file mode 100644 index d00fd7e7f9..0000000000 --- a/src/stores/room-list/previews/EncryptionEventPreview.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* -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 { IPreview } from "./IPreview"; -import { TagID } from "../models"; -import { MatrixEvent } from "matrix-js-sdk/src/models/event"; -import { getSenderName, isSelf } from "./utils"; -import { _t } from "../../../languageHandler"; - -export class EncryptionEventPreview implements IPreview { - public getTextFor(event: MatrixEvent, tagId?: TagID): string { - if (isSelf(event)) { - return _t("You made the chat encrypted"); - } else { - return _t("%(senderName)s made the chat encrypted", {senderName: getSenderName(event)}); - } - } -} diff --git a/src/stores/room-list/previews/HistoryVisibilityEventPreview.ts b/src/stores/room-list/previews/HistoryVisibilityEventPreview.ts deleted file mode 100644 index ac77a181f8..0000000000 --- a/src/stores/room-list/previews/HistoryVisibilityEventPreview.ts +++ /dev/null @@ -1,42 +0,0 @@ -/* -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 { IPreview } from "./IPreview"; -import { TagID } from "../models"; -import { MatrixEvent } from "matrix-js-sdk/src/models/event"; -import { getSenderName, isSelf } from "./utils"; -import { _t } from "../../../languageHandler"; - -export class HistoryVisibilityEventPreview implements IPreview { - public getTextFor(event: MatrixEvent, tagId?: TagID): string { - const visibility = event.getContent()['history_visibility']; - const isUs = isSelf(event); - - if (visibility === 'invited' || visibility === 'joined') { - return isUs - ? _t("You made history visible to new members") - : _t("%(senderName)s made history visible to new members", {senderName: getSenderName(event)}); - } else if (visibility === 'world_readable') { - return isUs - ? _t("You made history visible to anyone") - : _t("%(senderName)s made history visible to anyone", {senderName: getSenderName(event)}); - } else { // shared, default - return isUs - ? _t("You made history visible to future members") - : _t("%(senderName)s made history visible to future members", {senderName: getSenderName(event)}); - } - } -} diff --git a/src/stores/room-list/previews/MembershipEventPreview.ts b/src/stores/room-list/previews/MembershipEventPreview.ts deleted file mode 100644 index 44339aab5f..0000000000 --- a/src/stores/room-list/previews/MembershipEventPreview.ts +++ /dev/null @@ -1,90 +0,0 @@ -/* -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 { IPreview } from "./IPreview"; -import { TagID } from "../models"; -import { MatrixEvent } from "matrix-js-sdk/src/models/event"; -import { getTargetName, isSelfTarget } from "./utils"; -import { _t } from "../../../languageHandler"; - -export class MembershipEventPreview implements IPreview { - public getTextFor(event: MatrixEvent, tagId?: TagID): string { - const newMembership = event.getContent()['membership']; - const oldMembership = event.getPrevContent()['membership']; - const reason = event.getContent()['reason']; - const isUs = isSelfTarget(event); - - if (newMembership === 'invite') { - return isUs - ? _t("You were invited") - : _t("%(targetName)s was invited", {targetName: getTargetName(event)}); - } else if (newMembership === 'leave' && oldMembership !== 'invite') { - if (event.getSender() === event.getStateKey()) { - return isUs - ? _t("You left") - : _t("%(targetName)s left", {targetName: getTargetName(event)}); - } else { - if (reason) { - return isUs - ? _t("You were kicked (%(reason)s)", {reason}) - : _t("%(targetName)s was kicked (%(reason)s)", {targetName: getTargetName(event), reason}); - } else { - return isUs - ? _t("You were kicked") - : _t("%(targetName)s was kicked", {targetName: getTargetName(event)}); - } - } - } else if (newMembership === 'leave' && oldMembership === 'invite') { - if (event.getSender() === event.getStateKey()) { - return isUs - ? _t("You rejected the invite") - : _t("%(targetName)s rejected the invite", {targetName: getTargetName(event)}); - } else { - return isUs - ? _t("You were uninvited") - : _t("%(targetName)s was uninvited", {targetName: getTargetName(event)}); - } - } else if (newMembership === 'ban') { - if (reason) { - return isUs - ? _t("You were banned (%(reason)s)", {reason}) - : _t("%(targetName)s was banned (%(reason)s)", {targetName: getTargetName(event), reason}); - } else { - return isUs - ? _t("You were banned") - : _t("%(targetName)s was banned", {targetName: getTargetName(event)}); - } - } else if (newMembership === 'join' && oldMembership !== 'join') { - return isUs - ? _t("You joined") - : _t("%(targetName)s joined", {targetName: getTargetName(event)}); - } else { - const isDisplayNameChange = event.getContent()['displayname'] !== event.getPrevContent()['displayname']; - const isAvatarChange = event.getContent()['avatar_url'] !== event.getPrevContent()['avatar_url']; - if (isDisplayNameChange) { - return isUs - ? _t("You changed your name") - : _t("%(targetName)s changed their name", {targetName: getTargetName(event)}); - } else if (isAvatarChange) { - return isUs - ? _t("You changed your avatar") - : _t("%(targetName)s changed their avatar", {targetName: getTargetName(event)}); - } else { - return null; // no change - } - } - } -} diff --git a/src/stores/room-list/previews/NameEventPreview.ts b/src/stores/room-list/previews/NameEventPreview.ts deleted file mode 100644 index 4197abacfb..0000000000 --- a/src/stores/room-list/previews/NameEventPreview.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* -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 { IPreview } from "./IPreview"; -import { TagID } from "../models"; -import { MatrixEvent } from "matrix-js-sdk/src/models/event"; -import { getSenderName, isSelf } from "./utils"; -import { _t } from "../../../languageHandler"; - -export class NameEventPreview implements IPreview { - public getTextFor(event: MatrixEvent, tagId?: TagID): string { - if (isSelf(event)) { - return _t("You changed the room name"); - } else { - return _t("%(senderName)s changed the room name", {senderName: getSenderName(event)}); - } - } -} diff --git a/src/stores/room-list/previews/ThirdPartyInviteEventPreview.ts b/src/stores/room-list/previews/ThirdPartyInviteEventPreview.ts deleted file mode 100644 index b22cd9fac9..0000000000 --- a/src/stores/room-list/previews/ThirdPartyInviteEventPreview.ts +++ /dev/null @@ -1,42 +0,0 @@ -/* -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 { IPreview } from "./IPreview"; -import { TagID } from "../models"; -import { MatrixEvent } from "matrix-js-sdk/src/models/event"; -import { getSenderName, isSelf } from "./utils"; -import { _t } from "../../../languageHandler"; -import { isValid3pidInvite } from "../../../RoomInvite"; - -export class ThirdPartyInviteEventPreview implements IPreview { - public getTextFor(event: MatrixEvent, tagId?: TagID): string { - if (!isValid3pidInvite(event)) { - const targetName = event.getPrevContent().display_name || _t("Someone"); - if (isSelf(event)) { - return _t("You uninvited %(targetName)s", {targetName}); - } else { - return _t("%(senderName)s uninvited %(targetName)s", {senderName: getSenderName(event), targetName}); - } - } else { - const targetName = event.getContent().display_name; - if (isSelf(event)) { - return _t("You invited %(targetName)s", {targetName}); - } else { - return _t("%(senderName)s invited %(targetName)s", {senderName: getSenderName(event), targetName}); - } - } - } -} diff --git a/src/stores/room-list/previews/TopicEventPreview.ts b/src/stores/room-list/previews/TopicEventPreview.ts deleted file mode 100644 index 9b499aae8f..0000000000 --- a/src/stores/room-list/previews/TopicEventPreview.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* -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 { IPreview } from "./IPreview"; -import { TagID } from "../models"; -import { MatrixEvent } from "matrix-js-sdk/src/models/event"; -import { getSenderName, isSelf } from "./utils"; -import { _t } from "../../../languageHandler"; - -export class TopicEventPreview implements IPreview { - public getTextFor(event: MatrixEvent, tagId?: TagID): string { - if (isSelf(event)) { - return _t("You changed the room topic"); - } else { - return _t("%(senderName)s changed the room topic", {senderName: getSenderName(event)}); - } - } -}