jdev - 2020-09-18

  1. lovetox

    the more i think about it the more i have the opinion that i don’t need scrollback MAM requests

  2. lovetox

    for the own account, i simply download the whole archive at start or user request

  3. lovetox

    for the own account, i simply download the whole archive at start or only on user request

  4. lovetox

    and for MUCs, there are small private MUCs, where you just download everything since last join

  5. lovetox

    the only place where such a scrollback feature would maybe make sense, are bigger open mucs

  6. eta

    lovetox, I mean I think it'

  7. eta


  8. eta

    lovetox, I think it's a question of priority

  9. eta

    like, yeah, I think synchronizing the full MAM archive is the way to go

  10. eta

    but synchronize the personal MAM archive before synchronizing any MUCs, then do small private MUCs, then do big MUCs

  11. eta

    the first two types of synchronization are "blocking", and usually must complete before the app is usable

  12. eta

    synchronizing the bigger MUCs can happen in a background job with low priority (i.e. don't slow the app down to do them)

  13. Ge0rG

    blocking is always a bad idea

  14. lovetox

    download in the background with low priority is easy said but really hard done

  15. eta

    Ge0rG, I used quotes for a reason, right

  16. eta

    I meant more from a UI/UX perspective more than anything else

  17. Ge0rG

    eta: you should try to use XMPP on a typical German mobile "broadband" connection, while sitting on the regional train in the middle of nowhere

  18. lovetox

    you would need to analyse the traffic, and then slowly start issuing requests and stop them when you exceed some traffic limit

  19. lovetox

    very complex stuff

  20. Ge0rG

    open a second XMPP connection ;)

  21. Ge0rG

    or maybe XMPP over HTTP/2

  22. Ge0rG

    the fun part is when the data you requested is so large that it exceeds your server's 0198 queue size and your session gets killed

  23. Ge0rG

    and then you reconnect and request the same data again

  24. eta

    lovetox, okay, fair enough

  25. eta

    lovetox, the ordering thing is still valid though

  26. eta

    or, hmm, maybe not

  27. lovetox

    eta i would say the order does not matter, except when the user switches to a chat

  28. lovetox

    then stop everything else, and do that one

  29. eta

    lovetox, yeah, that's good

  30. lovetox

    this is relatively easy

  31. eta

    lovetox, by far the biggest issue I think currently though is notifications

  32. eta

    on pretty much every client doing a MAM catchup results in loads of unread messages that you've actually read somewhere else

  33. eta

    and it makes the unread list pretty useless as a result

  34. Zash


  35. lovetox

    hard to solve problem

  36. lovetox

    i dont like the idea to push a read-message-id to the server for any message i receive

  37. eta

    lovetox, fwiw this is why I have to use dino instead of gajim even though I'd rather use gajim

  38. eta

    because dino at least sorts the chats by last message

  39. eta

    so it's not a total loss

  40. Zash

    ... but Dino does the same thing if you haven't had it running for a while, or on first startup

  41. eta

    with gajim there are like 100 chats all with 50 unreads and it's like, which one of those do I click on

  42. eta


  43. Zash

    bazillions of notifications

  44. eta

    Zash, sure but it's less of an issue because I don't rely on the unread state for anything

  45. eta

    with gajim I need the unread state to tell me "hey click on this window, there's activity"

  46. eta

    lovetox, I mean, you already send a smacks ack for every message you receive...

  47. lovetox

    that does not mean read though

  48. Ge0rG

    eta: yaxim will mark all conversations as read to which you have replied from any of your clients. ;)

  49. eta

    also it wouldn't be every message you receive, just every message you receive while the chat is focused

  50. Ge0rG

    also it will queue pending outging 0184 ACKs and only send one if there isn't one already in MAM

  51. Zash

    At least delaying notifications until the whole sync thing has completed would be an improvement

  52. eta

    Ge0rG, it will and this is nice! however (a) that doesn't deal with situations where I didn't reply but still read it on another device, and (b) to clear the freaking unread marker I have to scroll *all the way* up

  53. eta

    my hacky gajim fork at one point just unconditionally sent 0184 displayed markers for every single message

  54. Zash

    I also miss the "Mark all chats as read" option from Yaxim in all other clients :)

  55. Ge0rG

    eta: that's unfortunate

  56. Zash

    eta: itym 333

  57. eta

    and that was actually really pleasant, but obviously leaked everything

  58. eta

    Zash, probably ;)

  59. eta contemplates just writing a prosody module to carbon, but not actually send, displayed chat markers if they're sent in a large MUC

  60. eta

    (and then hacks to dino/gajim/convos to unconditionally send such markers)

  61. eta

    I feel like as solutions go though, that's not a terrible one

  62. eta

    although OTOH it wouldn't work well if the other clients weren't online

  63. eta

    so it's a hack

  64. Zash

    eta: There's one that's almost that. It could do something sensible wrt channel vs private group chats

  65. eta

    Zash, is this the marker tracking one

  66. Zash looks it up

  67. Zash

    I'm thinking of https://modules.prosody.im/mod_muc_markers.html

  68. eta

    yeah, that

  69. eta

    Zash, does that work for remote MUCs?

  70. Zash

    Moves chat markers into a separate store from MAM, so there's only one per user

  71. eta

    doesn't look like it

  72. Zash

    Well it needs to run in the MUC itsel

  73. Zash

    Well it needs to run in the MUC itself, so probably no

  74. eta

    yeah okay, so that doesn't quite do what I want

  75. Zash

    You could probably do something like it locally but I imagine there'll be all sorts of fun"

  76. eta

    eh, or we just go back to the idea of using pubsub or something

  77. eta

    publish to a PEP node whenever you read a new message

  78. eta still doesn't actually understand how conversations does its notification-suppressing magic

  79. Zash

    Ask the code or Daniel. I think it does magic when it sees messages from yourself.

  80. lovetox

    but do we have even a theoretical approach for the readstate sync in MUCs problem

  81. lovetox

    i dont think its a solution that a MUC with 100 people, and every message to the MUC triggers 100 read markers sent to the MUC

  82. lovetox

    that just doesnt scale

  83. Zash

    Hence server-side magic that records that, broadcasts it only to your own devices.

  84. lovetox

    still not scaleable

  85. Zash


  86. lovetox

    because one message triggers hundreads

  87. lovetox

    if 100 people chat, you have 10.000 messages

  88. lovetox

    if you have 100 MUCs on your server

  89. lovetox

    that just adds up exponentially

  90. Zash

    I said > broadcasts it only to your own devices.

  91. Zash

    So in this case there would be like 200 messages

  92. lovetox

    what do you broadcast?

  93. Zash

    The read marker

  94. lovetox

    i have to first tell the MUC that i read the message or?

  95. Zash

    Not broadcast, but rather only reflect it back to you (and your phone)

  96. Zash

    This is already how it works

  97. lovetox

    point is i have to tell the muc

  98. Zash

    I'm describing a traffic optimization for larger groupchats

  99. lovetox

    if 100 people tell the MUC, its 1 message triggers 100 to the server

  100. lovetox

    i think the solution needs to happen on the user server

  101. lovetox

    not on the MUC server

  102. Zash


  103. Zash

    If you reuse 333 syntax then the client doesn't even need to know the difference.

  104. lovetox

    maybe use 333, but add a element, like <server-only>, so the server does not route it to the remote host for MUCs

  105. Zash

    But there's still 100 read notifications sent somewhere.

  106. lovetox

    yeah Zash but distributed over 100 servers

  107. lovetox

    as it should be

  108. lovetox

    ok the server keeps then a list with tuples (jid, message-id)

  109. lovetox

    does not help us much for mam

  110. lovetox

    hm ..

  111. lovetox

    ah no should work

  112. Zash

    and then use that as basis for offline message replay instead of MAM!

  113. lovetox

    the only problem i see with this is, that the list of (jid, message-id) grows endless

  114. lovetox

    maybe some cleanup can be made from time to time, like if no readmarker was sent for 6 months for a jid

  115. lovetox

    but good thing is also its not terrible sensible data

  116. Zash

    Do you need to save more than one per JID?

  117. lovetox

    if its lost, client gets a few notifications more

  118. Zash

    Doesn't this kind of thing only need to be a forward-moving pointer per JID?

  119. Zash

    And then the set of (jid, id) tuples wouldn't be much larger than your roster + bookmarks

  120. Zash

    And then the set of (jid, id) tuples wouldn't be much larger than your roster + MUC/MIX bookmarks

  121. Zash

    Keeping such tuples a bit longer than the MAM retention period shouldn't be a problem

  122. lovetox

    yeah but sometimes mam is forever

  123. lovetox

    MUCs count grows over time

  124. lovetox

    but yeah ok its solveable thing

  125. Zash

    If you do have infinite MAM then that's going to be the bigger problem anyways.

  126. Zash

    JID and message ids aren't that large compared to stanzas

  127. lovetox

    i see it mainly from a, i have to query it at start perspective

  128. lovetox

    if it can grow infinitly we need paging etc etc

  129. lovetox

    more roundtrips etc

  130. carrabelloy

    Hello everyone and have a wonderful good evening with everyone and thank you very much for the inclusion at loma node. I didn't want to stay long either, but since I've installed everything on my server and I can't get into the system https://treff.darknight-coffee.org/friendica. I had to go this way. And I am very grateful that it worked out so quickly because it is private social networks. The other aspect is that it is a very good idea, but such platforms are, or are, to blame for the fact that they are so little heard or used so little. What do you find in German? A small wiki that you want to turn off at the end of the month. What else did I find on the YouTube channel? A small video that shows how you can create your profile here and upload a picture. My goodness how ridiculous that is. Then a couple of good blogs to convey to people what decentralized servers or better said home cloud is and means. Because not everyone wants to deal with the technology. Which can and should be pretty clear. Because not everyone does the same job or the same studies or anything else. The start page is also a joke from Friendica again, unfortunately, although the idea and many ideas that are developed and added in the open source world are good. But why does it all have to continue in English or just? With 500 million people this is a sign of poverty if you calculate that a quarter of them speak German, like Austria, Switzerland, Belgium, which among the Belgians is divided into French and German because there are the Walloons and the Flemings. Then the Netherlands, where some speak Dutch and German. And then Germany itself, where another 83 or even now almost 85 million citizens live. And what about these people, if you take a closer look at the statistics or ask around, it is not that everyone speaks English or even wants to. Just like me as well. I've never really been interested in English, and I never had it at school before. School was expensive back then. And one more aspect, I am more into the German language in general. And that is being pushed aside by this diversity and globalization. I've always been interested in software, and I've been interested in software for years when our government has completely overslept Ms. Merkel for the last 15 years. Now that it's getting tricky, everything has to be implemented very quickly. But what do you want from the young, broad society who like to shop and the older ones have absolutely no idea about software and technology. Soory that can't go. In addition, a lot is excluded. Some of these many projects as well as Friendica make an effort and translate a great deal and you can really be grateful to these people. But that's a drop on the iceberg. For example, I have a transport company that is still up and running, but I've been broke long ago. On the one hand, I got into this banking crisis and haven't seen my money from Spain and Greece until today. But as is well known, money is not everything in the world. And I hope that they get it the same way. And then in the early 90s I even built the first Joomla and WP stuff, i.e. a website for my transport company. And expanded like a transport exchange and many more. I'm also good from the first web design, which was ripped off. Well, and at that point in time, English has always bothered me. In addition, I had the same accident a day later, only with my bike. And I had to do a lot to bring some things back together. And the software helped me with that, and it still does today. In the past, when the first Commodore were out there or back then the first 386DX or 486 DX 40 and many more, I was lucky enough to get a few computers. A whole network. In addition, many students and friends came to visit and learned something about the DOS level and Windows and the first Open-Suse with a lot of floppy disks. I think today I would have finally managed to install the whole thing. Yes, today, definitely. Because I run Linux everywhere and I even flashed my cell phones like that. And so I am today because I live on the basic salary of just under € 800, so I can and want to let off steam here on the internet. And often it fails because of the English. Therefore there is a reason why I only use Debian, A the best largest German community and they do a lot and stable and they don't always have to be the latest craze. Hence Debian and books you get a lot too. But it's more fun in the community and I criticize that. Since the Qwell code is the same for everyone, why should only English be in the foreground?

  131. rion

    wtf? ^

  132. lovetox

    i really have to restrain myself to not click on the link

  133. Martin

    I didn't read all but I'm already puzzled.

  134. Martin

    But now I know Germany is a wiki which will soon be switched off.

  135. lovetox

    its all in there the whole history of computers

  136. lovetox

    commodore, dos, windows, linux, debian

  137. lovetox

    flopy disk, opensuse, internet ..

  138. Martin

    Where will I live after switching off? Anyone offering me asylum? I like Sweden. ;)

  139. eta


  140. theTedd

    that looks like someone testing a GPT-3 model (it generates convincing text, but the subject drifts almost as bad as a certain president; so arguably, it is realistic)

  141. Zash

    President Markov III?

  142. theTedd

    maybe his nephew