| 23 May 2025 |
uep | oh, for sure. I had two clients, same account, seeing different things | 08:53:34 |
uep | it did, because I'm on matrix.org and saw the first one | 08:54:14 |
emily | it uh, didn't for me | 08:54:25 |
emily | which should be impossible? | 08:54:29 |
emily | oh. okay. lovely. | 08:54:41 |
uep | but fractal saw the permission for post at 50, element saw it at 0. | 08:54:41 |
emily | I hate it. | 08:54:49 |
emily | so Matrix is actually distributed and not federated, but only in ways that break things? | 08:54:56 |
emily | I thought you just trusted your homeserver. | 08:55:01 |
uep | but it's very clever and resilient to transient netsplits | 08:55:22 |
uep | it just replaces them with long-term state splits | 08:55:35 |
Cat | its so routine that the moderation bots are architected around this assumption. | 08:55:43 |
Zhaofeng Li | ok, maybe a more productive question is: is it still possible to moderate that (old) room? | 08:55:58 |
Cat | its federated. | 08:56:17 |
uep | yeah, i'm apparently still in there as is mjolnir | 08:56:25 |
emily | in a federated system you wouldn't have two clients on the same homeserver disagreeing about the state of a message⦠| 08:56:41 |
Cat | The fact your client can slide out of sync with your server is due to the fact that the Sync protocol is made to be "friendly" | 08:56:45 |
emily | right. so sync makes it a distributed system | 08:56:55 |
uep | * yeah, i'm apparently still in there as is mjolnir (with privs, at least according to some perspective) | 08:57:04 |
Cat | As in the sync protocol works on a snapshot of the room | 08:57:04 |
Zhaofeng Li | * ok, maybe a more productive question is: is it still possible to moderate that (old) room? because none power level changes has "stuck" apparently | 08:57:05 |
emily | without any of the advantages | 08:57:09 |
Cat | but if the room is mutated in the right way said snapshot becomes invalid | 08:57:19 |
K900 | Not in a way that affects 100% of the clients in the room | 08:57:34 |
Cat | and the reason for this snapshot based aproach is because the shit that actually is going on inside of the homeserver is not something you want a junior client dev to worry about. | 08:58:03 |
Cat | i dont know if sliding sync has fixed the state resets are invisible over /sync problem. | 08:59:10 |
Cat | but thats the problem. If state changes in specific ways they wont show up in /sync but will show up in /messages and /state | 08:59:40 |
Cat | because both those endpoints ignore the snapshots that /sync work on. | 08:59:55 |
Cat | or its only /state that ignores that system | 09:00:05 |
@lotte:chir.rs | a reliable way to trigger that is to delete a bunch of rooms on the homeserver that the client is joined in | 09:00:22 |