fix: 修复在某些情况下无法处理掉未读小红点的bug

pull/13/head
moonrailgun 3 years ago
parent 305a3e8b85
commit 368486e0c0

@ -15,7 +15,7 @@ interface ChatState {
currentConverseId: string | null; // 当前活跃的会话id
converses: Record<string, ChatConverseState>; // <会话Id, 会话信息>
ack: Record<string, string>; // <会话Id, 本地最后一条会话Id>
lastMessageMap: Record<string, string>; // <会话Id, 远程最后一条会话Id>
lastMessageMap: Record<string, string>; // <会话Id, 远程会话列表最后一条会话Id>
}
const initialState: ChatState = {

@ -4,6 +4,7 @@ import {
isValidStr,
updateAck,
useAppDispatch,
useAppSelector,
useUpdateRef,
} from 'tailchat-shared';
import { chatActions } from 'tailchat-shared/redux/slices';
@ -12,7 +13,11 @@ import _debounce from 'lodash/debounce';
export function useMessageAck(converseId: string, messages: ChatMessage[]) {
const messagesRef = useUpdateRef(messages);
const dispatch = useAppDispatch();
const lastMessageIdRef = useRef('');
lastMessageIdRef.current = useAppSelector(
(state) => state.chat.ack[converseId] ?? ''
);
const setConverseAck = useMemo(
() =>

Loading…
Cancel
Save