Fix message edit isn't reflected in reply #421
This commit is contained in:
parent
5863dcdf67
commit
fbe287a702
1 changed files with 11 additions and 2 deletions
|
@ -123,17 +123,26 @@ const MessageReplyWrapper = React.memo(({ roomTimeline, eventId }) => {
|
||||||
const eTimeline = await mx.getEventTimeline(timelineSet, eventId);
|
const eTimeline = await mx.getEventTimeline(timelineSet, eventId);
|
||||||
await roomTimeline.decryptAllEventsOfTimeline(eTimeline);
|
await roomTimeline.decryptAllEventsOfTimeline(eTimeline);
|
||||||
|
|
||||||
const mEvent = eTimeline.getTimelineSet().findEventById(eventId);
|
let mEvent = eTimeline.getTimelineSet().findEventById(eventId);
|
||||||
|
const editedList = roomTimeline.editedTimeline.get(mEvent.getId());
|
||||||
|
if (editedList) {
|
||||||
|
mEvent = editedList[editedList.length - 1];
|
||||||
|
}
|
||||||
|
|
||||||
const rawBody = mEvent.getContent().body;
|
const rawBody = mEvent.getContent().body;
|
||||||
const username = getUsernameOfRoomMember(mEvent.sender);
|
const username = getUsernameOfRoomMember(mEvent.sender);
|
||||||
|
|
||||||
if (isMountedRef.current === false) return;
|
if (isMountedRef.current === false) return;
|
||||||
const fallbackBody = mEvent.isRedacted() ? '*** This message has been deleted ***' : '*** Unable to load reply ***';
|
const fallbackBody = mEvent.isRedacted() ? '*** This message has been deleted ***' : '*** Unable to load reply ***';
|
||||||
|
let parsedBody = parseReply(rawBody)?.body ?? rawBody ?? fallbackBody;
|
||||||
|
if (editedList && parsedBody.startsWith(' * ')) {
|
||||||
|
parsedBody = parsedBody.slice(3);
|
||||||
|
}
|
||||||
|
|
||||||
setReply({
|
setReply({
|
||||||
to: username,
|
to: username,
|
||||||
color: colorMXID(mEvent.getSender()),
|
color: colorMXID(mEvent.getSender()),
|
||||||
body: parseReply(rawBody)?.body ?? rawBody ?? fallbackBody,
|
body: parsedBody,
|
||||||
event: mEvent,
|
event: mEvent,
|
||||||
});
|
});
|
||||||
} catch {
|
} catch {
|
||||||
|
|
Loading…
Reference in a new issue