RexSystem1 voteoriginally by @Haplo164 on GitHub1 reply
Pretty good write up, I think it's important to clearly know where chat data is stored and having it on the Guild Instance is probably best. I also think there should be a method to signal a domain change. Matrix doesn't have a way to change a servers domain so you basically have to start a new server, and that really sucks. With encryption keys you should be able to signal that a name change has taken place and update all records to reflect that.
edit: it would also be nice to allow user transfers, it might be best to limit transfers to 2 online instances where the users current Home Instance initiates the transfer and the destination Instance confirms, this would move all private chats to the new Home Instance and updates the messages associated with the transferred user to point the the new Home Instance. The old Home Instance should maintain the old username as unusable for a time and respond to any requests involving the old user with a "Transferred" status and redirect to the user on their new Home Instance.
RexSystem1 voteoriginally by @LiamillionSS on GitHub
That would lead to cases where you are unable to access chat history when their homeserver is offline, or has important information deleted (or worse, tampered with), either accidentally or maliciously. DMs being replicated across both parties seems like the logical choice to me for this reason.
If this is the decision then the wording should indeed be updated to specify the difference between private chats (DMs) and public chats
Thread
Comment by @Haplo164
Comment by @LiamillionSS