diff --git a/apps/game/server/messages/messages.service.ts b/apps/game/server/messages/messages.service.ts index 0a47d0502..37d8720f2 100644 --- a/apps/game/server/messages/messages.service.ts +++ b/apps/game/server/messages/messages.service.ts @@ -64,6 +64,7 @@ class _MessagesService { return resp({ status: 'error', errorMsg: 'MESSAGES.FEEDBACK.MESSAGE_CONVERSATION_DUPLICATE', + data: { id: await this.messagesDB.getConversationId(conversationList) } }); } else { const conversationId = await this.messagesDB.addParticipantToConversation( diff --git a/apps/phone/src/apps/messages/hooks/state.ts b/apps/phone/src/apps/messages/hooks/state.ts index aabcad58f..912ee680b 100644 --- a/apps/phone/src/apps/messages/hooks/state.ts +++ b/apps/phone/src/apps/messages/hooks/state.ts @@ -51,11 +51,10 @@ export const messageState = { return messageConversations.filter((messageConversation) => { for (const contact of contactsValue) { - if ( - searchRegex.test(contact.display) && - messageConversation.conversationList.includes(contact.number) - ) - return true; + if (messageConversation.conversationList.includes(contact.number)) { + if (searchRegex.test(contact.display) || searchRegex.test(contact.number)) + return true; + } } return searchRegex.test(messageConversation.label); diff --git a/apps/phone/src/apps/messages/hooks/useMessageAPI.ts b/apps/phone/src/apps/messages/hooks/useMessageAPI.ts index ed31e7462..45b61da3d 100644 --- a/apps/phone/src/apps/messages/hooks/useMessageAPI.ts +++ b/apps/phone/src/apps/messages/hooks/useMessageAPI.ts @@ -15,6 +15,7 @@ import { useHistory } from 'react-router-dom'; import { messageState, useSetMessages } from './state'; import { useRecoilValueLoadable } from 'recoil'; import { MockConversationServerResp } from '../utils/constants'; +import useMessages from './useMessages'; import { useMyPhoneNumber } from '@os/simcard/hooks/useMyPhoneNumber'; type UseMessageAPIProps = { @@ -41,6 +42,7 @@ export const useMessageAPI = (): UseMessageAPIProps => { const { state: messageConversationsState, contents: messageConversationsContents } = useRecoilValueLoadable(messageState.messageCoversations); const setMessages = useSetMessages(); + const { goToConversation } = useMessages(); const myPhoneNumber = useMyPhoneNumber(); @@ -130,6 +132,7 @@ export const useMessageAPI = (): UseMessageAPIProps => { return; } + fetchNui, PreDBConversation>( MessageEvents.CREATE_MESSAGE_CONVERSATION, { @@ -139,15 +142,14 @@ export const useMessageAPI = (): UseMessageAPIProps => { }, ).then((resp) => { if (resp.status !== 'ok') { - history.push('/messages'); - if (resp.errorMsg === 'MESSAGES.FEEDBACK.MESSAGE_CONVERSATION_DUPLICATE') { - return addAlert({ - message: t('MESSAGES.FEEDBACK.MESSAGE_CONVERSATION_DUPLICATE'), - type: 'error', - }); + if (resp.data) { + goToConversation(resp.data); + return + } } + history.push('/messages'); return addAlert({ message: t('MESSAGE_CONVERSATION_CREATE_ONE_NUMBER_FAILED"', { number: conversation.conversationLabel,