diff --git a/web/src/ui/composer/MessageComposer.tsx b/web/src/ui/composer/MessageComposer.tsx index 3599a50..969adf2 100644 --- a/web/src/ui/composer/MessageComposer.tsx +++ b/web/src/ui/composer/MessageComposer.tsx @@ -98,10 +98,10 @@ const MessageComposer = ({ room, scrollToBottomRef, setReplyToRef }: MessageComp event_id: replyToEvt.event_id, }, } - if (replyToEvt.content["m.relates_to"]?.rel_type === "m.thread" - && typeof replyToEvt.content["m.relates_to"]?.event_id === "string") { + if (replyToEvt.content?.["m.relates_to"]?.rel_type === "m.thread" + && typeof replyToEvt.content?.["m.relates_to"]?.event_id === "string") { relates_to.rel_type = "m.thread" - relates_to.event_id = replyToEvt.content["m.relates_to"].event_id + relates_to.event_id = replyToEvt.content?.["m.relates_to"].event_id // TODO set this to true if replying to the last event in a thread? relates_to.is_falling_back = false } @@ -259,7 +259,7 @@ const MessageComposer = ({ room, scrollToBottomRef, setReplyToRef }: MessageComp room={room} event={replyToEvt} onClose={closeReply} - isThread={replyToEvt.content["m.relates_to"]?.rel_type === "m.thread"} + isThread={replyToEvt.content?.["m.relates_to"]?.rel_type === "m.thread"} />} {loadingMedia &&
} {state.media && } diff --git a/web/src/ui/timeline/TimelineEvent.tsx b/web/src/ui/timeline/TimelineEvent.tsx index 2d4159a..689b0db 100644 --- a/web/src/ui/timeline/TimelineEvent.tsx +++ b/web/src/ui/timeline/TimelineEvent.tsx @@ -92,7 +92,7 @@ const TimelineEvent = ({ room, evt, prevEvt, setReplyToRef }: TimelineEventProps const fullTime = fullTimeFormatter.format(eventTS) const shortTime = formatShortTime(eventTS) const editTime = editEventTS ? `Edited at ${fullTimeFormatter.format(editEventTS)}` : null - const replyTo = evt.content["m.relates_to"]?.["m.in_reply_to"]?.event_id + const replyTo = evt.content?.["m.relates_to"]?.["m.in_reply_to"]?.event_id const mainEvent =
: null} diff --git a/web/src/ui/timeline/content/index.ts b/web/src/ui/timeline/content/index.ts index 58d49c6..1f562da 100644 --- a/web/src/ui/timeline/content/index.ts +++ b/web/src/ui/timeline/content/index.ts @@ -28,7 +28,7 @@ export default function getBodyType(evt: MemDBEvent, forReply = false): React.Fu if (evt.redacted_by) { return RedactedBody } - switch (evt.content.msgtype) { + switch (evt.content?.msgtype) { case "m.text": case "m.notice": case "m.emote":