diff --git a/net/web/src/session/conversation/Conversation.jsx b/net/web/src/session/conversation/Conversation.jsx
index fb95d189..653ec1cd 100644
--- a/net/web/src/session/conversation/Conversation.jsx
+++ b/net/web/src/session/conversation/Conversation.jsx
@@ -69,7 +69,7 @@ export function Conversation({ closeConversation, openDetails, cardId, channelId
)}
- { state.topics.length === 0 && (
+ { state.delayed && state.topics.length === 0 && (
This Topic Has No Messages
)}
{ state.topics.length !== 0 && (
diff --git a/net/web/src/session/conversation/useConversation.hook.js b/net/web/src/session/conversation/useConversation.hook.js
index d9e3cee0..98128e63 100644
--- a/net/web/src/session/conversation/useConversation.hook.js
+++ b/net/web/src/session/conversation/useConversation.hook.js
@@ -24,6 +24,7 @@ export function useConversation(cardId, channelId) {
error: false,
sealed: false,
sealKey: null,
+ delayed: false,
});
const account = useContext(AccountContext);
@@ -90,7 +91,10 @@ export function useConversation(cardId, channelId) {
}, [cardId, channelId, upload]);
useEffect(() => {
- updateState({ topics: [] });
+ updateState({ delayed: false, topics: [] });
+ setTimeout(() => {
+ updateState({ delayed: true });
+ }, 250);
conversation.actions.setConversationId(cardId, channelId);
// eslint-disable-next-line
}, [cardId, channelId]);
@@ -107,6 +111,14 @@ export function useConversation(cardId, channelId) {
}
return 1;
});
+ if (topics.length) {
+ updateState({ delayed: false });
+ }
+ else {
+ setTimeout(() => {
+ updateState({ delayed: true });
+ }, 250);
+ }
const { error, loadingInit, loadingMore, subject, logoUrl, logoImg } = conversation.state;
updateState({ topics, error, loadingInit, loadingMore, subject, logoUrl, logoImg });
store.actions.setValue(`${channelId}::${cardId}`, Number(conversation.state.revision));