From 9b1eef5f9e1741549f693fed889d6d206207554e Mon Sep 17 00:00:00 2001 From: AbdelruhmanSamy Date: Sun, 22 Dec 2024 19:50:18 +0200 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=90=9B=20(messaging):=20Reply=20fixed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/features/chats/ChatBody.tsx | 13 +++++++++---- app/src/state/messages/chats.ts | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/app/src/features/chats/ChatBody.tsx b/app/src/features/chats/ChatBody.tsx index e493071a..3376ee3d 100644 --- a/app/src/features/chats/ChatBody.tsx +++ b/app/src/features/chats/ChatBody.tsx @@ -68,7 +68,12 @@ function ChatBody() { } }, [fetchNextPage, inView, chatId]); - const messages = chat?.messages?.filter((msg) => !msg.parentMessageId); + let messages = chat?.messages; + + if (chat?.type === "channel") { + messages?.filter((msg) => !msg.parentMessageId); + } + const threadMessages = activeThread ? chat?.messages.filter((msg) => msg.parentMessageId === activeThread) : []; @@ -123,9 +128,9 @@ function ChatBody() { ":hover": { backgroundColor: "var(--color-background-own-1)", color: "white", - transition: "0.2s", - }, - }, + transition: "0.2s" + } + } })} diff --git a/app/src/state/messages/chats.ts b/app/src/state/messages/chats.ts index faa45904..fe7d4175 100644 --- a/app/src/state/messages/chats.ts +++ b/app/src/state/messages/chats.ts @@ -355,7 +355,7 @@ export const { setName, setPhoto, setIsMention, - setIsSeen, + setIsSeen } = chatsSlice.actions; export default chatsSlice.reducer; export type { DetailedChatInterface, ChatsState }; From a2c5081074d2e763b15819ed8f49c3483faeec6a Mon Sep 17 00:00:00 2001 From: AbdelruhmanSamy Date: Sun, 22 Dec 2024 20:35:57 +0200 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=90=9B=20(messaging):=20Forward=20fix?= =?UTF-8?q?ed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/sockets/SocketProvider.tsx | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/app/src/sockets/SocketProvider.tsx b/app/src/sockets/SocketProvider.tsx index 6496ec5a..83a55a55 100644 --- a/app/src/sockets/SocketProvider.tsx +++ b/app/src/sockets/SocketProvider.tsx @@ -23,6 +23,7 @@ import { useChat } from "@features/chats/hooks/useChat"; import { useCallContext } from "@features/calls/hooks/useCallContext"; import { useAppSelector } from "@hooks/useGlobalState"; import { resetRightSideBar } from "@state/side-bar/sideBar"; +import { getChatByID } from "@features/chats/utils/helpers"; const handleIncomingMessage = ( dispatch: Dispatch, @@ -79,9 +80,9 @@ function SocketProvider({ children }: SocketProviderProps) { const socket = useSocket(); const queryClient = useQueryClient(); - const userId = useAppSelector((state) => state.user.userInfo.id); - + const chats = useAppSelector((state) => state.chats.chats); const user = useAppSelector((state) => state.user.userInfo); + const userId = user.id; const { decrypt } = useEncryptDecrypt(); const { chat } = useChat(); @@ -172,16 +173,18 @@ function SocketProvider({ children }: SocketProviderProps) { }); }; const onReceiveMessage = (message: MessageInterface) => { - if (!chat) { - console.warn("No chat context available for decryption"); + const messageChat = getChatByID({ chats, chatID: message.chatId }); + + if (!messageChat) { + console.warn("No messageChat context available for decryption"); return; } - if (chat.type === "private") { + if (messageChat.type === "private") { decrypt({ message: message.content, - key: chat.encryptionKey!, - iv: chat.initializationVector! + key: messageChat.encryptionKey!, + iv: messageChat.initializationVector! }) .then((content) => { console.log("Decrypted content:", content);