jdev - 2021-03-11

  1. Sam

    Found out that disroot.org operates an open irc/xmpp bridge and was briefly excited, but now I am quieted or banned from at least one room (presumably for repeated join/parts) and I still can't figure out how the hell to authenticate with nickserv *facepalm* I hate bridges.

  2. Sam

    Except, weirdly, I can use the matrix.org xmpp/matrix bridge, and then join an IRC room through their matrix/irc bridge, and somehow that works better than just going directly and how to use nickserve is actually documented :S

  3. jonas’

    Sam, what kind of bridge is disroot.org?

  4. Sam

    I'm not sure

  5. jonas’

    because biboumi is fairly well documented: https://doc.biboumi.louiz.org/9.0/user.html

  6. Sam

    Oh, it is Biboumi, just went to the page to see if it said.

  7. Sam

    I looked through those docs, didn't see anything about nickserv.

  8. jonas’

    check for "Authenticating"

  9. jonas’

    also, a text search for NickServ would’ve brought you there ;)

  10. Sam

    Oh yah, this is what I was trying to do, but it wasn't working.

  11. jonas’

    it does work for me on the one network where I set it up

  12. Sam

    I was probably searching for "NickServe" or something stupid, because I definitely did that

  13. Sam

    It just keeps telling me that the commands are wrong or something. i dunno, it only messages me half the time and I keep having ot disconnect/reconnect to make it even send them, and gajim won't actually let me do adhoc commands without jumping through hoops (there's an open bug I found for it). Everything about this is terrible.

  14. Zash

    Curious, I have the opposite experience. I got complaints after joining via Matrix, but nobody on freenode even notices that I'm connected via Biboumi, so it doesn't generate any of the free marketing that the Matrix-IRC netsplits do.

  15. Zash

    Curious, I have the opposite experience. I got complaints after joining a Matrix room via bridge*, but nobody on freenode even notices that I'm connected via Biboumi, so it doesn't generate any of the free marketing that the Matrix-IRC netsplits do.

  16. Sam

    Not to mention that I had to install gajim because nothing supports adhoc commands but for some reason things insist on using them instead of just letting me send them commands as a message. *grumble, grumble*

  17. jonas’

    (poezio works)

  18. jonas’

    (poezio works, too)

  19. Zash

    Can't you send messages to nickserv%ircnet@bridge ?

  20. jonas’

    Sam, well, sending commands as text (a) conflicts with TUI clients and (b) is terrible when used with automated things

  21. Sam

    I think an ubuntu manpage showed a nickserv command example using some syntax I'm not familiar with (probably some raw IRC thing). ANyways, no idea, it's been a pain.

  22. Sam

    jonas’: and yet, the drawbacks are minimal and it works everywhere.

  23. jonas’

    I’ve had one bot do … suboptimal things … because you could make it say /foo and the bridge was stupid and based on libpurple and interpreted that.

  24. jonas’

    Sam, that is your opinion. But you’re also the author of '393, sooooo… ;)

  25. Sam

    I mean, don't get me wrong, I get the pain points, I accidentally send people :quit or something all the time, but literally nothign but gajim supports adhoc commands.

  26. Sam

    393, which is widely adopted and works fine, yes.

  27. jonas’

    poezio supports them

  28. Sam

    Great, 2 clients out of dozens support them. That's not better.

  29. jonas’

    ok, you want to rant, I’ll leave you at that

  30. Sam

    I was just hoping someone would know how to authenticate this, since those docs still don't give me any useful information.

  31. Sam

    I thought SASL worked, pretty sure that's what I was using with IRSSI, but it didn't do anything. Maybe I should try it again, I might have forgotten to reconnect or something.

  32. Zash

    Try in xmpp:biboumi@muc.poez.io?join

  33. Sam

    Will do if trying sasl again doesn't work, thanks

  34. Sam

    *sigh* now it just says "Error connecting to server". No idea what that means. Maybe Freenode banned me for too many reconnects or something.

  35. Sam

    Or "ERROR: Connection closed" or something. Anyways, everything is broken. Will try the biboumi room later.

  36. Sam

    But yes, slight rant starting about every damn thing we ever do in XMPP land: how am I supposed to use this if I don't know anything about XMPP? For a very basic use case, the disroot site says "use this format and you'll join an IRC room". Great. But as soon as anything goes wrong, there's no way to know how to get help even. If I send a message to anything, they dont' respond, my client probably doesn't make it clear that commands are a thing even if it does support them at all, etc.

  37. jonas’

    I blame disroot for not linking any reasonable documentation and your client for being incapable of either implementing adhoc or supporting biboumi specifically.

  38. jonas’

    fwiw, for my client project I envisioned having built-in support for talking to biboumi

  39. Sam

    I don't generally like the idea of super specific integrations, but TBF that would make it a lot easier for users. disroot could link to better documentation, that's fair, but I feel like if my server supports it I should have some way to get to those docs or get help from my client without going and looking for it.

  40. Sam

    Like something as simple as biboumi or whatever responding with a help message and not just ignoring me if I message the gateway would be nice. Even if it's just 'this is just a bot, here are the docs:'

  41. moparisthebest

    on the opposite side, a friend wanted a better way to join IRC from mobile, so I had him install Conversations, sent him a link, he clicked it, and he's been happy ever since

  42. jonas’

    Sam, go ahead and make a MR for biboumi, I think that’s a good idea even.

  43. Sam

    What's an MR?

  44. moparisthebest

    non-githubese for PR

  45. Sam

    ahh, gotcha

  46. jonas’

    because biboumi is on a gitlab instance

  47. Sam

    Is it? First search result is github

  48. Sam

    Either way, I don't write Python or C++

  49. jonas’


  50. moparisthebest

    obligatory "but it's not C++ it's MODERN C++" :P

  51. Sam

    Don't care, hate them both for different reasons :)

  52. Sam

    It wont' even let me view the issue tracker without an account though, or I'd try to file an issue at least

  53. moparisthebest

    no I'm with you, except I also won't write Go :P

  54. Zash

    All languages are terrible, except Lua. Lua is love.

  55. Sam

    That's sort of fair. Go is the least-bad garbage in my experience. Lua is terrible, it constantly defines variables when you slightly misspell something and then breaks in impossible to debug ways *grumpy*

  56. moparisthebest

    it's nice everyone can have a favorite language or two

  57. Sam

    🎉 SASL worked apparently. Still no idea what was wrong before, but after randomly failing 3 or 4 times with a useless error message it finally connected.

  58. Sam

    Okay, it's working, now careful not to touch it forever.

  59. mathieui

    Sam, really, for arbitrary interactions with an entity there’s not much better than adhoc commands… Sure you can have some kind of text-only fallback through messages if you want to quickly debug stuff, but the UX is sub-par and it is very error-prone

  60. Sam

    Oh, they're fine if the client supports them, but none of them do so it seems like there should be an alternate one.

  61. mathieui

    well, 0100 is very limited in its scope sadly

  62. Sam

    Even if the client does support them, I don't see how you'd discover that they're the way to configure this gateway

  63. mathieui

    (but any kind of textual communication with a gateway has to be ad-hoc which, ew)

  64. Sam

    But maybe that will just happen if they were more widely supported and it wouldn't be a problem.

  65. Sam

    Okay, re-enabled all the IRC bookmarks I created. Restarting client, let's see if I actually join to all these rooms or just get bombarded with errors again…

  66. Sam


  67. Sam

    huh, now Conversations shows me as offline and unconnected to this room and won't fetch history. But sending a message worked. I give up.

  68. eta

    Sam, fwiw I'm also on team "ad-hoc commands are annoying"

  69. eta

    I hate that I have to get out poezio every time I want to configure biboumi

  70. Sam

    I mean, don't get me wrong, they'd be nice if things supported them, but I don't think they're generally all that useful (a gateway is pretty niche) so most things probably will never support them. Maybe if they had some more general purpose use, I dunno.

  71. mathieui

    "client developrs who refuse to implement ad-hoc commands and forms are annoying"

  72. mathieui

    but yes, having to fire up another client to configure things is never ideal, obviously

  73. Sam

    I don't think that's the case though. Why would client devs implement them for the most part?

  74. eta

    by far my #1 complaint about all gateways though is how they tie things to presence

  75. mathieui

    eta, biboumi doesn’t, afaik?

  76. eta

    IMHO a gateway should *never* kick you out of a MUC

  77. eta

    (unless you've actually been kicked from the legacy network side)

  78. Zash

    Like the Matrix-XMPP one?

  79. eta

    because getting clients to stay in MUCs is hard enough as is without the gateways screwing around

  80. eta

    whatsxmpp takes the attitude that MUC join state should be persisted to the DB and restored on restart

  81. mathieui

    eta, to be fair it should be mapped to whatever the remote network behavior is supposed to be

  82. mathieui

    leaving a whatsapp/signal/whatever room because the xmpp side left is truly awful

  83. eta

    no don't do that (but nothing does apart from maybe spectrum)

  84. Sam

    I wonder if it's worth putting adhoc commands in the compliance suites? Would that be enough for client devs? Or maybe we need more uses for them first to justify that. I dunno, just thinking out loud.

  85. eta

    what I'm complaining about is when your IRC connection drops under biboumi and you get kicked from all of your MUCs

  86. eta

    or when a gateway is manually rebooted and the same thing happens

  87. Sam

    Actually, no, I think I'd be against that. Still undecided, but this is super niche. Seems like it would just be a burden on client devs. Maybe gateways and things just need to implement a fallback.

  88. mathieui

    eta, ah.

  89. eta

    gateways should remember the user's intent (if they joined a room and never left it, they probably want to stay in it!)

  90. mathieui


  91. eta

    requiring the user to "babysit" the gateway is incredibly bad UX

  92. eta

    like it annoys me and I actually know things about XMPP

  93. eta

    for someone who isn't an XMPP fan they'd just consider it an incredibly broken experience

  94. mathieui

    Sam, adding adhoc to compliance suites seems hard to do

  95. eta

    also sending unavailable-presence to the gateway shouldn't log you out of the remote network either

  96. eta

    (biboumi doesn't do this, thankfully)

  97. Sam

    Yah, that doesn't seem like a good way to encourage implementations anyways. I dunno, I keep going back and forth on that.

  98. Sam

    Making them more useful first is probably the better way.

  99. Ge0rG

    maybe we need a new category for those? :D

  100. eta

    I think for clients with ad-hoc commands, they're lovely

  101. eta

    like honestly, great way to configure things that isn't like "wtf how do I use this text interface"

  102. Ge0rG

    but it's really ungrateful work for the dev

  103. eta

    but right now they're not supported enough to be the only method of config

  104. mathieui

    Sam, there are nice XEPs with standardized sets of ad-hoc commands, which means clients don’t have to have the full adaptability of 0050 + 0004 to use them, which is great

  105. mathieui

    but that cannot really work for gatewyays

  106. Sam

    How many things need configuring though? MUCs do their own thing IIRC, so it's just gateways and maybe server admin stuff, right?

  107. eta

    btw while we're on the subject the gateway registration XEP is kinda trash IMO

  108. mathieui

    eta, yes.

  109. eta

    much better to just use adhoc / textual commands

  110. mathieui

    Maybe it would be worth it to start a thread on standards@ about gateway interaction

  111. mathieui

    I’ll try to collect some feedback, there is one guy who is writing some spectrum-like generic gateway software block using slixmpp lately and he has implemented XEP-0100, I will ask him for some feedback on top of my own, if he has time

  112. Sam

    Good idea

  113. jubalh

    I'm slightly confused about OTR.

  114. jubalh

    https://otr.im/ is this related to XEP-0364 ?

  115. jubalh

    It's a newer version of https://otr.cypherpunks.ca/Protocol-v3-4.0.0.html right?

  116. jubalh

    But is this used in any XEP or is anyone aware of that project?

  117. flow

    all xmpp clients probably implement OTRv3

  118. flow

    as v4 is relatively new

  119. flow

    Sofia Celi of https://github.com/otrv4/otrv4 once reached out to the XMPP community, but I never heard that someone tried to XEPify OTRv4

  120. jubalh

    Okay good to know

  121. jubalh

    it seems https://github.com/coyim/coyim is using it