diff --git a/lib/reducers/message-reducer.js b/lib/reducers/message-reducer.js --- a/lib/reducers/message-reducer.js +++ b/lib/reducers/message-reducer.js @@ -51,6 +51,7 @@ tempIdentityLoginActionTypes, logOutActionTypes, deleteKeyserverAccountActionTypes, + deleteAccountActionTypes, logInActionTypes, keyserverRegisterActionTypes, } from '../actions/user-actions.js'; @@ -875,7 +876,34 @@ ); } else if ( action.type === logOutActionTypes.success || - action.type === deleteKeyserverAccountActionTypes.success || + action.type === deleteAccountActionTypes.success || + action.type === deleteKeyserverAccountActionTypes.success + ) { + const { messageStoreOperations, messageStore: filteredMessageStore } = + updateMessageStoreWithLatestThreadInfos(messageStore, newThreadInfos); + + const processedMessageStore = processMessageStoreOperations( + messageStore, + messageStoreOperations, + ); + + let currentAsOf = {}; + if (action.payload.keyserverIDs) { + currentAsOf = _omit(action.payload.keyserverIDs)( + filteredMessageStore.currentAsOf, + ); + } + + return { + messageStoreOperations, + messageStore: { + ...filteredMessageStore, + currentAsOf, + messages: processedMessageStore.messages, + threads: processedMessageStore.threads, + }, + }; + } else if ( action.type === deleteThreadActionTypes.success || action.type === leaveThreadActionTypes.success || action.type === setNewSessionActionType