From ab653d99520692ee8d8fca3e0d6635fa336ae46f Mon Sep 17 00:00:00 2001
From: Jaiwanth
Date: Mon, 14 Jun 2021 11:08:17 +0530
Subject: [PATCH] Handle requests with no attachments
---
src/components/views/rooms/RoomHeader.js | 2 +-
src/utils/exportUtils/HtmlExport.tsx | 40 +++++++++++++++++-------
src/utils/exportUtils/exportUtils.ts | 1 +
3 files changed, 31 insertions(+), 12 deletions(-)
diff --git a/src/components/views/rooms/RoomHeader.js b/src/components/views/rooms/RoomHeader.js
index 3b507763fa..3372785390 100644
--- a/src/components/views/rooms/RoomHeader.js
+++ b/src/components/views/rooms/RoomHeader.js
@@ -86,7 +86,7 @@ export default class RoomHeader extends React.Component {
this.props.room,
exportFormats.HTML,
exportTypes.START_DATE,
- { startDate: parseInt(new Date("2021.05.20").getTime().toFixed(0)) },
+ { startDate: parseInt(new Date("2021.05.20").getTime().toFixed(0)), attachmentsIncluded: false },
);
}
diff --git a/src/utils/exportUtils/HtmlExport.tsx b/src/utils/exportUtils/HtmlExport.tsx
index ded4e82b84..11b1fa80dc 100644
--- a/src/utils/exportUtils/HtmlExport.tsx
+++ b/src/utils/exportUtils/HtmlExport.tsx
@@ -72,10 +72,9 @@ export default class HTMLExporter extends Exporter {
protected async wrapHTML(content: string) {
const roomAvatar = await this.getRoomAvatar();
const exportDate = formatFullDateNoDayNoTime(new Date());
- const cli = MatrixClientPeg.get();
const creator = this.room.currentState.getStateEvents(EventType.RoomCreate, "")?.getSender();
const creatorName = this.room?.getMember(creator)?.rawDisplayName || creator;
- const exporter = cli.getUserId();
+ const exporter = this.matrixClient.getUserId();
const exporterName = this.room?.getMember(exporter)?.rawDisplayName;
const topic = this.room.currentState.getStateEvents(EventType.RoomTopic, "")?.getContent()?.topic
|| this.room.topic || "";
@@ -113,10 +112,8 @@ export default class HTMLExporter extends Exporter {
,
);
-
const topicText = topic ? _t("Topic: %(topic)s", { topic }) : "";
-
return `
@@ -279,10 +276,10 @@ export default class HTMLExporter extends Exporter {
return fileDirectory + "/" + fileName + '-' + fileDate + fileExt;
}
-
protected async getEventTile(mxEv: MatrixEvent, continuation: boolean, filePath?: string) {
const hasAvatar = this.hasAvatar(mxEv);
if (hasAvatar) await this.saveAvatarIfNeeded(mxEv);
+
const eventTile =
Media omitted",
+ }
+ if (mxEv.isEncrypted()) {
+ mxEv._clearEvent.content = modifiedContent;
+ mxEv._clearEvent.type = "m.room.message";
+ } else {
+ mxEv.event.content = modifiedContent;
+ mxEv.event.type = "m.room.message";
+ }
+ eventTile = await this.getEventTile(mxEv, joined);
+ }
} else eventTile = await this.getEventTile(mxEv, joined);
return eventTile;
diff --git a/src/utils/exportUtils/exportUtils.ts b/src/utils/exportUtils/exportUtils.ts
index ed285b47bc..407cef3077 100644
--- a/src/utils/exportUtils/exportUtils.ts
+++ b/src/utils/exportUtils/exportUtils.ts
@@ -17,6 +17,7 @@ export enum exportTypes {
export interface exportOptions {
startDate?: number;
numberOfMessages?: number;
+ attachmentsIncluded: boolean;
}
const exportConversationalHistory = async (