xmtp / xmtp-dot-org

xmtp.org, powered by Docusaurus

Home Page:https://xmtp.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Group chats per installation

scotboyd opened this issue · comments

          Looks good! Maybe we can give a little more context about how message history work related to this call out from the Docs. Seems is going to be the most popular question

Group chats are currently per installation
As of now, group chats in XMTP are specific to each installation. This means that while you can access your group chat conversations across different devices, the historical messages within those chats might not automatically appear. Currently, each group chat's message history is tied to the device where it was initiated. As a result, there is no automatic syncing of message history across devices. When you sign in on a new device, you will see existing group chat conversations but will only receive new messages from that point forward. We are actively working on enhancing this feature to improve your experience with group conversations.

Originally posted by @fabriguespe in #649 (review)

My understanding is that new installations do not get existing conversations, only new messages in the group. This is for security (an attacker can't steal your signature and get your message history). This is part of MLS. However, it is also my understanding that all successfully installed devices should be included in the group chat, and this is checked on a per-message basis.

So, something like:

"The Messaging Layer Security (MLS) protocol we use for Group Chats emphasizes Forward Secrecy and Post-Compromise Secrecy. For Post-Compromise Secrecy, new users added to a group do not get access to the group chat history. This includes new installations for an existing member of the group chat. This is because each message for each installation is encrypted separately, for security, at the time the message is created.

When group chat members send a new message, a copy of the message goes to every installation for every member of the group chat, including the sender. This means new messages will sync across all of a user's active installations, starting from when the installation is created."