(sessionID: string, messages: Message[])
| 460 | } |
| 461 | |
| 462 | const replaceMessages = (sessionID: string, messages: Message[]) => { |
| 463 | const messageIDs = new Set(messages.map((message) => message.id)) |
| 464 | const dropped = (data.message[sessionID] ?? []).filter((message) => !messageIDs.has(message.id)) |
| 465 | setData("message", sessionID, reconcile(messages, { key: "id" })) |
| 466 | setData( |
| 467 | produce((draft) => { |
| 468 | for (const message of dropped) deleteMessageParts(draft, message.id) |
| 469 | }), |
| 470 | ) |
| 471 | return messageIDs |
| 472 | } |
| 473 | |
| 474 | const replaceParts = ( |
| 475 | sessionID: string, |
no test coverage detected