XSF Discussion - 2024-03-14


  1. Daniel

    Should we perform some clean up in the editors section https://xmpp.org/about/xmpp-standards-foundation/ I don't know if those people are officially still editors or if they need to step back from their roles or if board needs to perform any actions here

  2. Daniel

    I've updated https://xmpp.org/extensions/inbox/xep-mds.html with accessibility, privacy and design considerations

  3. Guus

    Hmm, the legal notices in xeps seem to use '1999-2020' as the date range for copyright.

  4. Guus

    We can/should simply update that, right? https://github.com/xsf/xeps/pull/1332

  5. Guus

    Daniel: If we do perform a cleanup of the editor list, then this likely requires some changes that access control too. It makes sense to me to tidy that up. Not that I'm not trusting these people, but it's good practice to sanitize things a bit.

  6. Daniel

    > We can/should simply update that, right? https://github.com/xsf/xeps/pull/1332 Well I think the main copyright notice for each xep is generated from the actual creation date and the last edit (which is the correct way). I don't know why there is a sort of secondary copyright notice that spans the entire xsf history.

  7. Daniel

    However your PR is at least more correct than the arbitrary - 2021

  8. Guus

    What are the go-to XMPP libraries for typescript?

  9. singpolyma

    Guus: xmpp.js

  10. Guus

    That's not typescript, is it?

  11. Guus

    Customer evaluating client libraries writes this: > Some of these libraries have barely a couple of posts on stack overflow, so we are starting to think we are missing something.

  12. Guus

    :/

  13. MattJ

    That's because they are so easy to use

  14. Guus

    hehe, same person: > [It] but does not support some needed standards, [basic feature] does not work, and we find almost no documentation and only 3 examples

  15. singpolyma

    > That's not typescript, is it? I don't know if there is a typings file or not. Obviously there could easily be

  16. singpolyma

    What are they trying to do?

  17. Guus

    Create a new client.

  18. Guus

    They're evaluating what library to use

  19. Zash

    https://stackoverflow.com/questions/tagged/xmpp#h-related-tags suggests they should use strophe.js or rethink whether they should use java instead

  20. singpolyma

    Web client I guess? There are only 3 options I'm aware of, xmpp.js, strophe.js, stanza.js. I certainly prefer and am investing in xmpp.js personally

  21. singpolyma

    These libraries are low to mid level so no you don't expect them to implement all the XEPs for you

  22. Guus

    None of them seem very actively maintained, sadly. (I know Matt, that's because they're finished and bug-free, obviously!)

  23. Guus

    I'm complaining a lot about things that are no-ones responsibility (and that I could help fix myself). I'm just sharing a realization that for potential new users of the protocol, the pickings are slim.

  24. Zash

    Perfection would not get any contributors or mentions in support forums.

  25. Guus

    Zash, I'm kind of counting on you to sing praise about individual projects in random communities on a regular basis, as our chief celebration officer!

  26. Zash

    XMPP is a hacky mess, but it's our hacky mess and we will keep improving it! :D

  27. Guus

    that's the spirit!

  28. junaid

    > Zash, I'm kind of counting on you to sing praise about individual projects in random communities on a regular basis, as our chief celebration officer! I approve this message 😁

  29. Squeaky Latex Folf

    I've been using this protocol so much that I really really should contribute to the clients I use

  30. Squeaky Latex Folf

    Problem is that I can't get the hang of Psi+ C++ codebase, which is my favourite client at this time

  31. Squeaky Latex Folf

    Guess I should shift my focus to Profanity or something

  32. Kev

    > Problem is that I can't get the hang of Psi+ C++ codebase

  33. Kev

    I resemble that remark :)

  34. Guus

    Contributions can come in many forms

  35. moparisthebest

    Make a new client :)

  36. moparisthebest

    We need some more diversity on all platforms

  37. MSavoritias fae.ve

    we need a plan9 and a hurd client i feel

  38. jonas’

    ESP32!

  39. jonas’

    ESP32-C3!

  40. moparisthebest

    I *use* an XMPP client from my Atari 800xl which is orders of magnitude less capable than any ESP, plan to make a native one soon :)

  41. moparisthebest

    40 columns of glory...

  42. Seve

    > ESP32-C3 Has anybody compiled libstrophe for ESP32 that you know of? (I know you probably mention C3 due to Rust, but still)

  43. jonas’

    Seve, I have not. the main limiting factor is that there's no epoll implementation, which I *think* should be ok with libstrophe.

  44. moparisthebest

    People got rust tokio running on the regular esp32 right? So xmpp-rs should work no problem

  45. jonas’

    moparisthebest, have they? IIRC the lack of epoll is what breaks the camel's neck.

  46. singpolyma

    Really? Is there an os?

  47. jonas’

    (mio backs tokio and needs epoll; I was looking into getting it to run without, but it was a very entangled mess)

  48. jonas’

    singpolyma, something similar to that, yes.

  49. jonas’

    they provide a libc, at least.

  50. jonas’

    and memory allocator, thraeds, some kind of non-volatile storage. Yes, it's an OS.

  51. jonas’

    and memory allocator, threads, some kind of non-volatile storage. Yes, it's an OS.

  52. jonas’

    network stack, too, obviously.

  53. moparisthebest

    jonas’: I would have swore you linked tokio on esp, now I'll have to search

  54. jonas’

    moparisthebest, > esp32 support still requires the experimental mio_unsupported_force_poll_poll feature.

  55. jonas’

    mio has been architectures to be edge-triggered, which poll() is not (it's level-triggered). so it can get into funny infinite loops in the worst case (or so is at least my understanding).

  56. moparisthebest

    That means "it works" right ?

  57. jonas’

    "it works most of the time and will blow up in your face in weird, non-obvious, and unexpected ways"

  58. singpolyma

    And dhen you reboot

  59. singpolyma

    And then you reboot

  60. jonas’

    yeah

  61. MSavoritias fae.ve

    that sounds like a normal computer to me

  62. jonas’

    :D

  63. jonas’

    MSavoritias fae.ve, the thing is, I have higher expectations on such devices.

  64. MSavoritias fae.ve

    microcontrollers?

  65. jonas’

    I've embedded systems with many many days of uptime doing the right thing. Some even running on 128 bytes of RAM.

  66. jonas’

    yes.

  67. MSavoritias fae.ve

    fair

  68. jonas’

    (sorry my english is a bit borked today)

  69. MSavoritias fae.ve

    no worries

  70. moparisthebest

    XMPP clients running for many days? By then you'll have silently disconnected from all the MUCs anyway 😭

  71. MSavoritias fae.ve

    sounds like the hacky mess mentioned earlier

  72. Link Mauve

    My client has been running for two months already, since the last time I upgraded my kernel.

  73. jonas’

    moparisthebest, ah, no, those aren't running XMPP clients

  74. jonas’

    moparisthebest, also, my record uptime of poezio was more than a year

  75. jonas’

    (running an xmpp client in 128 bytes of RAM would be quite a feat, though)

  76. MSavoritias fae.ve

    a client in forth could be interesting

  77. jonas’

    (and with just 2kB of program code space)

  78. Zash

    MSavoritias fae.ve, build it and they will come

  79. MSavoritias fae.ve

    heh

  80. jonas’

    they?

  81. jonas’

    that sounds like a threat.

  82. Zash

    the forth enthusiasts

  83. Zash

    ... will come forth 🥁️

  84. jonas’

    🥁

  85. moparisthebest

    > moparisthebest, also, my record uptime of poezio was more than a year Poezio running on my server disconnects from MUCs daily, Dino whenever the breeze blows wrong, and Conversations/Cheogram every few days 🙉🙈

  86. Zash

    I have some sort of GTK-Wayland issue that closes Dino whenever I look at it sideways

  87. Zash

    Much fun

  88. SavagePeanut

    IME Conversations only loses MUC connection when the MUC server restarts

  89. SavagePeanut

    Dino doesn't like running for more than a day though

  90. Zash

    I made a server-side thing that checks if you're still in the MUC afterwards, and tells you if not.

  91. moparisthebest

    > I have some sort of GTK-Wayland issue that closes Dino whenever I look at it sideways Half the time when I toggle the account on and off in Dino to force a reconnect it crashes, and that's in X :)

  92. jonas’

    dino has been mostly stable here after i stopped using it on the account which is joined to a couple dozen MUCs

  93. Zash

    I don't remember falling out of any MUCs in recent time. XEP-0198 is also more wide-spread now. Much good.

  94. jonas’

    also Prosody's secret sauce for seamless restarts

  95. moparisthebest

    GTK seems to get significantly worse in every release, I don't actually blame Dino here

  96. jonas’

    certainly, yes.

  97. moparisthebest

    Yea joined to probably 100 MUCs

  98. Zash

    inb4 Link Mauve points out that those are rookie numbers ;)

  99. moparisthebest

    MSavoritias fae.ve: I'm going to guess what you might be thinking :) but MIX is actually significantly worse than MUC in this scenario

  100. MSavoritias fae.ve

    what is this a reply to?

  101. MSavoritias fae.ve

    i am missing context

  102. moparisthebest

    At least with muc when my clients/servers come back up and rejoin I haven't lost any messages

  103. moparisthebest

    > sounds like the hacky mess mentioned earlier In response to this and MUC disconnects

  104. MSavoritias fae.ve

    ah i never replied to those :P

  105. MSavoritias fae.ve

    idk if MIX does it better

  106. MSavoritias fae.ve

    but after the last xsf conference i do plan to do another round of research when its time to implement group chats

  107. MattJ

    MUX!

  108. MSavoritias fae.ve

    but i still have time for that. need to make xmpp work over GNS first and see about gnunet on spritely

  109. MSavoritias fae.ve

    > MUX! thats what got me curious yes :)

  110. Zash

    inb4 ΜΩΧ

  111. SavagePeanut

    > but after the last xsf conference i do plan to do another round of research when its time to implement group chats 👀 what are you working on?

  112. MSavoritias fae.ve

    an xmpp client that is p2p based on Spritely, and with discovery over GNS (The Gnu name System). Routed over gnunet and with principles of networks of consent. https://git.sr.ht/~msavoritias/Guile_XMPP

  113. MSavoritias fae.ve

    thats the library part

  114. SavagePeanut

    Neat. Since it's p2p it won't be compatible with the rest of the network? Or is it glued onto a server

  115. singpolyma

    >> moparisthebest, also, my record uptime of poezio was more than a year > Poezio running on my server disconnects from MUCs daily, Dino whenever the breeze blows wrong, and Conversations/Cheogram every few days 🙉🙈 That's... Odd, since we have self ping

  116. MSavoritias fae.ve

    > Neat. Since it's p2p it won't be compatible with the rest of the network? Or is it glued onto a server the library is the "server". idk if it can be made to be compatible. spritely has support for tls+tcp so it the network backend is there. but DNS and all the validation and such is not something i want to bother with personally

  117. MSavoritias fae.ve

    but then again i wont have jids with domain part it will be egos from GNS so yeah probably not possible without large rewrites

  118. SavagePeanut

    Sounds like a job for a Prosody plugin :)

  119. singpolyma

    MSavoritias fae.ve: you meae with only a domain part?

  120. MSavoritias fae.ve

    yes to my understanding. which from what i know could be done to work in the federated xmpp too

  121. singpolyma

    Yes

  122. MSavoritias fae.ve

    egos are basically a dns zone. so imagine that you create an ego and that servers as your dns zone and identity. so if you have a domain under your ego it will be youtube.<the ego identifier>

  123. MSavoritias fae.ve

    and GNS is completely backwards compatible with DNS under the alt domain

  124. MSavoritias fae.ve

    so if DNS is implemented there could be DNS to GNS and back communication.

  125. MSavoritias fae.ve

    tbh i am kind of tempted now to see if it would even work

  126. moparisthebest

    > MUX! My immediate reaction is that's pronounced the same way as MUCs but then... How often would I need to say this out loud? Probably never!