Federation Design Plan

(#1093) Feature Under consideration federation

Thread

Comment by @Haplo164
RexSystem 1 vote originally by @Haplo164 on GitHub 1 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.
Comment by @Haplo164
RexSystem 1 vote originally by @Haplo164 on GitHub
Yeah, those seem at odds. Some information would need to be replicated across servers, at least a reference of a chat or channel even if messages are not replicated. DM's have to be stored somewhere and I don't know how you would decide where they are stored if not replicated. Maybe whoever initiates the chat has the messages on their home server?