4 ms·
I'm not sure what you mean by mirroring rooms - rooms don't have any one particular home or special server, they exist across all participating servers always a
by miloignis 5y ago
I'm not sure what you mean by mirroring rooms - rooms don't have any one particular home or special server, they exist across all participating servers always and automatically.
I've never experienced what you're describing with the homeserver getting stuck while it did something, though I have had Element Android time out and seemingly not notice for a while & keep spinning, but that was the client's fault, not the server. My best guess is that whatever you experienced did get fixed!
- welterde 5y agoYes, but you are not syncing between all of them (since that would scale quite badly), but directed graph like in IRC (if I understand the specs correctly anyway). Edit: Oh.. or does it really sync between all servers (in which case I didn't quite understand the spec I guess)? Then that solves netsplits quite well at the cost of quite poor scalability. Not sure what the issue was in the end, but I have had it with all clients I had tried (mobile, desktop, ..).
- miloignis 5y agoRe: edit, yep I believe it is full mesh sync for homeservers in a room, but if for some reason two can't communicate they can get the graph from other servers. It's eventually consistent if the homeservers are connected through any path, but it tries to be full-mesh. Scalability I think will be tackled to make P2P more practical, though. Sorry you had that issue!
- _flux 5y agoI agree that full mesh network is bad for scaling, but IRC's directed graph—manually configured even—is bad for availability. There is some talk about making the routing better, but I guess it's not in near future.. In Matrix it could be a problem, but practically it's not a problem even in the largest room #matrix:matrix.org with probably thousands of servers. But it makes joining that room quite slow and resource intensive. Of course there is no IRC network with thousands of servers, because accepted hosts are well curated by the rules of the IRC network whereas any Matrix server can join the global federation. Granted, you don't need to join a chat network with an IRC server, but then neither does a Matrix server.