16:13 Holy shit. The main matrix hq matrix.org room has 45k people in it now. 16:14 As much as I love the simplicity of IRC, it simply can't scale. Matrix clearly can. 16:14 I can't imagine any IRC room being functional with 45k people in it. Even 1k is brutal with nonstop join/part spam. 16:15 but since Matrix sync buffers of messages and functions like a bouncer at the protocol level, this is never a problem. 16:15 you are in a room forever, until you part it 16:15 so really it is just there are 45k clients that wish to subscribe to updates to this shared buffer. 16:16 it is just wildly more efficient. 16:17 i wonder if matrix will scale when it has 500k users 16:18 <~benharri> can it scale as well as xmpp 16:50 Lance: You realise that #! already does run an IRCd which does solve that problem, right? (w/ multiclient + nick lingering) 16:50 I found a bug on Codeberg regarding downloading as ZIP or tarball β€” it only downloads LFS file refs instead of content 16:51 though I don't think IM groups with tens-of-thousands of people are a great idea to start with, but more on human aspects 16:52 Shane: Ooops, that does sound rather un-ideal ^^' 16:54 I cross-tested on GitHub and it works as expected there 17:01 Confirmed it's a bug, but I'm not the first to find it! https://github.com/go-gitea/gitea/issues/4773 17:04 23:14:52 I can't imagine any IRC room being functional with 45k people in it. Even 1k is brutal with nonstop join/part spam. 17:04 that's what smartfilter is for 17:04 unlike irc, 99.999% of matrix users are never present in the rooms 17:04 on IRC you need to have a connection open 17:04 on matrix you just need to have connected at some point, and not have explicitly left 17:05 and #linux on libera has like 2100 people happily in there, lol 17:05 23:15:48 so really it is just there are 45k clients that wish to subscribe to updates to this shared buffer. 17:05 exactly like IRC! 17:05 lol 17:05 lets be honest though, 99% of the people in #linux are using bouncers 17:05 and not actually present either 17:05 perhaps 17:06 matrix just makes the bouncer built into the protocol, in effect 17:06 which isn't inherently better in any way 17:07 if anything, it's worse, in that you end up with rooms having to send data to clients who haven't even been online in ages 17:07 well in the case of IRC, all 2k people in the room have clients, and all of them must be updated all the time, even if they are only headless bouncers somewhere. 17:07 or well, those clients' homeserver, I suppose 17:07 so the irc server has to spam messages to all 2k clients all the time 17:07 same with matrix, lol 17:07 no 17:08 in matrix, when no client is connected, no messages are sent anywhere 17:08 they just live on the homeserver 17:08 when a client connects, they will just get a buffer of the most recent messages, that's it 17:08 and it is in one request 17:08 so it is nice on battery, etc 17:08 and also very very slow to sync 17:08 only if you scroll up will it start pulling backlog off the homeserver 17:09 <~benharri> matrix is in no way efficient 17:09 slow syncs have absolutely nothing to do with aforementioned design decisions. 17:09 Actually its is super fast. the moment I connect it makes one request to grab a buffer from each channel. 17:09 if a single homeserver is slamme,d that could be slow, but that is not a protocol thing. 17:09 I'm in barely any rooms, and whenever I check in, it takes like a minute to sync up 17:09 and I can't do ANYTHING before then 17:09 yes, that is not a protocol issue 17:10 it is an existent issue, to be clear 17:10 I am using matrix over tor right now, in about 150 channels. I can refresh this tab and am back up and running in maybe 3 seconds 17:10 but attributing it to the protocol (design) is incorrect 17:10 that is the problem with matrix's design 17:10 or clients' design 17:11 you have to wait until all the unread messages are synced up 17:11 sigh, why do I even bother with these kinds of discussions anymore 17:11 if you're offline for a week, you need to sync up a week of messages 17:11 How is sending every message to every client all the time more efficient than just sending a single request of a bundle of recent messages to each client when they connect? 17:11 no, you don't... 17:11 (I'm sure there's some cap, it's not infinite backlog sync, lol) 17:11 no you don't. You just get a single request of a buffer of recent messages unless you scroll up into the backlog of that channel. 17:12 that is why I can refresh this tab with 150 channels fast 17:12 You only pull the things your UI currently intends to display