Fix read receipts: join chat group when activeChat changes
This commit is contained in:
@@ -65,6 +65,8 @@ export default function ChatPage() {
|
||||
const [activeTab, setActiveTab] = useState('chats');
|
||||
const { t } = useLang();
|
||||
|
||||
const activeChat = useChatStore((state) => state.activeChat);
|
||||
|
||||
useEffect(() => {
|
||||
groupCallOpenRef.current = groupCallOpen;
|
||||
groupCallChatIdRef.current = groupCallChatId;
|
||||
@@ -335,6 +337,16 @@ export default function ChatPage() {
|
||||
};
|
||||
}, [user?.id]);
|
||||
|
||||
// Join chat group when activeChat changes
|
||||
useEffect(() => {
|
||||
if (activeChat) {
|
||||
const socket = getSocket();
|
||||
if (socket) {
|
||||
socket.emit('join_chat', activeChat);
|
||||
}
|
||||
}
|
||||
}, [activeChat]);
|
||||
|
||||
const handleStartCall = (targetUser: UserBasic, type: 'voice' | 'video') => {
|
||||
setCallTarget(targetUser);
|
||||
setCallType(type);
|
||||
@@ -371,8 +383,6 @@ export default function ChatPage() {
|
||||
setGroupCallOpen(false);
|
||||
};
|
||||
|
||||
const activeChat = useChatStore((state) => state.activeChat);
|
||||
|
||||
return (
|
||||
<motion.div
|
||||
initial={{ opacity: 0 }}
|
||||
|
||||
Reference in New Issue
Block a user