Modern XMPP project discussion - 2022-01-17


  1. MattJ

    The IETF used to use XMPP for their online chats during meetings. Last year they decided to explore alternatives (including Matrix). I believe the post author confused this with standardizing XMPP alternatives, but this never anything to do with standards. In fact they ended up choosing Zulip, which isn't a standard in any way.

  2. pep.

    And that first hn comment is just hn as usual. Mixing up protocol and implementations, and ranting on serialisation format which honestly who cares

  3. MattJ

    HN people care ;)

  4. emus

    ^^

  5. MattJ

    It was hard convincing my family to use Snikket, once they learned it used XML

  6. jonas’

    seriously?

  7. zaik

    > It was hard convincing my family to use Snikket, once they learned it used XML 😂😂

  8. pep.

    The web usea XML

  9. pep.

    Ah sorry wrong example, we do want to kill the web..

  10. jonas’

    also it uses SGML, not XML

  11. pep.

    uses*

  12. Zash

    You are all wrong, HTML is totally not like XML in any way!!!

  13. Zash

    Also, nobody uses HTML anymore, it's all client-side rendered JSON

  14. MattJ

    jonas’, obviously not seriously, sorry :P

  15. jonas’

    pfew, thanks

  16. pep.

    The web usea XML

  17. pep.

    Ah sorry wrong example, we do want to kill the web..

  18. pep.

    uses*

  19. jonas’

    -ELOOP?

  20. pep.

    Tbh I'm slightly annoyed that each time we skip the false debate on protocol/implementations and having to implement everything etc. People seem to be really lost about this, I'm wondering if it's legit lost or trolling lost

  21. pep.

    Istr matrix was also built on "not having to wander through lots of disparate documents" (because you do have to implement everything to "implement the spec"), how true is this?

  22. MattJ

    Not 100% true, and their "single spec" is... very long :)

  23. pep.

    Sure, it might be in the end.. Plus nobody actually implements everything. "Everything" not even being written down in the spec

  24. pep.

    So trolling or legit? :p

  25. MattJ

    Yeah, spec aside, it is absolutely the case that not every Matrix client implements the same stuff

  26. MattJ

    Even Element across different platforms can differ, as things get rolled out to one platform before others

  27. Zash

    But if you don't implement everything *and* keep up with the constant stream of changes then you're not a Matrix client and you don't count!

  28. Zash

    Or in other words: There is only one implementation.

  29. pep.

    Modernxmpp is exactly tackling this false debate IMO and maybe it should address it directly

  30. pep.

    Maybe it already does and people still don't realise, dunno

  31. MattJ

    I'll be honest that the "Modern XMPP" project is nowhere near what I envisioned when I first introduced it at FOSDEM 5-6 (!) years ago. I think it's working great as a place to record knowledge that is otherwise unrecorded or fragmented. However to be what I had hoped, it would need serious support from client developers, and I just don't see that anywhere.

  32. MattJ

    and that's partly why I prioritize Snikket, because working on an implementation allows direct change, instead of writing documentation and hoping that all (or at least some) people will follow it... eventually

  33. pep.

    I'm not so surprised people do things differently. Every implementation has different goals, and even when having similar concepts these goals will reflect in how these concepts are implemented. I think Snikket is the closest you'll get to having something that has the same behaviour everywhere (which is still not a given).

  34. MattJ

    Indeed

  35. zak

    Maybe client developers could voice their opinion here in this regard and how they would like to proceed?

  36. MattJ

    They mostly don't

  37. MattJ

    Well, I should be more clear

  38. MattJ

    It's not that they are against the initiative. But just look at any project's bug tracker. They have other priorities :)

  39. MattJ

    It's the usual story of open-source

  40. jonas’

    "do it yourself if you care for it to be done"

  41. MattJ

    So even if they agree in principle, even just changing terminology can be a big task in itself

  42. jonas’

    (or throw some adequate and accepted compensation)

  43. MattJ

    Snikket isn't even consistent on terminology (yet), but I'm working on it

  44. MattJ

    So indeed, unless we can accompany Modern XMPP with contributions and resources for the involved projects, it will never be more than a loose documentation project I think

  45. MattJ

    Which is valuable to have, I'm just saying it's less than my original ambition :)

  46. MattJ

    But my original ambition didn't foresee Snikket

  47. zak

    To be honest I think Snikket is a kind-of closed solution as well. It suits specific groups of people. But nothing generic.

  48. jonas’

    I claim there is no generic solution

  49. jonas’

    there can be a generic protocol, XMPP is, but no generic client solution.

  50. zak

    Ok, I must specify: With 'generic' I mean something for the vast majority of users.

  51. zak

    Like WhatsApp, Signal, Threema,...

  52. MattJ

    The reason being?

  53. zak

    I cannot just tell someone "Install Snikket and chat with me"

  54. jonas’

    you can. by sending an invite.

  55. zak

    I'd have to setup a Snikket instance first.

  56. MattJ

    Someone has to

  57. zak

    I could as well just setup my own ejabberd and create accounts there.

  58. MattJ

    I would happily race anyone onboarding a friend to XMPP going the Snikket or ejabberd/Prosody route :)

  59. MattJ

    You could sink a whole day setting up a good XMPP service from scratch

  60. zak

    So far I just say "Install Quicksy and chat with me". That works fine as long as Android is involved.

  61. zak

    MattJ: Maybe, but thats not the point.

  62. MattJ

    It kind of is

  63. MattJ

    But sure, if someone wants to use Quicky's service, that's totally fine. That's what XMPP allows, after all.

  64. zak

    I disagree. *I* am tech-savvy. I could do Snikket or ejabberd. Whatever my preference would be. But the common user wouldn't do either.

  65. MattJ

    Of course they wouldn't

  66. MattJ

    But you don't need tech skills either, there are plenty of non-technical people with their own Snikket instances via the hosting service

  67. MattJ

    It takes a few minutes, and then you can send invites or chat to people using Quicksy, or whatever

  68. zak

    Yes, people can do that, but I think the majority expects another workflow in this regard.

  69. MattJ

    Well, we have to shift their expectations :)

  70. MattJ

    One group of people at a time

  71. zak

    And that exactly is the big problem of most developers. They think the users need to change and adopt to the developers expectations. Not the other way round.

  72. MattJ

    I agree

  73. MattJ

    Which is exactly why I put so much effort into making Snikket onboarding absolutely trivial

  74. MattJ

    Just *one* person has to set up the instance, and that's easy enough for at least one person in most groups.

  75. zak

    Don't get me wrong, I think Snikket is a very good idea, but it targets people who are willing to take responsibility for managing a group of people.

  76. MattJ

    If you prefer to promote a service like Quicksy, go for it. I won't judge :)

  77. MattJ

    I have personal opinions that the XMPP public server model and the Quicksy model are both the wrong approach. Snikket's model is the closest to ideal that I have come up with so far.

  78. MattJ

    But as long as it's all XMPP, who cares which one "wins" (we don't even need a winner... that's the point)

  79. zak

    The thing is that it seldom grows beyond this group of people. You have this one person and his peers on the Snikket instance. One of those peers will usually not tell a third person to "install Snikket". He would either setup his own instance first or tell the one person to send this third person an invite.

  80. zak

    He would either *have to* setup his own...

  81. MattJ

    Ordinary users will be able to invite new users to instances, in the future

  82. MattJ

    If your concern is that the admin is the bottleneck

  83. zak

    Hm, then the admin will have to agree that people invite further people who he might not know.

  84. MattJ

    Yes, that's why it's not allowed right now, because there aren't sufficient controls for the instance admin

  85. MattJ

    There will always be controls. My goal is not to replicate a centralized service on top of XMPP (e.g. Quicksy). There's really not much point in that, we might as well stick with existing centralized services (who arguably do it better).

  86. MattJ

    Meanwhile Quicksy has to fight with network effect, while Snikket mostly does not

  87. zaik

    > might as well stick with existing centralized services (who arguably do it better) which ones? usually they don't federate, so they're inaccessible

  88. MattJ

    But from what I can see you're saying that this is the way forward, because of user expectations that cannot be changed

  89. MattJ

    I assume you reckon a small minority of people will run federated services alongside a giant service with millions of users

  90. MattJ

    or, explain :)

  91. MattJ

    We had such a service once before - Google Talk

  92. zak

    MattJ: We might as well have the problem, that someone sets up a Snikket instance (because it's so damn easy), then invites some users who invite further users and then there are a growing number of users on this instance. But the one person who maintains the instance is maybe not that tech-savvy (it's so easy, that's your point isn't it) and doesn't do updates. Then he finally re-installs his system without taking care. Well... what do those users say then?

  93. MattJ

    That's why we will have controls and limits in place

  94. zak

    I think someone who sets up a server needs to have some kind of responsibility and take care as well.

  95. MattJ

    The current plan is for users invited by non-admins to be unable to invite other users by default

  96. zak

    Then we have the problem I mentioned in the first place. I think the network effect is the most important part of XMPP. And we only get that with features I guess. And working clients for all common OS.

  97. MattJ

    Seems we have gone in a circle :)

  98. zak

    Thats what happens with XMPP for years I'm afraid. :(

  99. MattJ

    Maybe everything goes in circles...

  100. MattJ

    Luckily Snikket supports those

  101. zak

    :-P

  102. Zash

    This is now the canonical reason for calling them that

  103. zaik

    > working clients for all common OS. the only one missing is iOS now

  104. MattJ

    Depends what you mean by "working" and "client", I guess

  105. MattJ

    I assume the lines are drawn to exclude Snikket iOS, which obviously I disagree with but I see why others do not :)

  106. zaik

    I have a friend who registered her account on 404.city and installed Siskin. She doesn't receive notifications for group chat and all messages just read "You received a message encrypted with OMEMO but your client doesn't support OMEMO. " I have to send her screenshots from our conversation in the group chat

  107. zaik

    as far as I know Snikket iOS is based on Siskin IM?

  108. MattJ

    Yes

  109. MattJ

    It requires additional extensions on the server side for reliable notifications

  110. MattJ

    and these aren't under the XSF yet, they are published on Tigase's website

  111. MattJ

    Which is one reason ejabberd doesn't have them yet

  112. zaik

    maybe she could fix the notification problems by migrating to a Tigase server like sure.im, but I suspect the OMEMO situation will not improve...

  113. zak

    Why are these extensions not under the XSF yet?

  114. MattJ

    Mostly because nobody submitted them

  115. MattJ

    At the time they were introduced to the community, a number of folk spoke against them, because they use JSON embedded in XML

  116. MattJ

    So the Tigase team didn't really pursue publishing them through the XSF due to lack of interest

  117. zaik

    > a number of folk spoke against them, because they use JSON embedded in XML I think I have to agree, that sounds terrible. Why would that be necessary?

  118. MattJ

    (I'm not trying to speak for the actions of the Tigase team here, just my assumption is that had there been more positive reaction, they would have submitted them)

  119. MattJ

    Because the Apple push API has a strict size limit

  120. MattJ

    The data gets encrypted on top of that before it is passed to Apple

  121. MattJ

    It's more compact to pick a few fixed fields and encode them as compact JSON

  122. MattJ

    i.e. there is no extensibility

  123. zak

    Is there so much information that needs to be submitted that it exceeds the size limit?

  124. MattJ

    Which is part of the problem

  125. MattJ

    I forget the limit exactly, but "4KB" rings a bell in my mind. But a JID maximum length is already >2KB

  126. MattJ

    and then there's any message contents, OMEMO info, Jingle call info, group JID, etc.

  127. zaik

    but the encrypted client <--> apple API should not be problem of the parts XMPP cares about namely c2s and s2s, right?

  128. zak

    Well that sounds at least like a valid reason but it could be discussed and then decided for either a better solution or then accept the current solution. Not doing anything because there is no perfect solution is the worst.

  129. MattJ

    This data is encrypted XMPP server-->Apple-->client

  130. MattJ

    Basically the server receives an incoming stanza addressed to the client, and the server has to pack this in some form and send it to the client via Apple's API

  131. MattJ

    and the details of the packing are the main problem

  132. MattJ

    In an ideal world the client should be able to tell the server what info it needs from an incoming stanza

  133. MattJ

    "If it's a Jingle call, extract this info, pack it like this, encrypt it, and send it to me as a push notification"

  134. MattJ

    But this starts to get pretty complex

  135. jonas’

    Greenspun's tenth rule?

  136. MattJ

    In the current Tigase approach, the information to extract is hard-coded in their XEP

  137. jonas’

    is it a XEP if it isn't published by the XSF?

  138. MattJ

    Which is fine for a single implementation, or other very similar implementations, but if someone wanted to e.g. add in "this is a sticker" flag in there, suddenly it's problematic

  139. MattJ

    XMPP External Proposal

  140. jonas’

    nice save

  141. jonas’

    (though "it's proprietary magic" is one of the criticisms I hear of Snikket (iOS))

  142. MattJ

    If someone could figure out the spec we could switch pretty easily to something standardized at the XSF

  143. MattJ

    But if that person has to be me, it's going to have to wait

  144. Link Mauve

    So it’s a similar issue to EXI?

  145. Link Mauve

    A client wants to share a list of what it supports/wants to receive notifications for with the server?

  146. jonas’

    I don't think its strictly similar

  147. jonas’

    but it could be

  148. jonas’

    I wonder if we could get away with a list of simplified XPath selectors

  149. jonas’

    as opposed to the word XSLT someone mentioned somewhere, which would be horrible

  150. zaik

    I don't understand what kind of extensions are needed for the c2s part? How the server talks to the Apple API would never be part of an XEP.

  151. jonas’

    zaik, the client needs to tell the server what to send.

  152. MattJ

    zaik, the data it sends to the push server must be part of the XEP

  153. jonas’

    which parts of the stanza it needs *in the push notification itself* in order to operate

  154. Link Mauve

    zaik, it would be, since despite Apple being the relay, it receives the payload the server sends it.

  155. MattJ

    or some way to determine what data to send (ultimate flexibility)

  156. jonas’

    Link Mauve, have it be a WebASM program!

  157. Link Mauve

    :D

  158. jonas’

    MattJ, have it be a WebASM program!

  159. MattJ

    You meant Lua script, right?

  160. jonas’

    no, webasm

  161. Link Mauve

    I sure would love having clients upload wasm scripts to their server for processing. :D

  162. jonas’

    though I bet it can be transpiled in that direction, too

  163. jonas’

    Link Mauve, let me tell you about that pubsub option which allows clients to upload an XSLT to generate the <message/>

  164. jonas’

    Link Mauve, let me tell you about that pubsub option which allows clients to upload an XSLT to generate the notification <message/>

  165. Link Mauve

    I know about it.

  166. jonas’

    I'm sure you can build a WebASM interpreter in XSLT

  167. Link Mauve

    I even implemented it in PSĜS IIRC.

  168. Link Mauve

    jonas’, sure, it is turing-complete.

  169. jonas’

    yeah, I know, even though I haven't implemented a WHILE in it yet

  170. jonas’

    I should do that

  171. jonas’

    I also have rust macros in my list for that

  172. jonas’

    (macro_rules!, not proc macros, that would be boring)

  173. Link Mauve

    :D

  174. jonas’

    I also think I might have accidental turing completeness in my metric relay tool, I need to evaluate that

  175. Link Mauve

    Oh no.

  176. pep.

    > She doesn't receive notifications for group chat and all messages just read "You received a message encrypted with OMEMO but your client doesn't support OMEMO. " > I have to send her screenshots from our conversation in the group chat Oh so that's what happens? :o is it all just about notifications? I also have a friend in this case and it's awful experience

  177. zaik

    she doesn't get notifications and can't decrypt the messages.

  178. zaik

    (in group chat)

  179. MattJ

    pep., it's not clear to me what would cause a decryption failure like this, but it's the kind of thing I hope to get to the bottom of with things like mod_debug_omemo (eventually)

  180. MattJ

    Hence my question to Daniel about Conversations' logic for this case yesterday

  181. MattJ

    From what he says, sending a message to the group ought to be enough

  182. zaik

    some indication on the client side about what kind of error is occuring would also be helpful...

  183. MattJ

    Siskin does, iirc

  184. MattJ

    If you get the error icon next to the message you can show more details

  185. MattJ

    If you don't get any error, that also narrows things down :)

  186. MattJ

    I mean, I haven't used vanilla Siskin for a while, but maybe it's as simple as that user having OMEMO disabled for the group

  187. zaik

    https://upload.wiuwiu.de/share.php/6a98048d-3ec7-4417-9690-6e07b82b2e81/a414b065-d1eb-4ed1-be97-414dcf71d540_1.jpg

  188. MattJ

    So it looks like messages from B can be decrypted, but not messages from S or N?

  189. zaik

    B is herself :)

  190. MattJ

    Ah

  191. MattJ

    Which is encrypted. So yes, very strange.

  192. zaik

    and no indication what has gone wrong :(

  193. MattJ

    S and N are using Conversations?

  194. MattJ

    My 90% guess is that the message was simply not encrypted for B's device

  195. MattJ

    But this is up to the sender's client

  196. MattJ

    That's the problem with debugging things like this - there are so many variables, and they are everywhere

  197. MattJ

    e.g. maybe the sender couldn't fetch the keys for some reason

  198. zaik

    > S and N are using Conversations? yes, i am S and on my side all of her keys are 'on'

  199. MattJ

    Which is why I'm trying to gradually surface this kind of debug info in Snikket, so it's accessible when the need arises

  200. MattJ

    If you have the ability to capture the XML of a message that you send, and one that you receive, it would confirm, at least partially, where the problem lies

  201. zaik

    thanks, i can do that when i get home

  202. MattJ

    The sooner we can knock out issues like this, the better for everyone

  203. zaik

    MattJ, I now have the XML capture of a message I sent and one I received from by friend B:

  204. zaik

    https://upload.wiuwiu.de/share.php/8dd70367-1ace-40f1-8d91-ad437714c158/debug.xml

  205. MattJ

    The first is sent by you, the second is sent by them?

  206. MattJ

    (just to confirm)

  207. MattJ

    It looks okay to me, both messages include a key for the other

  208. zaik

    > The first is sent by you, the second is sent by them?

  209. zaik

    > The first is sent by you, the second is sent by them? Yes.

  210. zaik

    > It looks okay to me Hm 😕️

  211. MattJ

    It's annoying that these problems always happen on user devices, not developer devices :)

  212. zaik

    of course :D

  213. zak

    I would like to have the option to send someone a link to a website where they are able to take part in a MUC conversation _without_ installing an app and _without_ creating a JID.

  214. MattJ

    Private MUCs or public?

  215. zak

    In my special case it would be a public room.

  216. MattJ

    There used to be a thing for that, it was at speeqe.com or such (I'm pretty sure the domain is long expired, so I wouldn't recommend visiting the site now)

  217. MattJ

    It had various problems with abuse, as you can imagine. But I suspect we have better tooling to deal with things like that these days (though not eliminate it entirely)

  218. MattJ

    Basing it on invitation links would indeed be interesting

  219. zak

    Of course one should not be able to join anonymously just like that. Just some auth-token that is valid for a specific timeframe given as URL parameter and generated from a client. Maybe even including the nickname and/or the user who created the auth token.

  220. zak

    This way people could join with a simple click on the link. Possibly some of them will later install an app for convenience. The link is just to get them hooked.

  221. msavoritias

    Isnt that kind of what you can do qith your snikket server and the application? From wnat i have heard at least

  222. jonas’

    > _without_ installing an app and _without_ creating a JID.

  223. zak

    Snikket needs a running and maintained Snikked instance.

  224. jonas’

    though I supposed by "without creating a JID" zak meant "without creating a persistently existing or managed JID". you cannot participate in a MUC without any JID :)

  225. MattJ

    Luckily running and maintained Snikket instances are easy to obtain :)

  226. zak

    jonas’, of course. I meant "without the need for the user to create a JID"

  227. MattJ

    But yeah, I don't think Snikket is entirely for the requested use-case

  228. msavoritias

    zak: yeah of course. But the idea is there

  229. zak

    The thing for me is, if I start setting up a Snikket instance and get people onboard there, I would have to keep the instance running for... ever? I don't want to bind myself to this responsibility.

  230. jonas’

    zak, thanks to account import/export or even the possibility of transferring the instance to a hosted service provider, not necessarily

  231. msavoritias

    Why do you have to keep it forever? You can just set the expectations straight. Not always up/ may close down

  232. jonas’

    msavoritias, that's terrible

  233. MattJ

    Same as just about any internet service at this point

  234. zak

    jonas’, how exactly is the workflow for the users?

  235. msavoritias

    I promote xmpp as yoy have to pay for your server.

  236. MattJ

    But with better ability to migrate to (XMPP-based) alternatives

  237. msavoritias

    jonas’: why

  238. jonas’

    zak, if you transfer to a hosted service provider: users are unaffected, just export a backup of your snikket and re-import it at the hosted service provider.

  239. jonas’

    if you do account import/export, every user has to do things and it is very disruptive to their rosters; the story around moved (xep-0283) isn't fully sorted out yet

  240. zak

    jonas’, won't they get a new JID?

  241. jonas’

    zak, no, you can carry the domain in the former case

  242. jonas’

    if the hosting provider offers bring-your-own-domain (which the official one does)

  243. zak

    jonas’, I don't want to host somewhere else. I don't want to host at all.

  244. jonas’

    well, a chat account consumes resources, and someone needs to pay for that, one way or the other.

  245. zak

    That's fine, I just want to be able to let people use one of the already existing servers.

  246. MattJ

    Such as blabber.im

  247. MattJ

    (sorry, couldn't resist)

  248. zak

    Exactly. And exactly the same will happen if people start setting up Snikket instances because it's so easy.

  249. jonas’

    I'm not convineced

  250. jonas’

    I'm not convinced

  251. jonas’

    running a public server has very different incentives and energy/reward trade-offs compared to a private family server

  252. zak

    sure. And there is nothing against setting up a (Snikket- or whatever) Family serevr.

  253. zak

    sure. And there is nothing against setting up a (Snikket- or whatever) Family server.

  254. zak

    I am thinking about use-cases and workflows for WhatsApp-, Signal, etc.- users.

  255. Link Mauve

    zak, what do they do when WhatsApp or Signal closes down?

  256. Link Mauve

    This wouldn’t be the first time a once-huge service shuts down without any migration path.

  257. zak

    Link Mauve, if one of both happens everyone currently in this room gets a bottle of wine from me. 😉️

  258. msavoritias

    Well just ask google or msn

  259. zak

    As I said...

  260. zak

    Disclaimer: Renaming doesn't count.

  261. Link Mauve

    msavoritias, well, Google has some compatibility between their different chat services, and MSN got renamed to Skype, it’s Skype which stopped existing actually.

  262. zak

    Skype -> Skype Business -> MS-Teams

  263. Link Mauve

    Google did shut down Google+ for instance, with no fallback possible for users.

  264. msavoritias

    Still a migration path

  265. msavoritias

    My point is that its better to aim for a lot of servers people van migrate to and make that migration easier. Instead of megaservers that may or may not be here tomorrow.

  266. Link Mauve

    +1

  267. zak

    Before people can migrate, they need to onboard first.

  268. msavoritias

    thats true. personally i would love for the snikket model of invite to be everywhere.

  269. msavoritias

    then i dont have to tell peofle to use passwords and go to obscure sites

  270. zak

    What if the invite-feature could be integrated within ejabberd and/or prosody? But I see that MattJ probably wants this to be "Snikket".

  271. msavoritias

    Isnt it already a XEP? Or am i wrong?

  272. msavoritias

    As far as i know anybody can implement it

  273. MattJ

    It's already a XEP

  274. MattJ

    It's supported in Prosody, Conversations, Siskin, yaxim, and probably others

  275. MattJ

    An ejabberd implementation at some point is hopeful :)

  276. msavoritias

    How can you do it in Conversations actually? Do you just open the invite?

  277. MattJ

    Yes

  278. zak

    Well then I just need to contact my hoster to enable that feature soon. 😀️

  279. MattJ

    Conversations supports both xmpp: format invites and https://conversations.im/i/

  280. zak

    Ah wait, I think this is different? The account creation is separate from the invite feature, isn't it?

  281. zak

    and then there is the contact-discovering issue... all integrated in Snikket only.

  282. MattJ

    Implemented practically everywhere, integrated... in Snikket

  283. msavoritias

    I cant wait for conversations 3. Maybe some defaults change then

  284. MattJ

    msavoritias, which defaults in particular?

  285. msavoritias

    One of them being the invite to be more prominent. Maybe contact discovery too. Also new omemo and mix for groups would be nice among others

  286. zaik

    I wrote a short paragraph on the OSM wiki on how to join the IRC channels from an XMPP client here: https://wiki.openstreetmap.org/wiki/IRC If I click open the MUC link in Conversations, it says 'invalid XMPP address'. Anyone know how to fix the URL?

  287. Link Mauve

    zaik, most likely you forgot to encode the # and % for URIs.

  288. Link Mauve

    Just like in http: URIs you have to escape e.g. a space character into %20 (I’m sure you’ve experienced that already), in xmpp: URIs it’s the same.

  289. Link Mauve

    %23 and %25 for these two characters respectively.

  290. Link Mauve

    zaik, also you made a typo, the text says #osm but the link links to #osm-at.

  291. zaik

    if i use %23 and %25 it doesn't work in gajim anymore... :( > text says #osm but the link links to #osm-at that's true I should fix that

  292. zak

    Making XMPP an alternative to IRC would be another approach.

  293. jonas’

    approach to what?

  294. msavoritias

    Well xmpp is kind of an alterative. At least from what i read it was intended to be. Poezio goes that way. But i dont think it makes much sense

  295. Sam

    Oh huh, yah, hadn't noticed this before but Gajim appears to be broken and isn't doing URL decoding

  296. Sam

    lovetox: ^

  297. Link Mauve

    zaik, the correct way is to decode the URI encoding, Gajim is at fault here.

  298. zak

    approach to get XMPP to more people

  299. zaik

    thanks, I fixed it now and it works with Conversations :)

  300. Link Mauve

    Also we do have a French OSM room at xmpp:osm-fr@chat.jabberfr.org?join, you get encouraged to join it whenever you do a modification on any part of France at https://osm.org

  301. Link Mauve

    Other local OSM communities could do the same.

  302. Link Mauve

    Other local OSM communities could do the same instead of relying on IRC.

  303. zaik

    Currently there are France, Germany, Hamburg and Berlin-Brandenburg OSM communities on XMPP: https://community.osm.be/

  304. zaik

    I would start an local OSM MUC, but I don't know anybody who would join :(

  305. zak

    Those MUCs need to be advertised on the webpage as well of course.

  306. zaik

    not sure if a MUC with a single occupant qualifies for the community index...

  307. zaik

    i think there needs to be an community not just the intention of one

  308. zak

    There are "Community" links with IRC-Chats on almost every bigger software project page. If only a third would change these for XMPP-MUCs at least more people would know about XMPP.

  309. jonas’

    as I pointed out elsewhere… I don't see much value in changing those into XMPP

  310. jonas’

    IRC is a good baseline

  311. jonas’

    if they don't like IRC anymore, then sure, that's a different question.

  312. jonas’

    but a community happy with IRC changing to something else can only lose

  313. jonas’

    because both XMPP and Matrix bridge well to IRC

  314. zak

    I don't like IRC. It's like Perl, but without Features.

  315. jonas’

    better IRC than Matrix

  316. msavoritias

    Irc is nice for what it is. Ephemeral, open rooms

  317. zak

    Sure. But the Matrix train is already relling.

  318. jonas’

    s/Ephemeral/Ephemeral or long-lived/

  319. msavoritias

    jonas’: definetily. I am not creating a matrix account for projects

  320. zak

    I am not really against IRC, but I think XMPP could find users there. Just for promoting XMPP more.