From 13527e735b467204ce3049c84ebc1af612906a86 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Wed, 8 Jan 2025 11:02:05 +0000 Subject: [PATCH] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../e2e/one-to-one-chat/one-to-one-chat.spec.ts | 3 +++ src/TextForEvent.tsx | 5 +++-- src/components/views/messages/TextualEvent.tsx | 16 +--------------- 3 files changed, 7 insertions(+), 17 deletions(-) diff --git a/playwright/e2e/one-to-one-chat/one-to-one-chat.spec.ts b/playwright/e2e/one-to-one-chat/one-to-one-chat.spec.ts index deefb305db..37b510faa5 100644 --- a/playwright/e2e/one-to-one-chat/one-to-one-chat.spec.ts +++ b/playwright/e2e/one-to-one-chat/one-to-one-chat.spec.ts @@ -9,12 +9,15 @@ Please see LICENSE files in the repository root for full details. import { test as base, expect } from "../../element-web-test"; import { Credentials } from "../../plugins/homeserver"; +import { isDendrite } from "../../plugins/homeserver/dendrite"; const test = base.extend<{ user2?: Credentials; }>({}); test.describe("1:1 chat room", () => { + test.skip(isDendrite, "due to a Dendrite bug https://github.com/element-hq/dendrite/issues/3492"); + test.use({ displayName: "Jeff", user2: async ({ homeserver }, use) => { diff --git a/src/TextForEvent.tsx b/src/TextForEvent.tsx index 1194e4ca71..bdb7e8cbe0 100644 --- a/src/TextForEvent.tsx +++ b/src/TextForEvent.tsx @@ -107,8 +107,9 @@ function textForMemberEvent( allowJSX: boolean, showHiddenEvents?: boolean, ): (() => string) | null { - const senderName = getRoomMemberDisplayname(client, ev); - const targetName = getRoomMemberDisplayname(client, ev, ev.getStateKey()); + // XXX: SYJS-16 "sender is sometimes null for join messages" + const senderName = ev.sender?.name || getRoomMemberDisplayname(client, ev); + const targetName = ev.target?.name || getRoomMemberDisplayname(client, ev, ev.getStateKey()); const prevContent = ev.getPrevContent(); const content = ev.getContent(); const reason = content.reason; diff --git a/src/components/views/messages/TextualEvent.tsx b/src/components/views/messages/TextualEvent.tsx index 831aaee117..8549fc5cab 100644 --- a/src/components/views/messages/TextualEvent.tsx +++ b/src/components/views/messages/TextualEvent.tsx @@ -7,7 +7,7 @@ Please see LICENSE files in the repository root for full details. */ import React from "react"; -import { MatrixEvent, RoomMember, RoomMemberEvent } from "matrix-js-sdk/src/matrix"; +import { MatrixEvent } from "matrix-js-sdk/src/matrix"; import RoomContext from "../../../contexts/RoomContext"; import * as TextForEvent from "../../../TextForEvent"; @@ -21,20 +21,6 @@ export default class TextualEvent extends React.Component { public static contextType = RoomContext; declare public context: React.ContextType; - public componentDidMount(): void { - MatrixClientPeg.get()?.on(RoomMemberEvent.Name, this.onMemberNameUpdate); - } - - public componentWillUnmount(): void { - MatrixClientPeg.get()?.off(RoomMemberEvent.Name, this.onMemberNameUpdate); - } - - private onMemberNameUpdate = (event: MatrixEvent, member: RoomMember): void => { - if (member.userId === this.props.mxEvent.getSender() || member.userId === this.props.mxEvent.getStateKey()) { - this.forceUpdate(); - } - }; - public render(): React.ReactNode { const text = TextForEvent.textForEvent( this.props.mxEvent,