fix: unreliable websocket functionality #144

Merged
talksik merged 6 commits from unreliable-websocket-infra into master 2026-04-12 17:00:12 +00:00
Showing only changes of commit bb66bc4950 - Show all commits
+3 -9
View File
@@ -22,12 +22,6 @@ export function useChannel(channelId: string | null): UseChannelResult {
const [presence, setPresence] = useState<string[]>([]);
const [messages, setMessages] = useState<ChannelMessage[]>([]);
// Keep a ref to avoid re-subscribing when sendMessage changes
const clientRef = useRef(client);
const channelRef = useRef(channelId);
clientRef.current = client;
channelRef.current = channelId;
useEffect(() => {
if (!client || !channelId) {
setPresence([]);
@@ -80,11 +74,11 @@ export function useChannel(channelId: string | null): UseChannelResult {
const sendMessage = useCallback(
(payload: unknown) => {
if (clientRef.current && channelRef.current) {
clientRef.current.sendMessage(channelRef.current, payload);
if (client && channelId) {
client?.sendMessage(channelId, payload);
}
},
[],
[client, channelId],
);
return { presence, messages, sendMessage };