diff options
| author | Frank <[email protected]> | 2025-05-23 16:45:40 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-05-26 12:40:17 -0400 |
| commit | e2dc5a8faf9d4362a99c5cd74a676e3b5436ceb4 (patch) | |
| tree | cc853ad5cf95b1930d0587d764cb2944f076a0a8 /app/packages/web/src | |
| parent | 72d10a08237e83516c22e687f1b450c787be1946 (diff) | |
| download | opencode-e2dc5a8faf9d4362a99c5cd74a676e3b5436ceb4.tar.gz opencode-e2dc5a8faf9d4362a99c5cd74a676e3b5436ceb4.zip | |
Share: sync
Diffstat (limited to 'app/packages/web/src')
| -rw-r--r-- | app/packages/web/src/app.tsx | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/app/packages/web/src/app.tsx b/app/packages/web/src/app.tsx index 01628b10a..371f37c88 100644 --- a/app/packages/web/src/app.tsx +++ b/app/packages/web/src/app.tsx @@ -30,7 +30,7 @@ export default function App() { setConnectionStatus("Error: API URL not found") return } - + let reconnectTimer: number | undefined let socket: WebSocket | null = null @@ -62,7 +62,20 @@ export default function App() { console.log("WebSocket message received") try { const data = JSON.parse(event.data) as Message - setMessages((prev) => [...prev, data]) + setMessages((prev) => { + // Check if message with this key already exists + const existingIndex = prev.findIndex(msg => msg.key === data.key) + + if (existingIndex >= 0) { + // Update existing message + const updated = [...prev] + updated[existingIndex] = data + return updated + } else { + // Add new message + return [...prev, data] + } + }) } catch (error) { console.error("Error parsing WebSocket message:", error) } |
