---
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]]
