From f2efd825aef2c328c2a5e7b57522d3e42ec25266 Mon Sep 17 00:00:00 2001 From: Ajay Bura <32841439+ajbura@users.noreply.github.com> Date: Fri, 14 Feb 2025 12:04:12 +0530 Subject: [PATCH 1/2] fix message does not appear after decryption complete --- src/app/features/room/message/EncryptedContent.tsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/app/features/room/message/EncryptedContent.tsx b/src/app/features/room/message/EncryptedContent.tsx index bf0fd199f8..e4d14ab3f4 100644 --- a/src/app/features/room/message/EncryptedContent.tsx +++ b/src/app/features/room/message/EncryptedContent.tsx @@ -1,5 +1,6 @@ import { MatrixEvent, MatrixEventEvent, MatrixEventHandlerMap } from 'matrix-js-sdk'; import React, { ReactNode, useEffect, useState } from 'react'; +import { MessageEvent } from '../../../../types/matrix/room'; type EncryptedContentProps = { mEvent: MatrixEvent; @@ -7,11 +8,11 @@ type EncryptedContentProps = { }; export function EncryptedContent({ mEvent, children }: EncryptedContentProps) { - const [, toggleDecrypted] = useState(!mEvent.isBeingDecrypted()); + const [, toggleDecrypted] = useState(mEvent.getType() !== MessageEvent.RoomMessageEncrypted); useEffect(() => { - const handleDecrypted: MatrixEventHandlerMap[MatrixEventEvent.Decrypted] = () => { - toggleDecrypted((s) => !s); + const handleDecrypted: MatrixEventHandlerMap[MatrixEventEvent.Decrypted] = (event) => { + toggleDecrypted(event.getType() !== MessageEvent.RoomMessageEncrypted); }; mEvent.on(MatrixEventEvent.Decrypted, handleDecrypted); return () => { From f8f4e310fb9007d3a3e255e3ce9c7b859f356a0b Mon Sep 17 00:00:00 2001 From: Ajay Bura <32841439+ajbura@users.noreply.github.com> Date: Fri, 14 Feb 2025 17:10:44 +0530 Subject: [PATCH 2/2] update when event get decrypted before subscribing --- src/app/features/room/message/EncryptedContent.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/app/features/room/message/EncryptedContent.tsx b/src/app/features/room/message/EncryptedContent.tsx index e4d14ab3f4..f3e6141784 100644 --- a/src/app/features/room/message/EncryptedContent.tsx +++ b/src/app/features/room/message/EncryptedContent.tsx @@ -8,11 +8,12 @@ type EncryptedContentProps = { }; export function EncryptedContent({ mEvent, children }: EncryptedContentProps) { - const [, toggleDecrypted] = useState(mEvent.getType() !== MessageEvent.RoomMessageEncrypted); + const [, toggleEncrypted] = useState(mEvent.getType() === MessageEvent.RoomMessageEncrypted); useEffect(() => { + toggleEncrypted(mEvent.getType() === MessageEvent.RoomMessageEncrypted); const handleDecrypted: MatrixEventHandlerMap[MatrixEventEvent.Decrypted] = (event) => { - toggleDecrypted(event.getType() !== MessageEvent.RoomMessageEncrypted); + toggleEncrypted(event.getType() === MessageEvent.RoomMessageEncrypted); }; mEvent.on(MatrixEventEvent.Decrypted, handleDecrypted); return () => {