Mikaela / mikaela.github.io

My website/blog source code. Hosted on this repository/GitHub Pages.
https://aminda.eu/
13 stars 7 forks source link

Blog: IRC / (stateful?) bridging etiquette? #241

Open Mikaela opened 3 years ago

Mikaela commented 3 years ago
2021-196 23:48:49 EEST <REDACTED-BOTNICK> REDACTED-PROTOCOL <REDACTED-PERSON-1> do you have a link to IRC/XMPP conventions? i thought we had different conventions for each chan/network but maybe i missed something ^^"
2021-196 23:49:52 EEST <Mikaela> I am not sure what you mean by conventions, I am not a native English speaker, sorry
2021-196 23:50:32 EEST <REDACTED-BOTNICK> REDACTED-PROTOCOL <REDACTED-PERSON-1> i was talking to REDACTED-PERSON-2 about what he wrote about conventions (like rules/culture) for IRC vs XMPP
2021-196 23:50:41 EEST <REDACTED-BOTNICK> REDACTED-PROTOCOL <REDACTED-PERSON-1> > - If you are the guest you have to play by the rules of the host. So if you for example use a XMPP -> IRC gateway (Biboumi) you have to respect IRC conventions. But If you use a IRC -> XMPP gateway (xmpp-ircd) you have to respect XMPP conventions;
2021-196 23:50:51 EEST <REDACTED-BOTNICK> REDACTED-PROTOCOL <REDACTED-PERSON-2> that is my opinion
2021-196 23:50:59 EEST <REDACTED-BOTNICK> REDACTED-PROTOCOL <REDACTED-PERSON-2> etiquette
2021-196 23:51:11 EEST <REDACTED-BOTNICK> REDACTED-PROTOCOL <REDACTED-PERSON-2> matrix doesn't do that
2021-196 23:51:16 EEST <REDACTED-BOTNICK> REDACTED-PROTOCOL <REDACTED-PERSON-2> that that sucks
2021-196 23:52:13 EEST <REDACTED-BOTNICK> REDACTED-PROTOCOL <REDACTED-PERSON-1> yes but what etiquette? do you have a reference to guide users about that? :)
2021-196 23:52:26 EEST <REDACTED-BOTNICK> REDACTED-PROTOCOL <REDACTED-PERSON-2> just conventions and opinion
2021-196 23:52:51 EEST <Mikaela> oh, I agree. I am not sure if there is anything written about it, but there are some unwritten rules and Matrix manages to break against a lot
2021-196 23:57:07 EEST <Mikaela> e.g. don't flood, try to keep things within one line (subjective), when doing multiline things, pastebin instead of flooding when you have more than 3 lines (and also give context for your link, don't be like Matrix that just throws a * user pasted a long message <horrible-mess-of-a-link), don't change your nickname to announce your status (use /away). Other issues
2021-196 23:57:07 EEST <Mikaela> with Matrix are that when it goes down, 1000+ people just quit/join which is floody and additionally often there are monologuing Matrix users as they cannot see anything nowadays. It also annoys operators when there are ghost Matrix accounts that haven't been used in a long time, but are still doing meta traffic (PING/PONG) and needing copies of messages and everything
2021-196 23:57:07 EEST <Mikaela> as it pretends to be a client instead of a server, but that cannot be helped and XMPP is better at that
2021-196 23:57:14 EEST <REDACTED-BOTNICK> REDACTED-PROTOCOL <REDACTED-PERSON-1> is user-spoofing vs puppeteering really a difference? can we not call the two user-spoofing or puppeteering?
2021-196 23:57:52 EEST <Mikaela> To clarify that last point, in Matrix once you join a room, you are there forever, even if your homeserver went permanently down. In XMPP and IRC, once you disconnect, you aren't there anymore, unless you have member status which I guess roughly equals to IRC's voice
2021-196 23:58:42 EEST <Mikaela> I would propose the terms stateful (attempting to show members on both sides and likely supporting private messages) and stateless (only showing messages and senders, but they aren't really in nicklist or online e.g. REDACTED-BOTNICKMSG or webhooks)
2021-196 23:58:49 EEST <REDACTED-BOTNICK> REDACTED-PROTOCOL <REDACTED-PERSON-1> i think permanennt membership is great and more intuitive (personal opinion)
2021-196 23:58:54 EEST <REDACTED-BOTNICK> REDACTED-PROTOCOL <REDACTED-PERSON-1> but i see your point about etiquette yes
2021-197 00:01:53 EEST <Mikaela> I agree, but I simultaneously agree with REDACTED-PERSON-2's statement on following the rules of the host. On most of IRC you quit/disconnect, you are gone. In Ergo IRCd if you are a logged in user, you can set your account as always-on and then you are always connected to other users to the network (until your connection expires due to inactivity if configured by the server), but you
2021-197 00:01:53 EEST <Mikaela> cannot bring that to a traditional IRC server like Solanum without the IRC server supporting it
2021-197 00:03:40 EEST <REDACTED-BOTNICK> REDACTED-PROTOCOL <REDACTED-PERSON-1> of course the matrix bridge could decide to suspend this subscription until you login again if youve been away for months
2021-197 00:03:59 EEST <REDACTED-BOTNICK> REDACTED-PROTOCOL <REDACTED-PERSON-1> but is it bad netiquette? on IRC i see a lot of nicks who never post anything, and i myself am lurking in more than one chans :P
2021-197 00:07:24 EEST <Mikaela> The Matrix bridge is being held by different standard due to it having exception in connections it is allowed to open and I hear they constantly hit those limits while normal IRC bouncers/shells, even if dead, don't have any server-side configuration and are from enough different IP addresses to hit any limits
2021-197 00:11:32 EEST <Mikaela> I understand that the bridge regardless of being so modern and great isn't aware of user status from remote homeservers and if it happens to lose power due to a state reset bug, it may not ever remove anyone and thus kept people in Disroot room online on freenode wasting resources for three years without anyone being wiser about it until Andrew Lee happened and as a
2021-197 00:11:32 EEST <Mikaela> result Disroot setup a temporary instance to regain power in the state reset room to "upgrade it" (add a link to another new room which Matrix clients are supposed to follow or tell their users to follow) and then the bridge finally noticed that it was keeping hundreds of ghosts online for no reason
2021-197 00:13:23 EEST  * Mikaela wonders if that should be copy-pasted to the pad to be formatted better
2021-197 00:26:27 EEST <REDACTED-BOTNICK> REDACTED-PROTOCOL <REDACTED-PERSON-1> REDACTED-PERSON-2, i tried to remove your "REDACTED-PERSON-2" affiliation so you can try again.. REDACTED-CLIENT-SOFTWARE-1 didn't give me feedback on whether this succeeded or not so...
2021-197 00:27:29 EEST <REDACTED-BOTNICK> REDACTED-PROTOCOL <REDACTED-PERSON-1> wooooow that's quite a story do you know of a detail blogpost about that Mikaela ?
2021-197 00:27:49 EEST <REDACTED-BOTNICK> REDACTED-PROTOCOL <REDACTED-PERSON-1> there's probably some lesson to be learnt from such obvious design mistakes :)
2021-197 00:29:36 EEST <Mikaela> best I could do is probably opening an issue to https://github.com/mikaela/mikaela.github.io/issues/ and hoping I will one day make it
2021-197 00:33:58 EEST <Mikaela> this is probably a public channel so I could probably just copy-paste our chat to my issue tracker?
2021-197 00:36:58 EEST <REDACTED-BOTNICK> REDACTED-PROTOCOL <REDACTED-PERSON-1> would be great! don't hesitate to omit nicknames though :P
2021-197 00:38:48 EEST <REDACTED-BOTNICK> REDACTED-PROTOCOL <REDACTED-PERSON-1> but this sounds like a super juicy story i'd be happy to hear the technical tidbits of, and i'm sure hacker news would appreciate it too
Mikaela commented 3 years ago

Regarding #242 a redacted user whose number I forgot comments

Mikaela, wow thanks for those additional details it's very interesting! is there not a way to multiplex for several users over IRC protocol? so the bridge wouldn't use resources FOR EVERY USER ?

2021-197 01:20:26 EEST \<Mikaela> REDACTEDNAME, there are two ways. 1. the bridge may pretend to be a IRC server and speak to other IRC servers using server-to-server protocol instead of pretending to be an army of IRC clients, however that requires running your own network or being very friendly with administration as Libera would never allow you to do that 2. you can use a relaybot which pretends to 2021-197 01:20:26 EEST \<Mikaela> be just a single user like you are doing now, additionally the relaybot may be using RELAYMSG or display names to perform stateless bridging (both are experimental IRCv3 drafts, some not even approved to IRCv3)

Additional note for GitHub: I am not a member of Libera.Chat staff or affiliated with IRCv3. I am not sure what affiliation really means though or how formal it is with IRCv3. I may be recognised by people around IRCv3 and am enthustiastic Ergo IRCd and Limnoria bot user and have contributed to the two.

Mikaela commented 3 years ago

Matrix breaking "the unwritten IRC code" case Feneas Telegram bridge: The last message from Feneas Telegram brige is on 2020-10-24. However there are regardless several @telegram_*:feneas.org connections to Libera.Chat still on 2021-07-16. There is nothing behind those users as the bridge has been down for ages, so the only thing they do is drain resources of Libera.Chat EMS instance and IRC network.

Additionally Libera.Chat staff has said that the Matrix bridge exists for bridging Matrix users, not bridging users from other networks through Matrix. I admit that is a bit ambiguous statement on whether they mean other IRC networks or other protocols entirely.

Todo: should I ever get inspiration to write this blog post, ask Libera.Chat Staff for clarification comment and a permission to quote them directly.

Mikaela commented 3 years ago

I requested Libera.Chat website to clarify these questions: https://github.com/Libera-Chat/libera-chat.github.io/issues/113.

Note: Libera.Chat is just one IRC network and every network may have it's own rules and if you run your own IRC network, you write the rules and can do whatever you want there within the limits of legislation applying to you.