-
muppeth
MattJ, it's to matrix.
-
muppeth
that room in particular on matrix side seems to have couple of telegram bots and is few k users (on matrix side). so prosody keeps sending presence stanzas to bifrost (the matrix bridge) and to all other bridges in the room too (few telegram, irc and maybe some more).
-
muppeth
could be that cuses prosody to get unresponsive? Looks like server is doing well for few hours and then suddenly eats ton of RAM, 100%CPU and only restart of prosody brings it back.
-
MattJ
muppeth: and when you say the MUC is "bridged" - how exactly is it bridged?
-
muppeth
It's bridged with bifrost. https://github.com/matrix-org/matrix-bifrost
-
MattJ
So it's not actually a Prosody MUC
-
MattJ
So who is sending the 5 million stanzas?
-
muppeth
it is a prosody MUC. the bridge works in a way you have a muc on xmpp side and room on matrix side. There is a bot (bifrost) that does message relay and puppeting so users on each side apears to the client as native users.
-
muppeth
interesting thing is that now that room (osm-in@chat.disroot.org) has 15 users (some from matrix) while yesterday that same room had over 1k users.
-
muppeth
since the bridge runs on Arianet I am checking maranda about it. maybe he has some ideas.
-
muppeth
looks like the presence flood is triggered upon restart of the bridge as normally it should just puppet active users, but upon restart it does them all. so that osm-in room that had 15 users at two hours ago, now after maranda restarted bifrost bridge, now has 1.6k and climbing.
-
muppeth
this will probably bring the server to it's knees soon. I was wondering if others experience similar issues and if there is any idea on how to combat it on prosody side.
-
muppeth
this could potentially happen to any server as someone could bridge number of rooms and endup in similar situation.
-
MattJ
mod_muc_limits should be enabled and set to permit a level of traffic that your server can handle, and if you're being bombarded at the network level, mod_limits is the first line of defence
-
MattJ
The goal of those is to have a usable server, not necessarily working bridging
-
MattJ
To solve the latter, you could consider disabling presence broadcast for non-members (which I assume the bridged users are not)
-
muppeth
is that per muc setting or server wide? how to set it?
-
MattJ
The latter is per MUC
-
MattJ
"Only show participants with roles" in the MUC config form
-
MattJ
I've been working on GC3 (MUC successor), including an implementation in Prosody, and it would solve this (small Bifrost changes would be required though)
-
muppeth
thanks. am i right to assume muc_limits will not pevent presence stanza flood?
-
MattJ
You say that Bifrost doesn't use the presence, but that's not exactly true - I'm assuming it shows Matrix users who is in the XMPP channel
-
MattJ
muc_limits will prevent a stanza flood, but it does this by rejecting stanzas when the limit is reached
-
muppeth
yes. i meant on matrix side the presence works diffrerently (in the sense that you cant see in realtime if user is online or not)
-
MattJ
Yeah, but it's how we communicate to Bifrost which users are in the MUC
-
MattJ
What's frustrating is that Bifrost really only needs one copy of this information
-
muppeth
> muc_limits will prevent a stanza flood, but it does this by rejecting stanzas when the limit is reached and that would count all the stanzas, right? so in case of the presence flood, it would use up the limit and legit chat would be throttled right? ↺
-
MattJ
But because 1000 occupants join, we send 1000 copies of the same information to each occupant
-
MattJ
> so in case of the presence flood, it would use up the limit and legit chat would be throttled right? Correct. And bridging will basically fail, because most of the bridged occupants won't be able to join.
-
MattJ
Note that room members bypass the limit
-
MattJ
So the usual convention in public channels is to make regulars members
-
MattJ
Then if you have a join flood, only the untrusted JIDs are affected
-
MattJ
Since you said you have 15 people, you would make those members, and they will be unaffected, but bifrost will be
-
MattJ
as well as anyone who tries to join while bifrost is flooding you
-
muppeth
the thing is that any user can bridge a room, so on my server there are i think 44 bridged rooms.
-
MattJ
mod_muc_limits and mod_limits are (for better and worse) global, so you don't need each room owner to set this up
-
MattJ
The presence thing is per-room though
-
Kris
I think there is a way to pre set defaults for new rooms at least?✎ -
Kris
I think there is a way to pre set defaults for new channels at least? ✏
- Kris remembers "rooms" is depreciated as a term
-
MattJ
Old habits :)
-
MattJ
Yeah, you can change the defaults. However this would be a very surprising default :/
-
MattJ
In theory it would be possible to just filter stanzas to/from bifrost, e.g. using mod_firewall
-
MattJ
But this is getting pretty Prosody-specific, we should probably take it to the Prosody channel
-
Kris
the worst part of this issue is that of those 1k users on the matrix side, probably 700 or so are dead accounts. So the issue it completely stupid and just caused by conflicting design philosophies
👍 2 -
MattJ
Yeah
-
Kris
btw GC3 will be completed this year?
-
Kris
I mean the XEP draft submitted
-
Kris
muppeth, the appservice-irc bridge at least has a setting to prevent these mass-joins on bridge restart. Maybe that is something Maranda could look into?
-
MattJ
Kris, depends. My current before-end-of-year priority is OMEMO in snikket-sdk, but GC3 is already in progress and a close second.
👍 1 -
MattJ
I already have a test server up since the Worcester sprint, with some initial functionality. However there wasn't much time for testing by the time it was ready.
-
muppeth
> muppeth, the appservice-irc bridge at least has a setting to prevent these mass-joins on bridge restart. Maybe that is something Maranda could look into? thanks. I relayed it to him ↺
-
Kris
Snikket-SDK will support OMEMO 0.8?
-
halo
why entering disroot room, i keep getting server timeout try again message. is the disroot xmpp down? is every room hosted on its original server only?
-
Kris
halo, I am also seeing connection issues with Disroot right now, but I think that might be rather an issue with the new ejabberd 24.10 release. What server are you using?
-
halo
my jid is from movim.eu
-
halo
Can you send message on disroot room?
-
Kris
hmm, not sure if movim.eu is already updated to 24.10. probably not?
-
Kris
right now I can't, but I think that is rather due to my server and not Disroot
-
Kris
can you join the joinjabber.org channels? because for me I also have an issue there.
-
Kris
despite not having enabled mod_s2s_bidi I can't seem to connect to Prosody hosted MUCs right now
-
halo
other rooms are ok. only disroot disconnected. so i guess disroot is down
-
Kris
other channels hosted on ejabberd servers yes
-
MattJ
> Snikket-SDK will support OMEMO 0.8? At least not initially, no. If there is enough movement in the ecosystem (e.g. Conversations at least) then I'd reconsider that.
-
halo
the last message in disroot room is ">I love misteries, just not the best timing for 'em right now Muppeth 🤣"
-
halo
which is 17hours ago
-
muppeth
halo, perhaps you should reload the client. this was from yesterday.
-
halo
That is your message, right?. do.you see.anything after that?
-
Kris
ah movim.eu is also already running on ejabberd 24.10
-
Kris
so it is probably the same issue I have
-
halo
Kris: did any server update happened after yesterday?
-
Kris
apparently yes. I just checked and movim.eu also runs on ejabberd 24.10 already and that was only release the day before yesterday
-
halo
How many different server software does xmpp have?
-
MattJ
At least 6
-
halo
so, ejabbered is unstable?
-
Kris
no, but I think there is a newly introduced bug that prevents it from connecting to channels hosted on Prosody servers
-
Kris
most public channels are hosted on Ejabberd, except Disroot pretty much
-
MattJ
I'm curious how you define "most" :)
-
Kris
according to my extensive list of channels I am joined :) only Disroot and Joinjabber fails right now and those are the only ones I know for sure are on Prosody
-
MattJ
It doesn't matter, but I get the opposite impression, and search.jabber.network suggests it's far from just disroot (from a rough skim, Prosody is roughly half of the front page of results, 2 of those are disroot)
-
MattJ
You're joined to this one okay?
-
Kris
apparently...
-
MattJ
Maybe just disroot and joinjabber have bidi enabled
-
Kris
so it might also be a specific setting issue with Disroot and Joinjabber
-
Kris
yes maybe, but I explicitly did not enable mod_s2s_bidi when upgrading ejabberd
-
MattJ
Yeah, that's weird
-
halo
Kris: is only the room channel discommunicated, or private 1to1 chat also broken between two types of servers?
-
Kris
if s2s fails then all communication is blocked
-
Kris
but somehow I managed to resolve the issue on my server just now
-
Kris
it's unclear how, but I can access Disroot channels again
-
muppeth
> Maybe just disroot and joinjabber have bidi enabled Yes we do. ↺
-
muppeth
Kris, I unloaded bidi. could you check if you can join?
-
Kris
I already somehow fixed it before
-
Kris
but I am pretty sure bidi was not the issue in my case as I never enabled the new mod_s2s_bidi in the new ejabberd release
-
Kris
but maybe it helps with movim.eu
-
edhelas
Kris I just disabled mod_bidi for now
👍 1 -
mod
Has there been any discussion within the XMPP community regarding the implementation of a mention feature in MUCs, similar to the commonly used ‘@’ symbol in other IM applications?
-
Zash
Yes and some clients already do that.
-
mod
> Yes and some clients already do that. Is it just a simple match with the nickname? ↺
-
Zash
As in they invoke some user selector UI if you type @ and then communicate the mention using some XEP, not by sending @ on the wire.
-
cal0pteryx
Gajim will offer that as well in the upcoming 2.0 release
-
Zash
https://xmpp.org/extensions/xep-0372.html#usecase_mention maybe, I'm not sure
-
mod
I saw that there is an XEP-0224: Attention extension that can alert the other party, but it seems to be unavailable in MUCs.
-
Zash
Attention may be useful for alerting *everyone*, it's not directly usable for individual mentions.
-
Zash
And in 1:1 chats
-
Louis2
> Louis2: if you are not paying people you can't assign tasks to them Kris: Guess that means I can't ask my dog to fetch the remote either!
-
Kris
you are paying your dog with accomodation and food
-
Kris
maybe you should try that with xmpp developers... there might be some takers ;)
-
Kris
given rental prices and food inflation these days
-
tubexmp
Hi I have a client of Moxxy abandoned, don't you know?
-
MattJ
Not abandoned
👍 1 -
Kris
their xmpp server seems to be down since a few days though