From ae88480d0a1124c725f160d7a459dcce056af0d8 Mon Sep 17 00:00:00 2001 From: Ajay Bura <32841439+ajbura@users.noreply.github.com> Date: Sat, 15 Feb 2025 18:58:57 +1100 Subject: [PATCH] fix message does not appear after decryption complete (#2209) * fix message does not appear after decryption complete * update when event get decrypted before subscribing --- src/app/features/room/message/EncryptedContent.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/app/features/room/message/EncryptedContent.tsx b/src/app/features/room/message/EncryptedContent.tsx index bf0fd199..f3e61417 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,12 @@ type EncryptedContentProps = { }; export function EncryptedContent({ mEvent, children }: EncryptedContentProps) { - const [, toggleDecrypted] = useState(!mEvent.isBeingDecrypted()); + const [, toggleEncrypted] = useState(mEvent.getType() === MessageEvent.RoomMessageEncrypted); useEffect(() => { - const handleDecrypted: MatrixEventHandlerMap[MatrixEventEvent.Decrypted] = () => { - toggleDecrypted((s) => !s); + toggleEncrypted(mEvent.getType() === MessageEvent.RoomMessageEncrypted); + const handleDecrypted: MatrixEventHandlerMap[MatrixEventEvent.Decrypted] = (event) => { + toggleEncrypted(event.getType() === MessageEvent.RoomMessageEncrypted); }; mEvent.on(MatrixEventEvent.Decrypted, handleDecrypted); return () => {