feat: 处理远程的delete message事件

release/desktop
moonrailgun 3 years ago
parent 31b96960d3
commit f54ba52174

@ -169,6 +169,18 @@ function listenNotify(socket: AppSocket, store: AppStore) {
);
});
socket.listen<{
converseId: string;
messageId: string;
}>('chat.message.delete', ({ converseId, messageId }) => {
store.dispatch(
chatActions.deleteMessageById({
converseId,
messageId,
})
);
});
socket.listen<ChatConverseInfo>(
'chat.converse.updateDMConverse',
(converse) => {

@ -189,6 +189,29 @@ const chatSlice = createSlice({
}
},
/**
*
*/
deleteMessageById(
state,
action: PayloadAction<{
converseId: string;
messageId: string;
}>
) {
const { converseId, messageId } = action.payload;
const converse = state.converses[converseId];
if (!converse) {
console.warn('Not found converse,', converseId);
return;
}
const index = converse.messages.findIndex((m) => m._id === messageId);
if (index >= 0) {
converse.messages.splice(index, 1);
}
},
/**
* id
*/

Loading…
Cancel
Save