XSF Discussion - 2024-03-25


  1. lissine

    kurisu, taba: If you were not joined to this muc for some days, you may have run into a conversations bug: mam hole. Conversations only asks for 750 messages starting from the last message in local history

  2. taba

    jover

  3. taba

    lissine: what's the fix

  4. taba

    also yellow hru

  5. Daniel

    If having all the history is important to you you can delete the history and then scroll up for as long as you want

  6. lissine

    If it already happened, you can clear history and retrieve history again. If you're joining and noticed that you're running into this bug, you can quickly leave the channel and join it again, and hope that no one writes a message in between (if someone does you can't retrieve history anymore)

  7. kurisu

    It's so over

  8. lissine

    > If having all the history is important to you you can delete the history and then scroll up for as long as you want The problem is, some servers limit the number of days of mam you can retrieve. So if you want to save all history (for searching purposes for example) this is not really a solution

  9. lissine

    As you will lose all your "hard earned" local history

  10. taba

    > If having all the history is important to you you can delete the history and then scroll up for as long as you want what the fuck?

  11. taba

    Daniel: could you just make it simpler?

  12. lissine

    FYI gajim has a toggle of how much mam history you want. IIRC the options are none, one day, 2 days, 1 week, 1 month, forever.

  13. kurisu

    How about all of it

  14. kurisu

    Load more as the user scrolls

  15. lissine

    When you know how much history you want, you can get it right i.e. the messages you'll be missing would be the oldest ones, not the newest

  16. taba

    >> If having all the history is important to you you can delete the history and then scroll up for as long as you want > The problem is, some servers limit the number of days of mam you can retrieve. > So if you want to save all history (for searching purposes for example) this is not really a solution the real problem is that my client didn't retrieve like the last messages 10 messages i cared about

  17. taba

    i don't even care about the 750 messages after the last synced message as much

  18. lissine

    kurisu, taba: It's a bug, Conversations doesn't know there's a "hole" in message history

  19. lissine

    > i don't even care about the 750 messages after the last synced message as much In that case you can clear history and scroll up

  20. taba

    sorry, but i'm mentally incapable of willingly losing messages??

  21. taba

    why does that even make sense

  22. taba

    syncing the last 750 messages would make even more sense

  23. lissine

    It makes sense because if you're in a busy room (like conv-offtopic) and you weren't in it for a couple of months, syncing all history would take a lot of time

  24. lissine

    And server time

  25. taba

    ignoring the fact that i want that... you can just sync the last 10 messages...

  26. taba

    sometimes i join a chatroom to join the ongiong conversation

  27. taba

    that's extremely counterintuitive

  28. kurisu

    > It makes sense because if you're in a busy room (like conv-offtopic) and you weren't in it for a couple of months, syncing all history would take a lot of time That's why lazy loading exists... But yes gajim is also idiotic about mam and dino is too

  29. lissine

    > It makes sense because if you're in a busy room (like conv-offtopic) and you weren't in it for a couple of months, syncing all history would take a lot of time > > And server time That's why Gajim lets you choose whether you want all history (may be costly) or a specific amount of time > ignoring the fact that i want that... you can just sync the last 10 messages... As I said this is a bug. I reported it in the past in the Conversations muc and IIRC Conversations 3 will fix this somehow

  30. taba

    oh right, C3, cheogram

  31. kurisu

    >That's why Gajim lets you choose whether you want all history (may be costly) or a specific amount of time Both options are idiotic

  32. taba

    singpolyma, thoughts?

  33. lissine

    kurisu: Why is the Gajim approach bad?

  34. lissine

    It's the best IMO

  35. taba

    you should be able to load messages on scroll

  36. taba

    or search, or whatever

  37. taba

    the mam xep is very obviously written with lazy loading in mind

  38. kurisu

    Because why would I want to set how much history I want, let alone why would I want all of it? The program can readily tell how much I want by how far up I scroll.

  39. kurisu

    That's what telegram and matrix do.

  40. taba

    except matrix stores the entire history ON ALL SERVERS

  41. taba

    cope

  42. lissine

    > Because why would I want to set how much history I want, let alone why would I want all of it? The program can readily tell how much I want by how far up I scroll. Among other things, searching happens locally. As opposed to Telegram which does searches server-side

  43. kurisu

    > except matrix stores the entire history ON ALL SERVERS Good.

  44. taba

    and telegram only has a single server

  45. taba

    >> except matrix stores the entire history ON ALL SERVERS > Good. kurisu: why would anyone want all of C offtopic...

  46. kurisu

    >> Because why would I want to set how much history I want, let alone why would I want all of it? The program can readily tell how much I want by how far up I scroll. > Among other things, searching happens locally. As opposed to Telegram which does searches server-side That's why searching should happen remotely.

  47. taba

    i think mam includes a search filter, no?

  48. taba

    i think mam xep includes a search filter, no?

  49. kurisu

    >> Good. > kurisu: why would anyone want all of C offtopic... Why would I not want it? To save 50 megabytes in a month? You're just coping as usual trying to find something bad about matrix. Although, if we take into account how bloated xmpp serialization is it can probably come up with 50 megabytes much faster than that.

  50. lissine

    kurisu: That has the downside of not being able to search if you're not connected to the internet

  51. edhelas

    Also, performances

  52. kurisu

    You can fallback to local search.

  53. taba

    >> kurisu: why would anyone want all of C offtopic... > Why would I not want it? To save 50 megabytes in a month? You're just coping as usual trying to find something bad about matrix. > Although, if we take into account how bloated xmpp serialization is it can probably come up with 50 megabytes much faster than that. kurisu: look up the requirements for the most optimized matrix client

  54. taba

    i'm not fucking running that shit

  55. edhelas

    It seems that you know a lot of things on how to design the perfect chat client

  56. kurisu

    Performance of limited search? How nice to NOT find something with greater performance!

  57. lissine

    > You can fallback to local search. In that case you will only get results from your local history. That's why it's preferable to have as much local history as you can. And BTW storage history doesn't take much. 1 year on my account is ~30 MB, and I spent a few months in busy MUCs

  58. lissine

    But I agree the idea of remote search is interesting for discussion

  59. taba

    >> Why would I not want it? To save 50 megabytes in a month? You're just coping as usual trying to find something bad about matrix. >> Although, if we take into account how bloated xmpp serialization is it can probably come up with 50 megabytes much faster than that. > kurisu: look up the requirements for the most optimized matrix client ask aria net or whatever dev how big their matrix server or client or whatever has gotten

  60. taba

    it's just wasted space for literally no reason

  61. kurisu

    >> You can fallback to local search. > In that case you will only get results from your local history. That's why it's preferable to have as much local history as you can. > And BTW storage history doesn't take much. > 1 year on my account is ~30 MB, and I spent a few months in busy MUCs "In that case" i.e. in the rare case where you want to use a program inherently tied to the internet, without the internet. Yes, that's nice to have. That's no reason to load everything unconditionally. History storage may not take much disk space, but opening a client after a long time and having to wait a minute or more while the chats jump around while they load isn't a good UX at all.

  62. edhelas

    Also nowadays messages are not only text messages anymore, you have metadata and a bunch of other things around (reaction, reply...)

  63. kurisu

    And telegram integrates that very nicely, and so should xmpp.

  64. lissine

    If remote searching is to be added to xmpp, it should take into consideration jumping to messages (like https://gultsch.social/@daniel/110118815716187992) that are not necessarily in your local history, and being able to lazy-load history both before and after that message

  65. taba

    >> You can fallback to local search. > In that case you will only get results from your local history. That's why it's preferable to have as much local history as you can. > And BTW storage history doesn't take much. > 1 year on my account is ~30 MB, and I spent a few months in busy MUCs CC: kurisu same. my backup takes up like 40 mbs

  66. kurisu

    Like, you can jump from a reply to the message being replied to even if it's a year away, and even in that case it won't load everything in between. That's how it should be.

  67. kurisu

    > If remote searching is to be added to xmpp, it should take into consideration jumping to messages (like https://gultsch.social/@daniel/110118815716187992) that are not necessarily in your local history, and being able to lazy-load history both before and after that message Yes

  68. taba

    >> In that case you will only get results from your local history. That's why it's preferable to have as much local history as you can. >> And BTW storage history doesn't take much. >> 1 year on my account is ~30 MB, and I spent a few months in busy MUCs > "In that case" i.e. in the rare case where you want to use a program inherently tied to the internet, without the internet. Yes, that's nice to have. That's no reason to load everything unconditionally. > History storage may not take much disk space, but opening a client after a long time and having to wait a minute or more while the chats jump around while they load isn't a good UX at all. kurisu: that's an issue with the clients... they should quickly sync the last 20 or so messages and sync the rest in the background

  69. kurisu

    > Like, you can jump from a reply to the message being replied to even if it's a year away, and even in that case it won't load everything in between. That's how it should be. Is that something C3 is going to be capable of

  70. lissine

    > Like, you can jump from a reply to the message being replied to even if it's a year away, and even in that case it won't load everything in between. That's how it should be. Yes. That's how it should be if we have remote searching

  71. edhelas

    > And telegram integrates that very nicely, and so should xmpp. Didn't know that Telegram had a decentralized network and a compability history of 20 years across plenty of servers and clients !

  72. edhelas

    Maybe we should hire a few of their devs

  73. lissine

    > Is that something C3 is going to be capable of It depends whether it's possible to do it with the current MAM XEP

  74. taba

    it's fine, he just has to rope about something every 5 minutes

  75. taba

    >> Is that something C3 is going to be capable of > It depends whether it's possible to do it with the current MAM XEP i think so

  76. taba

    > Like, you can jump from a reply to the message being replied to even if it's a year away, and even in that case it won't load everything in between. That's how it should be. permaybehaps

  77. kurisu

    >> And telegram integrates that very nicely, and so should xmpp. > Didn't know that Telegram had a decentralized network and a compability history of 20 years across plenty of servers and clients ! Those are not mutually exclusive with bad user experience, nor in any way justify it. In fact, poor UX makes it hard to be proud of the 20 years. Because those are 20 years of poor UX.

  78. taba

    depends on the userbase

  79. taba

    it's changing

  80. Guus

    Pragmatically: if replicated archiving functionality is something that's desired, start drafting a proposal how that's technically and functionally going to work. We're a standards org, after all.

  81. Kev

    I don't think we have a protocol hole that prevents syncing archives. You can do sensible things with MAM.

    đź‘Ť 2
  82. kurisu

    Also I think (may be wrong here) gajim and dino mam loading is much slower than it could be. If 30 megabytes is a year, then a week should be loaded instantaneously, but for me it can hang on that for like a minute I think. Is it wasting time on roundtrip, like "request N messages, receive them, only then request N more"?

  83. kurisu

    Also I think (may be wrong here) gajim and dino mam loading is much slower than it could be. If 30 megabytes is a year, then a week should be loaded instantaneously, but for me it can hang on that for like a minute I think. Is it wasting time on roundtrips, like "request N messages, receive them, only then request N more"?

  84. Guus

    Could be. Could also be the server requiring time to collect the data from the archives.

  85. Kev

    Has to be, even. Can't ask for the previous page without knowing what the page is previous to.

  86. kurisu

    But what if you request huge pages?

  87. Kev

    That's allowed, although the server is allowed to limit the result if it's more than it's willing to serve in one go.

  88. kurisu

    I mean if we are doing eager loading, we could at least do it fast. In most cases you wouldn't even notice eager loading if it loaded a year in couple of seconds. I think that'd be much simpler to implement than remote search and the "jump to that message ago without wasting time on everything in between". I a server lets you download a 30 MB file in one go, why wouldn't it let you download 30 MB of messages in one go. Although given how slow draugr.de file downloads are it almost makes you wonder if files are downloaded like that too lol

  89. kurisu

    Actually eager loading does have a huge advantage: you can search encrypted messages.

  90. lissine

    If a server has 10000 users you don't want to serve 30MB to everyone who joins a channel with 'infinite' history

  91. kurisu

    Well, those 10000 users will want to send and download 30MB files occasionally.

  92. Guus

    I'm not sure if they do, but as Kev pointed out: the existing protocol already support much of this. If that's true, then this becomes something to take up with those that implement things (servers and clients) - unless you want to suggest we start using a different protocol.

  93. taba

    > I mean if we are doing eager loading, we could at least do it fast. In most cases you wouldn't even notice eager loading if it loaded a year in couple of seconds. I think that'd be much simpler to implement than remote search and the "jump to that message ago without wasting time on everything in between". > I a server lets you download a 30 MB file in one go, why wouldn't it let you download 30 MB of messages in one go. Although given how slow draugr.de file downloads are it almost makes you wonder if files are downloaded like that too lol kurisu: loading the mono((C)heo) backup take A WHILE

  94. kurisu

    Yes, it seems the existing protocol already supports that, it's just a matter of how you use it. It's like with databases I think: unless it's sqlite you will generally limit the number of queries.

  95. taba

    i have no clue what it does and it scares me

  96. kurisu

    >> I mean if we are doing eager loading, we could at least do it fast. In most cases you wouldn't even notice eager loading if it loaded a year in couple of seconds. I think that'd be much simpler to implement than remote search and the "jump to that message ago without wasting time on everything in between". >> I a server lets you download a 30 MB file in one go, why wouldn't it let you download 30 MB of messages in one go. Although given how slow draugr.de file downloads are it almost makes you wonder if files are downloaded like that too lol > kurisu: loading the mono((C)heo) backup take A WHILE A while you mean from a local file?

  97. kurisu

    Over

  98. taba

    yes...

  99. taba

    maybe decryption takes a while? who knows

  100. kurisu

    Although for me cheogram sometimes hangs a bit even just opening up... Bruh

  101. taba

    it should just be an sqlite dump i think or smth

  102. taba

    no clue

  103. taba

    > Yes, it seems the existing protocol already supports that, it's just a matter of how you use it. It's like with databases I think: unless it's sqlite you will generally limit the number of queries. it's just jover for sqlite

  104. taba

    from what i've read

  105. Guus

    it sounds more and more like you're wanting a change in a very specific implementation. Maybe you should talk to the community that develops that/those clients.

  106. kurisu

    > maybe decryption takes a while? who knows Pretty sure e.g. with a 7z archive you won't see a difference when unpacking a 30 mb file if it's encrypted or not. So definitely not encryption.

  107. singpolyma

    > singpolyma, thoughts? taba: this is the first I hear of this bug, but it explains some things. I will put on my lirt to look into it

  108. taba

    >> singpolyma, thoughts? > taba: this is the first I hear of this bug, but it explains some things. I will put on my lirt to look into it singpolyma: thank you

  109. jonas’

    soo, scrolling back, I'd like everyone, in the future to: - avoid insulting language about projects in our community (be constructive, not destructive) - stick to the topic of this room (discussion of standards, their development (not necessarily implementation), and general XSF meta)

  110. jonas’

    thanks all.

  111. edhelas

    Would it be possible to discuss about deprecating password protected rooms in 0045 ?

  112. jonas’

    please don't, they're needed for IRC bridging.

  113. edhelas

    Really ? There's password in IRC ?

  114. jonas’

    yes.

  115. edhelas

    #TodayIlearn :D

  116. Guus

    edhelas, deprectating to-be-replaced-with-something-else, or simply no longer have rooms that can be password-protected?

  117. moparisthebest

    well he's right that they aren't needed when you can make it member only and invite people

  118. edhelas

    Maybe clarifying the usage I'd say.

  119. edhelas

    moparisthebest ^ this

  120. moparisthebest

    But yes... IRC, even though there I haven't seen this used... In forever?

  121. edhelas

    Member only rooms are most of the time the way to go for most of the usage.

  122. edhelas

    Member only rooms are most of the time the way to go for most of the usages.

  123. jonas’

    moparisthebest, the other user of my IRC gateway uses it.

  124. jonas’

    I know because he was very annoyed when some client repeatedly killed his MUC bookmarks :)

  125. Guus

    Is there a reason other than "I'm not using it" for wanting to deprecate this?

  126. moparisthebest

    I do think it's sensible to have some writing somewhere that a sane client might not want to allow users to create rooms like this, or at least recommend the other

    đź‘Ť 1
  127. moparisthebest

    > moparisthebest, the other user of my IRC gateway uses it. https://xkcd.com/1782/

  128. jonas’

    accurate.

  129. s1

    >‎25/03/2024 | 15:34:22 ‎moparisthebest‎: But yes... IRC, even though there I haven't seen this used... In forever? i use irc since over a decade (was a kid) and xmpp since 2 years (plus opened-sip), those three convinced me to never use something else (or maybe just classic phone)

  130. edhelas

    s1 you're using SIP ? On which server did you create your account ?

  131. Daniel

    btw the last calls for Consistent Color and Nonca end today. if you have feedback for those XEPs now is your last chance

  132. Guus

    Thanks for picking up the Editor tasks, Daniel. It is good to see things moving again.

  133. moparisthebest

    s1: I realize I wrote that funny, I still use IRC (through XMPP) daily, I mean I haven't seen password protected IRC channels used in about forever :)

  134. kurisu

    Is more than one video or more than one audio content in jingle ever actually used

  135. moparisthebest

    kurisu: think screen sharing (with audio) while video, so yes

  136. kurisu

    So like What client does that

  137. kurisu

    If I called Dino or Conversations with two videos, would they... Work?

  138. moparisthebest

    I don't know if any XMPP client other than jitsi currently implements this, but it's a use case to keep in mind

  139. moparisthebest

    iirc someone modified Conversations once to support screen sharing? Maybe Daniel remembers

  140. Guus

    Pade, possibly. Dele Olajide?

  141. Andrzej

    I think that multiple stream (multiple video or audio) can be used for Jingle groups calls with SFU in Siskin IM and Beagle IM, if I recall correctly

  142. moparisthebest

    I think it was a guy who used to be active in XMPP channels with a green wolf avatar but now I only see him on fediverse, it's highly likely I'm misremembering though :)

  143. Daniel

    Will you ever see more than one audio or video content? It depends. Generally yes this can happen

  144. Daniel

    If you want to transmit multiple of a thing you can either have multiple contents or multiple tracks in the same content

  145. Daniel

    Ideally you would probably do the latter. But if you are implementing a generic jingle thing you might want to support multiple contents of the same type.

  146. Daniel

    Conversations currently won't display multiple video no matter how they are recievied

  147. Andrzej

    Siskin IM or Beagle IM will display multiple video but I do not recall if that uses multiple tracks or multiple contents, but I think I could work for both

  148. Daniel

    The PR or whatever I recall for Conversations was mostly about uni directional video

  149. singpolyma

    Due to unified plan with webrtc being so widely deployed, multiple contents is realistically what you will see in the wild

  150. kurisu

    why does jingle use iq like it uses them? It would seem a session-accept would belong in <iq type=result>, but instead it's always "set" and "result" is more like an ack. Why is it done like that?

  151. singpolyma

    kurisu: yeah, the empty iq returns in jingle are kinda gross, but probably not worth the pain of changing it

  152. kurisu

    I'm just wondering why it was done like that in the first place? Maybe there's some good reason for it I'm not seeing?

  153. Daniel

    Not sure about the original reason but there can be significant time delay between session init and session accept

  154. Daniel

    That's probably unusual for iq in other contexts

  155. Daniel

    You want the (automated) iq result to happen quasi instantly

  156. Daniel

    And then the manual session accept is a different thing

  157. Daniel

    Plus there are obviously lots of jingle actions that don't have a response but you want to ack them on an iq level

  158. singpolyma

    I'm not sure what the acks gain you vs <message/> in most cases

  159. Daniel

    Since iq are usually implemented with call backs on the client side you get quasi automated error tracking

  160. Daniel

    Yes messages have errors too. But most client libraries won't track them the same way

  161. kurisu

    https://xmpp.org/extensions/xep-0166.html#concepts-session It seems that diagram allows all actions in the pending state. In practice... is that supported?

  162. kurisu

    so like a receiving contect can seriously enable video in an incoming voice call and send content-add before they even pick up, and Conversations or Dino will ask the caller if they want to enable video? I mean in practice, are things like that implemented?

  163. Daniel

    I can Only speak for Conversations but in Conversations content adds and removes only work after session accept

  164. Daniel

    But something like transport info will obviously work before

  165. kurisu

    thought so

  166. Daniel

    That said implementing a bit more than other clients is a good reason for those clients to move forward. Otherwise we all get stuck at the bare minimum

  167. rion

    A quick question. If ICE connected over TCP, what to do with SCTP (datachannels XEP) ?

  168. rion

    Maybe it's worth adding to the datachannels xep something like "I don't care much about channels, just give me a reliable connection"? So if connected over TCP, then sctp is not negotiated at all.

  169. Daniel

    I don't think we should silently just get rid of negotiated transports. I think it would just work, no? Albeit being a bit unnecessary

  170. Daniel

    Technically the ice-udp xep (that data channels wraps around) doesn't even allow ice udp

  171. Daniel

    Technically the ice-udp xep (that data channels wraps around) doesn't even allow ice tcp

  172. rion

    > I think it would just work, no? Idk. Maybe this will require another protocol defining how datagrams are sent over tcp. Like <32 bit big endian size><payload>

  173. rion

    Maybe will just work. Seems like sctp headers define block sizes. So should be parsable.

  174. cal0pteryx

    Hi XMPPeople! I would like to make some changes to the XEPs table on xmpp.org regarding Experimental/Deferred XEPs. There are some screenshots https://github.com/xsf/xmpp.org/pull/1357#issuecomment-2018796516 Comments most welcome!

  175. rion

    Daniel: https://xmpp.org/extensions/xep-0371.html this one allows tcp. Ok. So be it. Negotiate sctp if declared in transport. Thanks.

  176. Daniel

    rion, yes i'm aware of 0371. however the datachanels xep uses the other one

  177. rion

    Daniel: I guess it was just forgotten. so nobody updated :)

  178. Daniel

    cal0pteryx, i think the general idea of flagging dormant xeps is good. I’m afraid the checkbox that overwrites the other checkboxes is confusing

  179. Daniel

    maybe at least move the checkbox elsewhere

  180. MattJ

    Next I'd question whether we need all those checkboxes 🙂

  181. MattJ

    Does anyone use them? What for?

  182. MattJ

    I regularly search for XEPs by name or number, and in that case I don't care about the status of the XEP I'm looking for

  183. MattJ

    Otherwise, I'm browsing the list, and then I want to see everything

  184. MattJ

    Except with the "dormant" selector, I'd sometimes want to filter by that. Today the closest is filtering out deferred, but that's not useful because so many deferred XEPs are important.

  185. MattJ

    So I cautiously suggest that the dormant selector is the only one that's really useful

  186. moparisthebest

    > Hi XMPPeople! I would like to make some changes to the XEPs table on xmpp.org regarding Experimental/Deferred XEPs. There are some screenshots https://github.com/xsf/xmpp.org/pull/1357#issuecomment-2018796516 > Comments most welcome! cal0pteryx: looks great! Let's merge :)

  187. lovetox

    Daniel, you seem to dislike jdev, why is that again?

  188. lovetox

    years go by, you never join, or stay joined :D

  189. lovetox

    Anyway, as you are active with the Display marker XEP, the point came up in jdev, that its not clear if a display marker should reference the original message, or the corrected message id

  190. lovetox

    and this goes for all the other XEPs that reference messages too, they dont mention how to deal with this