|
|
@@ -241,9 +241,27 @@ export const { use: useSync, provider: SyncProvider } = createSimpleContext({
|
|
|
event.properties.info.sessionID,
|
|
|
produce((draft) => {
|
|
|
draft.splice(result.index, 0, event.properties.info)
|
|
|
- if (draft.length > 100) draft.shift()
|
|
|
}),
|
|
|
)
|
|
|
+ const updated = store.message[event.properties.info.sessionID]
|
|
|
+ if (updated.length > 100) {
|
|
|
+ const oldest = updated[0]
|
|
|
+ batch(() => {
|
|
|
+ setStore(
|
|
|
+ "message",
|
|
|
+ event.properties.info.sessionID,
|
|
|
+ produce((draft) => {
|
|
|
+ draft.shift()
|
|
|
+ }),
|
|
|
+ )
|
|
|
+ setStore(
|
|
|
+ "part",
|
|
|
+ produce((draft) => {
|
|
|
+ delete draft[oldest.id]
|
|
|
+ }),
|
|
|
+ )
|
|
|
+ })
|
|
|
+ }
|
|
|
break
|
|
|
}
|
|
|
case "message.removed": {
|