Skip to content
Snippets Groups Projects
Commit f441ad50 authored by Léopold Chappuis's avatar Léopold Chappuis Committed by Adrien Béraud
Browse files

conversation-list: ensure update on new message reception

The conversation list now properly updates upon receiving a new message.

Change-Id: I8f14e01ca89e0592e0d5ac0052701e8aa77dc93c
parent a428a686
No related branches found
No related tags found
No related merge requests found
...@@ -16,10 +16,16 @@ ...@@ -16,10 +16,16 @@
* <https://www.gnu.org/licenses/>. * <https://www.gnu.org/licenses/>.
*/ */
import { Box, Stack, Typography, useTheme } from '@mui/material' import { Box, Stack, Typography, useTheme } from '@mui/material'
import { WebSocketMessageType } from 'jami-web-common'
import { ChangeEvent, useCallback, useEffect, useState } from 'react' import { ChangeEvent, useCallback, useEffect, useState } from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
import { useConversationRequestsQuery, useConversationsSummariesQuery } from '../services/conversationQueries' import { useWebSocketContext } from '../contexts/WebSocketProvider'
import {
useConversationRequestsQuery,
useConversationsSummariesQuery,
useRefreshConversationsSummaries,
} from '../services/conversationQueries'
import ContactSearchBar from './ContactSearchBar' import ContactSearchBar from './ContactSearchBar'
import ContactSearchResultList from './ContactSearchResultList' import ContactSearchResultList from './ContactSearchResultList'
import { ConversationRequestList } from './ConversationRequestList' import { ConversationRequestList } from './ConversationRequestList'
...@@ -106,6 +112,20 @@ const ConversationTabs = () => { ...@@ -106,6 +112,20 @@ const ConversationTabs = () => {
const SummariesTabPanel = (props: TabPanelProps) => { const SummariesTabPanel = (props: TabPanelProps) => {
const conversationsSummariesQuery = useConversationsSummariesQuery() const conversationsSummariesQuery = useConversationsSummariesQuery()
const conversationsSummaries = conversationsSummariesQuery.data || [] const conversationsSummaries = conversationsSummariesQuery.data || []
const websocket = useWebSocketContext()
const refreshConversationsSummaries = useRefreshConversationsSummaries()
useEffect(() => {
function conversationMessageListener() {
refreshConversationsSummaries()
}
websocket.bind(WebSocketMessageType.ConversationMessage, conversationMessageListener)
return () => {
websocket.unbind(WebSocketMessageType.ConversationMessage, conversationMessageListener)
}
}, [websocket, refreshConversationsSummaries])
return ( return (
<TabPanel sx={{ overflowY: 'auto', height: '100%' }} {...props}> <TabPanel sx={{ overflowY: 'auto', height: '100%' }} {...props}>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment