XSF Discussion - 2024-03-29


  1. alom

    Is there a client that supports "automatic message deletion" that can be set on individual chats and not only a global setting? Thanks

  2. lissine

    You're looking for https://xmpp.org/extensions/xep-0466.html and it seems no client implements it

  3. Menel

    I guess it was more of a question like, conversations can be set up to delete all messages after x. And if there is a client that can do the same per chat. No need for a xep for that. Just local...

  4. gooya

    Afaik there is no client that implemented message deletion on both devices/servers for older messages.

  5. MSavoritias fae.ve

    and no client implements ephemeral messages yet sadly

  6. alom

    I mean only client, but that one does not have one setting (f.eks, never, one day or one week) for all chats. But one chat can be never, another one day, another one week for example

  7. gooya

    This would only make some-what sense if you've also disabled archiving of messages. If not your client will at some point fetch those deleted messages from the server. But yeah you're right there is no option to set (local) message deletion on a per chat basis.

  8. MattJ

    > This would only make some-what sense if you've also disabled archiving of messages Or your server's retention time is less than your client's retention time

  9. gooya

    This would only make some-what sense if you've also disabled archiving of messages. If not your client will at some point fetch those (locally) deleted messages from the server. But yeah you're right there is no option to set (local) message deletion on a per chat basis.

  10. alom

    Ok👍

  11. MattJ

    E.g. Snikket servers default to 7 days, so if you want to clear after 7+ days locally, the message is gone from everywhere after 7 days

  12. moparisthebest

    It also makes sense if you have a phone that gets slower and slower to the point of becoming unusable if you don't have messages set to delete after one week 🥲

  13. gooya

    moparisthebest, Does this happen to you?

  14. alom

    > E.g. Snikket servers default to 7 days, so if you want to clear after 7+ days locally, the message is gone from everywhere after 7 days Ok I see😊

  15. gooya

    I can't imagine it slowing down that much even with a huge db of messages

  16. moparisthebest

    gooya: yup!

  17. MattJ

    The problem with ephemeral messages is an open ecosystem is that if you don't implement it everywhere, it doesn't do what it advertises

  18. gooya

    This was also the problem for message moderation and a ton of other potential great features.

  19. alom

    MattJ: yeah I see that argument. Different server setups would be a problem. But would it not be as easy as to make everything in the client? So if set to delete after 7 days, there would be no fetching of new messages of that chat after 7 days either?

  20. MattJ

    Yes, clients could do that

  21. alom

    Ok, and then I dont see the problem making this work for individual chats as well. Cant the fetching also be on an induvidual chat basis making what I ask for possible?

  22. gooya

    Another unrelated question I've been thinking about, Would something like message pinning in 1:1 and MUC's need a XEP, and if so only client client-side or also server-side?

  23. gooya

    Another unrelated question I've been thinking about, Would something like message pinning in 1:1 and MUC's need a XEP, and if so only client client-side or also server-side? (as in pinning a message for everyone in the conversation whether that is a muc or 1:1 chat)

  24. alom

    MSavoritias fae.ve: conversations IM/Cheogram implements this

  25. singpolyma

    Do you want to pin many messages or just one? Because for one we have dhad arlaedy some places call it "topic"

  26. gooya

    singpolyma, More than one but not many

  27. gooya

    Kind of how telegram handles pinning and displaying of pinned messages. Something like that would be pretty neat

  28. MSavoritias fae.ve

    > MSavoritias fae.ve: conversations IM/Cheogram implements this ephemeral messages you mean? it doesnt afaik

  29. MSavoritias fae.ve

    > Do you want to pin many messages or just one? Because for one we have dhad arlaedy some places call it "topic" it doesnt work in any client like that tho. gajim and cheogram and dino for example dont show topic there. plus you dont pin messages you have to copy paste the message

  30. MSavoritias fae.ve

    never mind that the topic/subject is used to post the description of the room as it is now. not pinned messages

  31. lovetox

    Topic is not a description of the room

  32. lovetox

    Gajim Shows the topic on join and in the room info

  33. singpolyma

    Right. We have a seperate field for description

  34. MSavoritias fae.ve

    so topic is the subject then? either way same thing

  35. MSavoritias fae.ve

    no client shows it. and its even less useful

  36. singpolyma

    I'm not sure what you mean no client shows it? Is there any client that does not?

  37. singpolyma

    Id like to make Cheogram Android do more like gajim and also show it as a card on join. If I can decide when "join" is

  38. moparisthebest

    iirc Conversations only shows one, Dino only shows the other, and sjn shows both

  39. MSavoritias fae.ve

    if you open telegram the pinned messages is *always* shown there everytime. the only way to remove it is for the person to manually interact with it. and when it changes it appears again

  40. MSavoritias fae.ve

    so gajim and cheogram and the rest do nothing like it at this point

  41. MSavoritias fae.ve

    its more of a "welcome message" to show the rules of the room

  42. MSavoritias fae.ve

    which is supposed to be that

  43. singpolyma

    moparisthebest: you're saying dino doesn't show topic?

  44. moparisthebest

    I just remember having to edit different fields in both to get sjn to display something sensible, I'll look later

  45. singpolyma

    > if you open telegram the pinned messages is *always* shown there everytime. > the only way to remove it is for the person to manually interact with it. and when it changes it appears again And if you have more than one they all show? That seems like it would take up a lot of screen space on mobile, but I could try it

  46. singpolyma

    moparisthebest: oh yes. Sjn doesn't show topic of course it shows description

  47. MSavoritias fae.ve

    you cant have more than one afaik but i can see again

  48. MSavoritias fae.ve

    in telegram its basically a "third field"

  49. MSavoritias fae.ve

    where you can attach messages you want or have a poll to appear on anybody

  50. singpolyma

    So telegram has description, topic, *and* a single pinned message?

  51. Zash

    what about title? name? gotta have those too! :)

  52. Zash

    Didn't MIX solve this by removing subject and having arbitrary pinned messages as a separate feed?

  53. MSavoritias fae.ve

    it fills the usecase of: something was said or we need to do something as a room (poll, anouncement, whatever) and we want to make sure people dont miss it

  54. MSavoritias fae.ve

    and without having to scroll on the backlog or whatever

  55. MSavoritias fae.ve

    > Didn't MIX solve this by removing subject and having arbitrary pinned messages as a separate feed? ah another reason i guess to go with MIX :P

  56. singpolyma

    But its always just one and they do have bith topic and description seperatly?

  57. moparisthebest

    Having more than a single topic was a mistake 🤣

  58. singpolyma

    We only have one but we're discussing adding either one more or n more

  59. gooya

    https://share.loqi.im/upload/e6ae9a3c-e850-43eb-9409-a8dbbb793ef3/8226ff38-65d6-4f82-a170-2fa5ca31f646.png

  60. gooya

    Multiple message pinning in telegram ^

  61. singpolyma

    So the banner tells you there is more than one but it only shows one or part of one

  62. singpolyma

    Can you dismiss it?

  63. MSavoritias fae.ve

    seeing here it has title and description and pinned messages are seperate https://telegram.org/tour/groups

  64. MSavoritias fae.ve

    and it allows multiple messages to be pinned https://core.telegram.org/api/pin

  65. singpolyma

    Right so as I suspected this is what they use for topic, they don't have topic as a seperate thing

  66. gooya

    singpolyma, I don't think you can dismiss it, which imo should be possible. And if I remember correctly you could swipe the banner to get a preview of the next pinned message.

  67. Zash

    Doesn't Slack have both topic and pinned messages, or?

  68. singpolyma

    Zash: yes. Slack does

  69. MSavoritias fae.ve

    here is where they did the update https://telegram.org/blog/pinned-messages-locations-playlists/world#multiple-pinned-messages

  70. MSavoritias fae.ve

    > Right so as I suspected this is what they use for topic, they don't have topic as a seperate thing i mean if we can make the topic more interactable theoretically you dont have to show the rules to people again besides the first time

  71. MSavoritias fae.ve

    or you can have it as yet another of pinned messages

  72. singpolyma

    I expect the main difference between our topic and their pins is media

  73. singpolyma

    I mean from a protocol pov

  74. Zash

    Our topic is _only_ <subject> yeah.

  75. MSavoritias fae.ve

    agreed. they can attach pretty much anything and its interactive

  76. gooya

    Personally, I have a interest in having the ability to pin messages in conversations (especially MUCs) but I don't know how much of an interest there is in this feature in general in the instant messaging/xmpp ecosystem

  77. MSavoritias fae.ve

    i would like to implement it for sure

  78. MSavoritias fae.ve

    i didnt remember that you cant remove them tho

  79. moparisthebest

    Doesn't matter how much interest, if you are interested, do it

  80. Zash

    Do they need to outlive message retention?

  81. singpolyma

    Yes

  82. singpolyma

    Or no?

  83. singpolyma

    Hmm

  84. Zash

    I assume that with Slack and such, you just have long enough retention that it wouldn't matter

  85. gooya

    I think so

  86. singpolyma

    Right. Generally infinite retention is the dheng anyway

  87. moparisthebest

    I don't think they do in slack

  88. Zash

    For private (read: OMEMO) chats it's ... werid

  89. singpolyma

    Right. Generally infinite retention is the thing g anyway

  90. MSavoritias fae.ve

    i dont think for private chats pinned messages make much sense anyway

  91. singpolyma

    If you want jump to context then you need the id anyway

  92. MSavoritias fae.ve

    telegram has the nice thing that depending on the the group it has different capabilities

  93. singpolyma

    But yeah if you have expiring history who knows

  94. moparisthebest

    Something about perfect being the enemy of good

  95. gooya

    MSavoritias fae.ve, What about private groups that have omemo enabled

  96. Zash

    Maybe that's jumping ahead to protocol design (but when in xsf@ ...) but it influences whether you'd need some separate channel/storage or if a list of stanza-ids somewhere is fine

  97. singpolyma

    Protocol design is all that's interesting here yeah

  98. MSavoritias fae.ve

    > MSavoritias fae.ve, What about private groups that have omemo enabled idk. i dont plan to implement OMEMO either way. but probably it needs to be added to a "container" so that it cant be deleted and can be referenced

  99. Zash

    A list of stanza-ids should work for OMEMO too, as you need to have client-side storage anyway for the decrypted messages.

  100. singpolyma

    Yes

  101. Zash

    Can you even re-send an old message?

  102. singpolyma

    Time to implement muc-pep

  103. MSavoritias fae.ve

    > Can you even re-send an old message? you cant?

  104. singpolyma

    Server could be aware of pinned messages and not remove from mam

  105. gooya

    So considering all the factors mentioned above, does it make sense to have a XEP for pinned messages?

  106. MSavoritias fae.ve

    i mean if a person wants to scroll or is clicing on a reply or something shouldnt they request the messages again

  107. singpolyma

    As a special case in their expiry

  108. Zash

    singpolyma, complicated!

  109. MSavoritias fae.ve

    maybe as a security consideration too

  110. MSavoritias fae.ve

    because the message can contain a lot of things

  111. singpolyma

    gooya: need someone to prototype muc pepkfirst

  112. singpolyma

    gooya: need someone to prototype muc pep first

  113. MSavoritias fae.ve

    what do we need muc pep for?

  114. Zash

    singpolyma, `prosodyctl shell module load pep muc.xmpp.org` ??? PROFIT!

  115. singpolyma

    Zash: does that actually work? I havent tried it

  116. gooya

    > maybe as a security consideration too > because the message can contain a lot of things Possibly only allow message message pinning by certain roles

  117. singpolyma

    MSavoritias fae.ve: for storing the pins

  118. MSavoritias fae.ve

    ah.

  119. MSavoritias fae.ve

    wait isnt that basically MIX?

  120. singpolyma

    No

  121. singpolyma

    It's just normal pep

  122. MSavoritias fae.ve

    okay

  123. singpolyma

    Where the jid happens to be a muc

  124. moparisthebest

    cram a comma seperated list of message IDs in some muc config field, done

  125. singpolyma

    moparisthebest: no

  126. MSavoritias fae.ve

    > > maybe as a security consideration too > > because the message can contain a lot of things > Possibly only allow message message pinning by certain roles yeah for sure

  127. singpolyma

    MUC config fields are for humans

  128. singpolyma

    And also comma seperated fields are always wrong in xmpp

  129. Zash

    singpolyma, IIRC it mosly needs a different affiliation integration, i.e. some code that looks at room affiliations instead of rosters (which don't exist)

  130. singpolyma

    Zash: right. So if I load it now probably it'll crash loiking for roster?

  131. moparisthebest

    Standardize a flag on muc config fields that says "not for humans" while you are at it

  132. singpolyma

    moparisthebest: well, I guess we have type=hidden

  133. moparisthebest

    You can make it \0 separated if you want 🤣

  134. Zash

    Oh, let's get back to my peev about XEP-0004 not having an array type! :D

  135. singpolyma

    It does?

  136. Zash

    NOT

  137. singpolyma

    Um. What is list-multi?

  138. Zash

    Select from a list of options?

  139. Zash

    Not quite array of arbitrary strings

  140. singpolyma

    So use <open/>

  141. Zash

    Is that what <open/> means?

  142. singpolyma

    It means you can add any options you want yes

  143. Zash

    > The <open/> validation method applies to "text-multi" differently; it hints that each value for a "text-multi" field shall be validated separately. This effectively turns "text-multi" fields into an open-ended "list-multi", with no options and all values automatically selected. Hmm or that?

  144. singpolyma

    Yes

  145. Zash

    And define a stanza-id datatype

  146. singpolyma

    This is what I proposed for multi language the other day also

  147. cal0pteryx

    > i dont think for private chats pinned messages make much sense anyway Yes, they do! Small communities pinning for example pictures of their latest "everybody should have that on quick-access". Could be schedules of their team in sports, song lyrics for a music band chat, you name it

  148. Hydrogen

    or funny moments. especially funny moments

  149. anubis

    if there is Yunohost users/admins in the room https://forum.yunohost.org/t/prosody-xmpp-server-for-yunohost-12/29128 🙂

  150. moparisthebest

    Very nice

  151. moparisthebest

    Slightly better attacks against sha2 https://eprint.iacr.org/2024/349

  152. singpolyma

    We haven't even migrated from sha1 yet 😛

  153. singpolyma

    moparisthebest: do you have a favourite next? Sha3? Blake? Other?

  154. moparisthebest

    I don't

  155. singpolyma

    Is this attack against sha2 generally or sha256 specifically?

  156. moparisthebest

    both

  157. kurisu

    in practice does jingle file transfer ever have more than one <content>

  158. kurisu

    like would C or Dino work if they were sent such

  159. lovetox

    as i understood it its far away from an attack

  160. moparisthebest

    lovetox: it's an improvement on a past attack, and schneiers law says attacks only improve :)

  161. Zash

    Go forth implement caps2 and whatever supports hash agility!