XSF Communications Team - 2019-02-26


  1. jc

    I still want to create a pubsub module for converse.js that can be used to add comments to a website

  2. jc

    Just don't have the time at all 😒

  3. pep.

    jc, yeah helping on that pubsub thing is also in my todo somewhere. That would force people to get XMPP accounts, so we also need to work on the onboarding story I guess

  4. jc

    Converse already supports OAuth login, so that could be extended upon to make it easier for people to comment

  5. pep.

    Hmm, would that application be attached to the blogger's XMPP server or sth?

  6. jc

    Could provide a hosted service and if people want to set it up themselves they can as well

  7. pep.

    How does the OAuth thing work? You can limit authorized providers right?

  8. jc

    yes

  9. pep.

    Ok. That would still mean duplication (of accounts) I guess, if some people use the hosted service, and some others use self-hosted services. People using oauth would create accounts on all of these instances

  10. pep.

    *confusion ensues*

  11. jc

    Not if federation is enabled

  12. pep.

    How do I know as a self-hoster what is the identity authority for the guy using oauth?

  13. jc

    Why do you care?

  14. jc

    If you're federating you don't have anything like that for other XMPP servers

  15. pep.

    I don't understand

  16. jc

    You need an XMPP server which supports OAuth login, so ultimately it is still an XMPP account

  17. pep.

    Sure

  18. jc

    And if you federate, then there's not much difference between an OAuth account or a normal account

  19. pep.

    There is

  20. pep.

    Well

  21. pep.

    Ok we're not aligned here

  22. jc

    Ah, you mean the client doesn't allow all authority providers

  23. jc

    well, then that's the way it is

  24. pep.

    No I'm saying,

  25. pep.

    HosterA, HosterB, Github, userA. userA first creates an account at HosterA using their Github identity,

  26. pep.

    They now have access to AccountsA

  27. pep.

    userA goes to HosterB, do they create an account? What if they don't understand anything at XMPP and they just try to login using OAuth again, creating AccountB on HosterB

  28. pep.

    How does HosterB knows in the first place that AccountA is even a thing

  29. jc

    Depends on how HosterB is set up

  30. jc

    But yes, it could happen

  31. pep.

    That's why I was talking about account duplication, federation or not

  32. pep.

    Or you'd create another big node of users, that hosted service

  33. jc

    Comments aren't federated currently anyway, so either you have a centralized account on Disquss, or on each site that uses its own comments you have a new account

  34. pep.

    If you look at things on the web, that's true

  35. pep.

    If you look at things done in XMPP currently, that's less true

  36. jc

    Yes, I was thinking of having a de facto XMPP server handling OAuth accounts, and people could delegate to that

  37. jc

    And if they really want to self-host OAuth accounts, then they can, then there's account duplication

  38. pep.

    Well the best would be for github to have their own account

  39. pep.

    Well the best would be for github to have their own xmpp server

  40. pep.

    Best, yes and no

  41. jc

    The way I set up OAuth is for each OAuth provider to have it's own VirtualHost on the Prosody server

  42. pep.

    That would be yet another huge hub of users

  43. pep.

    Rigt

  44. jc

    And you could configure converse.js to use those hosts by default

  45. pep.

    Rigth

  46. pep.

    That doesn't really solve my problem, but then I don't know if much can be done for that either

  47. jc

    what is your problem?

  48. SouL

    Having all users at the same place?

  49. pep.

    SouL, that's a problem that arises while trying to solve my problem :/

  50. pep.

    My first issue is,

  51. pep.

    I would like userA to be able to reuse the first account they created on HosterA, while not especially be XMPP-savvy

  52. pep.

    I would like userA to be able to reuse the first account they created on HosterA, while not especially being XMPP-savvy

  53. jc

    That's fine, as long as the client is using the default configuration

  54. jc

    Then it'll route Github logins to the right XMPP sever

  55. pep.

    And I don't want to limit userA to the one big hoster out there

  56. jc

    Well, that's really the issue πŸ™‚ In that case, they shouldn't use OAuth, and 99.99% of the people who use OAuth wouldn't care about it IMO

  57. pep.

    True..

  58. jc

    By using OAuth they're indicating that they don't care

  59. pep.

    But then,

  60. pep.

    Do "we" the community "design" somebody who's going to play the github identity provider? :/

  61. pep.

    Because that's essentially what you're saying no?

  62. jc

    I'm not thinking of doing this for the XSF

  63. pep.

    sure, XSF or not

  64. jc

    This is a personal project, and maybe I can charge for hosting

  65. jc

    And I'd be happy to work with people on it

  66. jc

    Since I'm overloaded as it it

  67. jc

    Since I'm overloaded as it is

  68. pep.

    Yeah that's also something I'd like to work on tbh

  69. SouL

    It is something we need, so..

  70. jc

    I'm looking for sustainable ways to work on Converse.js, and that means generating income

  71. jc

    Not just for me, but for everyone involved of course

  72. pep.

    One other thing, you say "as long as the client is using the default configuration, then it'll router Github logins to the right XMPP server", that means you expect self-hoster to also route github logins to that one big hub?

  73. jc

    pep. Well, once you have time, let me know and we can discuss how to go about it

  74. jc

    pep. Unless they configure the client to not do it

  75. jc

    It's the default

  76. jc

    Most people want to allow people to log in with OAuth, because most bloggers want to lower the barrier to entry for spam

  77. jc

    Most people want to allow commenters to log in with OAuth, because most bloggers want to lower the barrier to entry for spam

  78. jc

    Most people want to allow commenters to log in with OAuth, because most bloggers want to lower the barrier to entry for comments (haha

  79. jc

    Most people want to allow commenters to log in with OAuth, because most bloggers want to lower the barrier to entry for comments (haha)

  80. jc

    Freudian slip

  81. pep.

    :D

  82. jc

    I was thinking about spam

  83. pep.

    Ok, so really the identity provider I'm trusting is BigHoster, not Github

  84. jc

    You're trusting BigHoster, but I'm not sure it's correct to call it the identity provider

  85. jc

    Github is the identity provider

  86. pep.

    In the case of XMPP it isn't. as self-hoster if I have them create an account on bighoster, I'm trusting bighoster :P

  87. pep.

    I don't even have to know about github

  88. jc

    You're gonna have an order of magnitude more spam from normal XMPP accounts, than from OAuth/BigHoster accounts πŸ™‚

  89. jc

    true

  90. pep.

    Yeah it's not a case of "I'm worried about spam"

  91. jc

    what are you worried about?

  92. pep.

    Just trying to understand and make things clear

  93. pep.

    Trust is always an issue :P

  94. jc

    Any other XMPP server you're federating you have to trust

  95. jc

    BigHoster is just another one

  96. jc

    Any other XMPP server you're federating with you have to trust

  97. pep.

    True

  98. pep.

    btw, unrelated, these 4 messages above were supposed to be LMC?

  99. jc

    Yes

  100. pep.

    I only got the first one corrected

  101. pep.

    20:40:59 jc1> Most people want to allow commenters to log in with OAuth, because most bloggers want to lower the barrier to entry for spam 20:41:07 jc> Most people want to allow commenters to log in with OAuth, because most bloggers want to lower the barrier to entry for comments (haha 20:41:09 jc> Most people want to allow commenters to log in with OAuth, because most bloggers want to lower the barrier to entry for comments (haha)

  102. jc

    Bug in poezio πŸ˜›

  103. pep.

    Impossible!

  104. jc

    Oh, Converse.js allows editing earlier messages than the last

  105. jc

    Could be that

  106. Link Mauve

    jc, poezio too.

  107. pep.

    nah, poezio should also

  108. Link Mauve

    jc, my guess is that you corrected the first id three times, while poezio replaces the entire message with the correction as per the XEP, including the id.

  109. jc

    Link Mauve: that sounds right

  110. jc

    So Converse is not spec-compliant?

  111. pep. gets his pointy fingers to point at converse

  112. pep.

    :P

  113. jc

    I don't actually see that the XEP says this explicitly

  114. jc

    Link Mauve: Can you quote where in the XEP this is said?

  115. Link Mauve

    Hmm, β€œIt is expected that the receiver SHOULD then treat the new stanza as complete replacement for all the payloads received in the original stanza.”

  116. Link Mauve

    That may mean only payloads, and not attributes of the outer message.

  117. Link Mauve

    But then, why?

  118. pep.

    why what? What this SHOULD?

  119. pep.

    I guess it's mostly for consistency?

  120. jc

    Well well well...

  121. jc

    πŸ˜›

  122. SouL grabs the popcorn

  123. jc

    Should I make a bug report for Poezio? πŸ˜‰

  124. SouL

    Booom

  125. SouL

    Haha

  126. SouL is just joking :D

  127. Link Mauve

    jc, or a fix to the XEP to specify that the stanza replaces the old one, period?

  128. jc

    I'm not sure that this is better...

  129. pep.

    err, do you really want to do that?

  130. Link Mauve

    pep., that’s what we do yes.

  131. jc

    They all replace the original stanza

  132. jc

    I can see arguments for both ways of doing things

  133. Link Mauve

    It avoids having to go back in the history tree up to the root stanza and modify it again.

  134. pep.

    What about all other payloads in the stanza? That means you can remove anything outside of <body/>?

  135. pep.

    (well it's already used for xhtml-im etc., I guess, and also omemo, pgp, and whatnots)

  136. pep.

    Or wait no, not OMEMO

  137. pep.

    Or at least it shouldn't, privacy [blah blah]

  138. Link Mauve

    pep., yes, all of the payloads, and here I argue that it should also replace the attributes of the stanza.

  139. pep.

    That's not generally something I'm really fond of, mutability :x

  140. pep.

    Also, "hijack commteam@ for your new pet bug 101", available today in your syllabus

  141. jc

    Nothing we've talked about this whole conversation is relevant to this MUC

  142. pep.

    True

  143. pep.

    "How to put XMPP MUCs to good use"

  144. pep.

    So.. open a bug on poezio, and converse, with a "This needs to be resolved by trial by combat on standards@"?

  145. jc

    Well, Converse is spec-compliant as it's currently written

  146. pep. falls, pointy fingers twisted, defeated

  147. SouL

    xD

  148. pep.

    jc, https://lab.louiz.org/poezio/poezio/issues/3462 :)

  149. jc

    πŸ˜‡