diff --git a/src/TextForEvent.tsx b/src/TextForEvent.tsx index 5ab1ceb9f4..7845091c48 100644 --- a/src/TextForEvent.tsx +++ b/src/TextForEvent.tsx @@ -167,7 +167,7 @@ function textForTopicEvent(ev: MatrixEvent): () => string | null { } function textForRoomAvatarEvent(ev: MatrixEvent): () => string | null { - const senderDisplayName = ev.sender && ev.sender.name ? ev.sender.name : ev.getSender(); + const senderDisplayName = ev?.sender?.name || ev.getSender(); return () => _t('%(senderDisplayName)s changed the room avatar.', { senderDisplayName }); } @@ -298,11 +298,12 @@ function textForMessageEvent(ev: MatrixEvent): () => string | null { if (ev.isRedacted()) { message = _t("Message deleted"); const unsigned = ev.getUnsigned(); - const redactedBecauseUserId = unsigned && unsigned.redacted_because && unsigned.redacted_because.sender; + const redactedBecauseUserId = unsigned?.redacted_because?.sender; if (redactedBecauseUserId && redactedBecauseUserId !== ev.getSender()) { const room = MatrixClientPeg.get().getRoom(ev.getRoomId()); - const sender = room && room.getMember(redactedBecauseUserId); - message = _t("Message deleted by %(name)s", { name: sender ? sender.name : redactedBecauseUserId }); + const sender = room?.getMember(redactedBecauseUserId); + message = _t("Message deleted by %(name)s", { name: sender?.name + || redactedBecauseUserId }); } } if (ev.getContent().msgtype === "m.emote") { diff --git a/src/components/views/messages/MImageBody.tsx b/src/components/views/messages/MImageBody.tsx index 4fa1161d82..ae82c57a5e 100644 --- a/src/components/views/messages/MImageBody.tsx +++ b/src/components/views/messages/MImageBody.tsx @@ -428,7 +428,7 @@ export default class MImageBody extends React.Component { // Overidden by MStickerBody protected wrapImage(contentUrl: string, children: JSX.Element): JSX.Element { - return + return { children } ; } diff --git a/src/utils/exportUtils/Exporter.ts b/src/utils/exportUtils/Exporter.ts index 92f2c3e3d2..e497fb7e38 100644 --- a/src/utils/exportUtils/Exporter.ts +++ b/src/utils/exportUtils/Exporter.ts @@ -32,9 +32,9 @@ type BlobFile = { }; export default abstract class Exporter { - protected files: BlobFile[]; + protected files: BlobFile[] = []; protected client: MatrixClient; - protected cancelled: boolean; + protected cancelled = false; protected constructor( protected room: Room, @@ -47,8 +47,6 @@ export default abstract class Exporter { exportOptions.numberOfMessages > 10**8) { throw new Error("Invalid export options"); } - this.cancelled = false; - this.files = []; this.client = MatrixClientPeg.get(); window.addEventListener("beforeunload", this.onBeforeUnload); } @@ -71,7 +69,7 @@ export default abstract class Exporter { this.files.push(file); } - protected async downloadZIP(): Promise { + protected async downloadZIP(): Promise { const filename = `matrix-export-${formatFullDateNoDay(new Date())}.zip`; const zip = new JSZip(); @@ -257,5 +255,5 @@ export default abstract class Exporter { return mxEv.getType() === attachmentTypes[0] || attachmentTypes.includes(mxEv.getContent().msgtype); } - abstract export(): Promise; + abstract export(): Promise; } diff --git a/src/utils/exportUtils/exportUtils.ts b/src/utils/exportUtils/exportUtils.ts index 8410b747ea..b69eef4edb 100644 --- a/src/utils/exportUtils/exportUtils.ts +++ b/src/utils/exportUtils/exportUtils.ts @@ -29,7 +29,7 @@ export enum ExportTypes { // START_DATE = "START_DATE", } -export const textForFormat = (format: string): string => { +export const textForFormat = (format: ExportFormat): string => { switch (format) { case ExportFormats.HTML: return _t("HTML"); @@ -42,7 +42,7 @@ export const textForFormat = (format: string): string => { } }; -export const textForType = (type: string): string => { +export const textForType = (type: ExportType): string => { switch (type) { case ExportTypes.BEGINNING: return _t("From the beginning");