--- issue: 090 title: "Frontend: chat views re-fetch full conversation on every new-message socket event" severity: medium domain: Chat labels: [performance, frontend] status: open created: 2026-05-30 source: Full Codebase Audit 2026-05-30 --- # Frontend: chat views re-fetch full conversation on every new-message socket event **Severity:** medium **Domain:** Chat **Labels:** performance, frontend ## Description `src/sections/chat/view/buyer-chat-view.tsx:157` calls the full conversation fetch whenever a `new-message` socket event fires. With the chat messages stored as an embedded array (see ISSUE-072), this re-fetches the entire conversation history on every incoming message, causing high network and backend load in active chats. ## Options 1. Append the message from the socket payload to local state; only re-fetch on gaps/errors. 2. Keep re-fetch but debounce it. 3. Hybrid: optimistic append plus periodic reconciliation. ## Recommendation Append the payload message directly and reconcile only on inconsistency. This changes data-flow correctness assumptions. ## Affected Files - `frontend/src/sections/chat/view/buyer-chat-view.tsx:157` - `frontend/src/sections/chat/view/seller-chat-view.tsx` (similar pattern) ## References - [Full Codebase Audit 2026-05-30](../09%20-%20Audits/Full%20Codebase%20Audit%20-%202026-05-30.md) — DEC-20 - [[ISSUE-072-backend-chat-messages-stored-as-embedded-array-unbounded-growth|ISSUE-072]]