diff --git a/src/features/inbox/inboxSlice.ts b/src/features/inbox/inboxSlice.ts index dff2e3c87..1438ab25c 100644 --- a/src/features/inbox/inboxSlice.ts +++ b/src/features/inbox/inboxSlice.ts @@ -108,7 +108,8 @@ export const totalUnreadSelector = (state: RootState) => state.inbox.counts.replies; export const getInboxCounts = - () => async (dispatch: AppDispatch, getState: () => RootState) => { + (force = false) => + async (dispatch: AppDispatch, getState: () => RootState) => { const jwt = jwtSelector(getState()); if (!jwt) { @@ -118,7 +119,7 @@ export const getInboxCounts = const lastUpdatedCounts = getState().inbox.lastUpdatedCounts; - if (Date.now() - lastUpdatedCounts < 3_000) return; + if (!force && Date.now() - lastUpdatedCounts < 3_000) return; const result = await clientSelector(getState()).getUnreadCount(); @@ -190,7 +191,7 @@ export const markAllRead = await clientSelector(getState()).markAllAsRead(); dispatch(markAllReadInCache()); - dispatch(getInboxCounts()); + dispatch(getInboxCounts(true)); }; export const conversationsByPersonIdSelector = createSelector( @@ -284,5 +285,5 @@ export const markRead = throw error; } - dispatch(getInboxCounts()); + dispatch(getInboxCounts(true)); }; diff --git a/src/features/inbox/messages/Message.tsx b/src/features/inbox/messages/Message.tsx index ca6181112..061cc539a 100644 --- a/src/features/inbox/messages/Message.tsx +++ b/src/features/inbox/messages/Message.tsx @@ -154,7 +154,7 @@ export default function Message({ message, first }: MessageProps) { } await dispatch(receivedMessages([response.private_message_view])); - await dispatch(getInboxCounts()); + await dispatch(getInboxCounts(true)); } return (