Skip to content

ConversationRepository and ConversationModule can get out of sync

The members_ vector in the ConversationRepository::Impl class keeps track of the URI and role of each member in a conversation. This information is saved to disk (in the conversation_data/<conversation id>/members file) by the saveMembers function whenever members_ is modified.

The convInfos_ map in ConversationModule::Impl contains various information about an account's conversations, including in particular the list of URIs for the members in each conversation. This information is also saved to disk (in the convInfo file) when convInfos_ is modified. However, convInfos_ is not always updated when the members_ vector associated with one of its conversations' repository is modified, which means that it's possible for the information saved in convInfo to get out of sync with the information saved in conversation_data/.