XSF Discussion - 2020-01-31


  1. pep.

    https://github.com/xsf/memberbot \o/ (Thanks MattJ)

  2. MattJ

    Now the question is who gets access to it

  3. pep.

    Alex at least(?)

  4. pep.

    I mean, "The Secretary"

  5. pep.

    And ..

  6. Alex

    someone who is better at python than I am to help reviweing PRs ;-)

  7. Zash

    Reviewing doesn't require any special privileges, does it?

  8. jonas’

    I’ll "watch" that repository and see what I can do

  9. pep.

    Same

  10. pep.

    Link Mauve, ^

  11. MattJ

    Yeah, I'm going to leave it read-only until someone needs to modify it

  12. pep.

    https://xmpp.org/extensions/xep-0121.html TIL

  13. pep.

    "Dublin Core Infobits Mapping"

  14. jonas’

    TIL: pidgin understands OOB, to the extent that it marks the entire body as link (probably to the OOB’d URL)

  15. j.r

    Hi, is there currently a way to implement puppet bridging for MUCs? Like if I have a public MUC and want to bridge it to some other service and wan't all users from the other service appear to be own MUC users.... (I know about the component way and writing a own MUC service, but that doesn't fullfill my usecase really and is much work to implement)

  16. MattJ

    Is the other service XMPP too?

  17. j.r

    MattJ, nope in the specific case it's Telegram.... but it should be exchangeable

  18. MattJ

    I think there was a bridge for that

  19. MattJ

    I think matterbridge supports it?

  20. j.r

    MattJ, I know there is Matterbridge.... I host it myself.... but Matterbridge does no puppet bridging.....

  21. MattJ

    Feature request then :)

  22. j.r

    MattJ, I did.... but that's why I'm asking how you could implement this in XMPP.....

  23. MattJ

    Not sure what "this" is

  24. j.r

    Puppet bridging.... so every user from the other platform is a own user in the muc

  25. MattJ

    Sure

  26. MattJ

    Usually in XMPP (which has had bridges, aka transports, aka gateways, for 20 years) a bridge is a component, it can act as any user it wants (on a given domain)

  27. MattJ

    It sounds like matterbridge connects as a client, and not a component, so is limited to just one JID

  28. Zash

    One thing tho, all the puppets each receive a copy of every message, which might be annoying, but easy to ignore.

  29. MattJ

    Even then it could use multiple resources, but that would require multiple connections to the server which would be icky

  30. j.r

    Yeah I also thought about ressources and yes this is not that nice.....

  31. j.r

    And yes Matterbridge acts as a client because the use case is more like you want to bridge existing MUCs.....

  32. MattJ

    There's nothing to stop you doing that

  33. j.r

    What dou you mean with 'that'?

  34. MattJ

    Bridging to existing MUCs

  35. moparisthebest

    j.r: https://github.com/moparisthebest/xmpp-ircd works like that (it's a component, each IRC user is a unique muc member)

  36. MattJ

    Nice

  37. j.r

    MattJ, but that does not seem to be possible with components.... so I have it needs to be done the hacky resource way?

  38. j.r

    moparisthebest, I'll have a look

  39. MattJ

    j.r, I just said, it's possible with components

  40. MattJ

    Anything is possible with components

  41. j.r

    xD

  42. MattJ

    A component could act as a MUC service, or it could act as a bunch of clients, it's up to the software

  43. j.r

    Yeah I'll give it a try

  44. pep.

    MattJ: larma has a draft xep locally to have bots add information to that would allow clients to know from which participants what message came. that would allow for better display

  45. Zash

    Bot hats?

  46. moparisthebest

    that's interesting

  47. Zash

    Wait, what?

  48. moparisthebest

    the security considerations on that xep also have to be extremely interesting (by the way everyone I'm actually pep.) (see? >:))

  49. Zash

    Wait, not just the nickname XEP?

  50. moparisthebest

    Zash, I guess so a single user could "be" multiple nicknames?

  51. Zash

    https://xmpp.org/extensions/xep-0172.xml ?

  52. Zash

    Like in Example 4

  53. moparisthebest

    oh yea, I vaguely remember Conversations having a bug there

  54. Zash

    Tho if you have some marker (a Hat!) that says "this is a bridge bot, it's allowed to pretend to be other users" then that'll work

  55. j.r

    moparisthebest, as far as I understand the components way of xmppircd has still the problem that you need to have multiple connections to the muc service right?

  56. Zash

    Why do you think that?

  57. Zash

    Components don't have connections to MUCs at all, they have one connection to their host server, which handles all routing and such for them.

  58. j.r

    Zash, oh no I though wron xD It's just on s2s to the muc service.....

  59. moparisthebest

    j.r, nope, so a component is a domain, say something.example.org, it can do anything a domain in XMPP can do, so send messages from user1@something.example.org and user2@something.example.org etc etc

  60. moparisthebest

    so your component just has the 1 connection to your XMPP server

  61. moparisthebest

    which then may have various s2s connections and so forth

  62. j.r

    moparisthebest, and the xmpp server has one connection to the muc server now i understand

  63. moparisthebest

    unless it is the muc server and then none, but, yes :)

  64. Zash

    So Components are middle ground between simple client connections and s2s connections.

  65. j.r

    Zash, yeah I understoof components but not how moparisthebest used them

  66. moparisthebest

    a bot that can use multiple nicknames in a muc though... duplicates might be rough, and I guess message with nickname wouldn't be enough Zash , because you'd want it to populate the members list?

  67. Zash

    Myeah

  68. Zash

    Something like the nickname thing would still be a step up for such bridge bots

  69. moparisthebest

    what stops them from just being a component though?

  70. Zash

    Lack of privileges or API capabilities.

  71. Zash

    Never seen that kind of bot in XMPP actually, only in other things.

  72. moparisthebest

    which kind?

  73. Zash

    The kind that post messages from The Other Side with text like "$user: $message" or somesuch.

  74. MattJ

    ugh

  75. Zash

    Last such I saw was a Matrix bridge on Gitter

  76. Zash

    And waaaaaay back the Skype bot we had worked like that on the Skype side because there's no proper API for Skype, but on the XMPP side it was "puppets", ie looked like normal MUC participants.

  77. Kev

    I've seen an XMPP bridge bot :)

  78. Kev

    I don't remember if that's because I wrote it or not.

  79. moparisthebest

    rather than solve the specific MUC case, you could have a "I'm connecting like a client but actually want an entire domain and to operate like a component" standard

  80. Zash

    https://matrix.org/docs/guides/types-of-bridging/ has some text on the various kinds, also applicable to XMPP.

  81. MattJ

    I can't read that page

  82. MattJ

    I've tried many times before

  83. Zash

    Mentally translate "appservice" to "component".

  84. MattJ

    Semi half-puppted double-backwards unplumbed bridge

  85. moparisthebest

    I also thought I had a solid handle on bridging but am now thoroughly confused

  86. Zash

    Read the headings, guess the rest and write your own version? :D