From 782dabe21ba97a0e7a75f70b6f8ce49bc7cd46e6 Mon Sep 17 00:00:00 2001 From: Ajay Bura <32841439+ajbura@users.noreply.github.com> Date: Sun, 24 Aug 2025 13:54:47 +0530 Subject: [PATCH] fix dm invite appears in home --- src/app/utils/matrix.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/app/utils/matrix.ts b/src/app/utils/matrix.ts index a8031202..4c86c4e2 100644 --- a/src/app/utils/matrix.ts +++ b/src/app/utils/matrix.ts @@ -230,8 +230,11 @@ export const addRoomIdToMDirect = async ( roomId: string, userId: string ): Promise => { - const mDirectsEvent = mx.getAccountData(AccountDataEvent.Direct); - const userIdToRoomIds: Record = mDirectsEvent?.getContent() ?? {}; + const mDirectsEvent = mx.getAccountData(AccountDataEvent.Direct as any); + let userIdToRoomIds: Record = {}; + + if (typeof mDirectsEvent !== 'undefined') + userIdToRoomIds = structuredClone(mDirectsEvent.getContent()); // remove it from the lists of any others users // (it can only be a DM room for one person) @@ -252,12 +255,15 @@ export const addRoomIdToMDirect = async ( } userIdToRoomIds[userId] = roomIds; - await mx.setAccountData(AccountDataEvent.Direct, userIdToRoomIds); + await mx.setAccountData(AccountDataEvent.Direct as any, userIdToRoomIds as any); }; export const removeRoomIdFromMDirect = async (mx: MatrixClient, roomId: string): Promise => { - const mDirectsEvent = mx.getAccountData(AccountDataEvent.Direct); - const userIdToRoomIds: Record = mDirectsEvent?.getContent() ?? {}; + const mDirectsEvent = mx.getAccountData(AccountDataEvent.Direct as any); + let userIdToRoomIds: Record = {}; + + if (typeof mDirectsEvent !== 'undefined') + userIdToRoomIds = structuredClone(mDirectsEvent.getContent()); Object.keys(userIdToRoomIds).forEach((targetUserId) => { const roomIds = userIdToRoomIds[targetUserId]; @@ -267,7 +273,7 @@ export const removeRoomIdFromMDirect = async (mx: MatrixClient, roomId: string): } }); - await mx.setAccountData(AccountDataEvent.Direct, userIdToRoomIds); + await mx.setAccountData(AccountDataEvent.Direct as any, userIdToRoomIds as any); }; export const mxcUrlToHttp = (