XMPP Council - 2023-01-26


  1. pep.

    Melvo has a point re /me in CS.

  2. daniel isn’t a huge fan either

  3. larma

    agree it should probably be rather advanced client only

  4. pep.

    It shouldn't make it to CSs at all IMO

  5. daniel

    I’m actually not sure if slack or element support it?

  6. larma

    you could argue the same about avatars

  7. daniel

    but i'm inclined to get rid of it

  8. larma

    Slack does

  9. larma

    element too

  10. pep. is cruft straight from the past or our tech circles

  11. pep.

    fail.

  12. pep.

    /me

  13. larma

    Or precisely, Matrix does natively (on wire /me messages are different to non-/me messages)

  14. pep.

    "//me foo" sends /me in poezio..

  15. pep.

    larma, fwiw I think they should also be on XMPP

  16. pep.

    "/me " is yet another terrible body hack

  17. larma

    agree

  18. Kev

    Terrible, yes. It's a wonder that the network has been able to survive under the weight of it for so many years.

  19. pep.

    Kev, it really is! :)

  20. larma

    Kev, body hacks typically don't hurt except if you want to send something that a body hack would transform

  21. Kev

    It's inelegant, we might not design it this way these days, but it's not onerous in the grand scheme.

  22. Zash

    Did someone say '393

  23. pep.

    It's like saying philantropist billionaires are great, except when they actually get you to accept the fact that billionaires should be a thing. /me is a well-accepted body hack and it contributes to making it ok to do body hacks.

  24. pep.

    It's like saying philantropist billionaires are great, except that they actually get you to accept the fact that billionaires should be a thing. /me is a well-accepted body hack and it contributes to making it ok to do body hacks.

  25. Kev

    I thought that. The /me command and extreme wealth inequality are almost directly equivalent things.

  26. MSavoritias (fae,ve)

    whats the replacement?

  27. Kev

    Communism?

  28. MSavoritias (fae,ve)

    XD i meant /me

  29. MSavoritias (fae,ve)

    i didnt know it was such a hack

  30. pep.

    MSavoritias (fae,ve), not doing it, or doing something better, that is a specific tag in <message>

  31. daniel

    we would charge a $0.02 fee for every /me command send

  32. larma

    - Message sending "/me tests" `{ "type": "m.room.message", "content": { "msgtype": "m.text", "body": "/me tests" } }` - Message sent when typing "/me tests" in client supporting it in Matrix: `{ "type": "m.room.message", "content": { "msgtype": "m.emote", "body": "tests" } }`

  33. daniel

    a sort of tax if you will

  34. Zash

    and then that tax will go towards authoring a replacement XEP?

  35. Zash

    (and maybe the XSF Dinner)

  36. Kev

    Of all the problems that are there to be solved in XMPP - both future features and cleanup of existing inelegancies, I struggle to believe that '/me' is really worth our time. It feels like the sort of issue where although there's bigger decisions to be made, people will weigh in on this one because it's easier to grasp. Someone should come up with a term for such a thing...

  37. pep.

    Removing it from CSs should be no biggie though..

  38. pep.

    That doesn't mean clients should remove it as a feature

  39. Kev

    Except that it's a feature that client authors need to implement to not have their users get displayed weird messages.

  40. Kev

    This isn't some niche XMPP-only thing. It's common across IM ecosystems.

  41. pep.

    Because nerds use it

  42. daniel

    because slack and discord have it

  43. daniel

    apparentaly

  44. pep.

    Who uses that in slack and discord though

  45. larma

    pep., notice though, that non-nerd-platforms like Slack, Discord, etc. today use Markdown as rich-text input because nerds built it and made some small tutorial how to use it and now everyone des

  46. pep.

    and do we have to copy everything they do

  47. larma

    pep., notice though, that non-nerd-platforms like Slack, Discord, etc. today use Markdown as rich-text input because nerds built it and made some small tutorial how to use it and now everyone does

  48. daniel

    to some degree yes

  49. daniel

    and they copied us (and IRC)

  50. pep.

    daniel, you're saying we should have removed that years ago? :P

  51. pep.

    And now we're stuck with it because devs are nerds

  52. Zash

    Except in IRC it's a client to client command, not a literal "/me blah" message.

  53. pep.

    We haven't even manage to copy IRC properly :D

  54. Zash

    Type `<action>verbs</action><body>/me verbs</body>` into a XEP and send it in!

  55. MSavoritias (fae,ve)

    if its a hack i agree on removing it

  56. MSavoritias (fae,ve)

    its not like profanity is gonna look at CS and be like we have to remove it to be "compliant"

  57. Kev

    MUC is full of hacks. Should we remove '45 on that basis?

  58. Zash

    Not until there are server-side MUC-to-MIX translation layers everywhere!

  59. pep.

    Well it's an not a hack anymore it's an institution now. Look any talk about even just removing it from CSs is frowned upon :P

  60. MSavoritias (fae,ve)

    Remove it for MIX i say

  61. larma

    Zash, and even then, it should still be in there because devs can just choose one or the other to be fully compliant with groupchats

  62. pep.

    MSavoritias (fae,ve), it's not a groupchat thing

  63. MSavoritias (fae,ve)

    then only kaidan is compliant :P

  64. pep.

    https://xmpp.org/extensions/xep-0245.html

  65. MattJ

    Are we against "/me", or are we saying XMPP shouldn't support/require clients to be able to display action messages?

  66. pep.

    MattJ, the latter for me

  67. MattJ

    Even though many other messengers do support those things, and people will say it's the one thing XMPP needs to be successful

  68. MattJ

    Feels like a step backwards :)

  69. Zash

    People *did* say that!

  70. pep.

    People say everything you want to hear

  71. Zash

    MattJ, remember when the old chat.prosody.im didn't support /me ?

  72. MattJ

    Yup

  73. larma

    I'd say it's actually an advanced feature, not a critical important feature every client has to support, because the fallback body is "good enough"

  74. Zash

    I was using it in a different project and someone complained about the lack of /me

  75. larma

    I'd say it's actually an advanced feature, not a critical important feature every client has to support, because the "fallback body" is "good enough"

  76. MattJ

    I'd definitely prefer an explicit <action> or something, and a better fallback body

  77. Zash

    MattJ, write the xep!

  78. MSavoritias (fae,ve)

    i wouldnt mind action messages but i see them in the same niche as moods and user tunes personally

  79. daniel

    > and people will say it's the one thing XMPP needs to be successful that’s 100% a thing that would happen

  80. MSavoritias (fae,ve)

    yeah actions xep would be interesting

  81. Kev

    I can't even find when I added /me to Psi, because it predates the switch to Git in early 2007.

  82. MattJ

    If we have a decent fallback body I don't care much about whether it's in advanced or CS at all

  83. Zash

    inb4 months of arguing whether it should be merged into https://xmpp.org/extensions/xep-0439.html or its own XEP

  84. MattJ

    But showing unrendered "/me" to users is a step backwards

  85. larma

    When writing the XEP, also remember to add the <non-action /> element to signal that the message starting with "/me" in the body is not meant to be an action.

  86. MattJ

    Ha

  87. Zash

    or RECOMMENED that clients insert a zero-width non-breaking space before /me

  88. larma

    <message><body>/me foo</body><action /><fallback for="action" from="0" to="3" /></message> is rendered "* name foo" <message><body>/me foo</body><non-action /></message> is rendered "/me foo" <message><body>/me foo</body></message> is rendered "* name foo" for legacy compat

  89. larma

    <message><body>/me foo</body><action type="me" /><fallback for="action" from="0" to="3" /></message> is rendered "* name foo" <message><body>/me foo</body><non-action /></message> is rendered "/me foo" <message><body>/me foo</body></message> is rendered "* name foo" for legacy compat

  90. Zash

    <message><body>\/me foo</body><xhtml2><body><p>/me foo</////>

  91. Zash

    /me tests

  92. Zash

    <action>goes off to write mod_legacy_me, then sit on it for 5 years</action>