You've already forked matrix-react-sdk
mirror of
https://github.com/matrix-org/matrix-react-sdk.git
synced 2025-11-20 16:22:28 +03:00
Do not process edit events as they are already considered
This commit is contained in:
@@ -324,6 +324,10 @@ const getBaseEventId = (event: MatrixEvent) => {
|
|||||||
return (relatesTo && relatesTo["m.in_reply_to"]) ? relatesTo["m.in_reply_to"]["event_id"] : null;
|
return (relatesTo && relatesTo["m.in_reply_to"]) ? relatesTo["m.in_reply_to"]["event_id"] : null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const isEdit = (event: MatrixEvent) => {
|
||||||
|
if (event.getType() === "m.room.message" && event.getContent().hasOwnProperty("m.new_content")) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
const dateSeparator = (event: MatrixEvent, prevEvent: MatrixEvent) => {
|
const dateSeparator = (event: MatrixEvent, prevEvent: MatrixEvent) => {
|
||||||
const prevDate = prevEvent ? new Date(prevEvent.getTs()) : null;
|
const prevDate = prevEvent ? new Date(prevEvent.getTs()) : null;
|
||||||
@@ -387,7 +391,8 @@ const createMessageBody = async (event: MatrixEvent, joined = false, isReply = f
|
|||||||
<div class="pull_right date details" title="${new Date(event.getTs())}">
|
<div class="pull_right date details" title="${new Date(event.getTs())}">
|
||||||
${new Date(event.getTs()).toLocaleTimeString().slice(0, -3)}
|
${new Date(event.getTs()).toLocaleTimeString().slice(0, -3)}
|
||||||
</div>
|
</div>
|
||||||
${!joined ? `<div class="from_name" style="color:${getUserColor(event.sender.name)}">
|
${!joined ? `
|
||||||
|
<div class="from_name" style="color:${getUserColor(event.sender.name)}">
|
||||||
${event.sender.name}
|
${event.sender.name}
|
||||||
</div>`: ``}
|
</div>`: ``}
|
||||||
${isReply ?
|
${isReply ?
|
||||||
@@ -405,6 +410,8 @@ const createHTML = async (events: MatrixEvent[], room: Room) => {
|
|||||||
let content = "";
|
let content = "";
|
||||||
let prevEvent = null;
|
let prevEvent = null;
|
||||||
for (const event of events) {
|
for (const event of events) {
|
||||||
|
// As the getContent of the edited event fetches the latest edit, there is no need to process edit events
|
||||||
|
if (isEdit(event)) continue;
|
||||||
content += dateSeparator(event, prevEvent);
|
content += dateSeparator(event, prevEvent);
|
||||||
|
|
||||||
if (event.getType() === "m.room.message") {
|
if (event.getType() === "m.room.message") {
|
||||||
@@ -430,7 +437,7 @@ const createHTML = async (events: MatrixEvent[], room: Room) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const avatars = new Map();
|
const avatars = new Map();
|
||||||
let zip;
|
let zip: any;
|
||||||
|
|
||||||
const exportAsHTML = async (res: MatrixEvent[], room: Room) => {
|
const exportAsHTML = async (res: MatrixEvent[], room: Room) => {
|
||||||
zip = new JSZip();
|
zip = new JSZip();
|
||||||
|
|||||||
Reference in New Issue
Block a user