Deal with reconciliation conflict from colliding WS fetches

This commit is contained in:
Jack Kingsman
2026-03-11 20:52:48 -07:00
parent bc7506b0d9
commit d36c5e3e32
2 changed files with 40 additions and 2 deletions
@@ -195,8 +195,12 @@ export function useConversationMessages(
}
const messagesWithPendingAck = data.map((msg) => applyPendingAck(msg));
setMessages(messagesWithPendingAck);
syncSeenContent(messagesWithPendingAck);
const merged = messageCache.reconcile(messagesRef.current, messagesWithPendingAck);
const nextMessages = merged ?? messagesRef.current;
if (merged) {
setMessages(merged);
}
syncSeenContent(nextMessages);
setHasOlderMessages(messagesWithPendingAck.length >= MESSAGE_PAGE_SIZE);
} catch (err) {
if (isAbortError(err)) {