diff --git a/src/TextForEvent.tsx b/src/TextForEvent.tsx index 04d1726f3d..10530d7c9b 100644 --- a/src/TextForEvent.tsx +++ b/src/TextForEvent.tsx @@ -29,7 +29,6 @@ import { M_POLL_END, PollStartEvent, } from "matrix-events-sdk"; -import { M_LOCATION } from "matrix-js-sdk/src/@types/location"; import { _t } from './languageHandler'; import * as Roles from './Roles'; @@ -46,6 +45,7 @@ import AccessibleButton from './components/views/elements/AccessibleButton'; import RightPanelStore from './stores/right-panel/RightPanelStore'; import UserIdentifierCustomisations from './customisations/UserIdentifier'; import { ViewRoomPayload } from "./dispatcher/payloads/ViewRoomPayload"; +import { isLocationEvent } from './utils/EventUtils'; export function getSenderName(event: MatrixEvent): string { return event.sender?.name ?? event.getSender() ?? _t("Someone"); @@ -305,11 +305,7 @@ function textForServerACLEvent(ev: MatrixEvent): () => string | null { } function textForMessageEvent(ev: MatrixEvent): () => string | null { - const type = ev.getType(); - const content = ev.getContent(); - const msgtype = content.msgtype; - - if (M_LOCATION.matches(type) || M_LOCATION.matches(msgtype)) { + if (isLocationEvent(ev)) { return textForLocationEvent(ev); } diff --git a/src/utils/EventRenderingUtils.ts b/src/utils/EventRenderingUtils.ts index a44db854fe..ced3874804 100644 --- a/src/utils/EventRenderingUtils.ts +++ b/src/utils/EventRenderingUtils.ts @@ -17,13 +17,12 @@ limitations under the License. import { MatrixEvent } from "matrix-js-sdk/src/models/event"; import { EventType, MsgType } from "matrix-js-sdk/src/@types/event"; import { M_POLL_START } from "matrix-events-sdk"; -import { M_LOCATION } from "matrix-js-sdk/src/@types/location"; import { M_BEACON_INFO } from "matrix-js-sdk/src/@types/beacon"; import SettingsStore from "../settings/SettingsStore"; import { haveRendererForEvent, JitsiEventFactory, JSONEventFactory, pickFactory } from "../events/EventTileFactory"; import { MatrixClientPeg } from "../MatrixClientPeg"; -import { getMessageModerationState, MessageModerationState } from "./EventUtils"; +import { getMessageModerationState, isLocationEvent, MessageModerationState } from "./EventUtils"; export function getEventDisplayInfo(mxEvent: MatrixEvent, showHiddenEvents: boolean, hideEvent?: boolean): { isInfoMessage: boolean; @@ -80,12 +79,8 @@ export function getEventDisplayInfo(mxEvent: MatrixEvent, showHiddenEvents: bool const noBubbleEvent = ( (eventType === EventType.RoomMessage && msgtype === MsgType.Emote) || M_POLL_START.matches(eventType) || - M_LOCATION.matches(eventType) || M_BEACON_INFO.matches(eventType) || - ( - eventType === EventType.RoomMessage && - M_LOCATION.matches(msgtype) - ) + isLocationEvent(mxEvent) ); // If we're showing hidden events in the timeline, we should use the