Gajim - 2024-05-02


  1. singpolyma

    Are the gajim nightly debs working? When I try to update apt tells me there's no update even though I have a version from november

  2. fjklp

    > we cannot build debian packages right now > because sqlalchemy, a new dependency is not in debian unstable > you can use flatpak singpolyma: that's from lovetox on april 14

  3. nicoco

    > nicoco, are there any lmitations on some bridges Gajim should know lovetox: as much as possible slidge replies with error stanzas on operations that are not permitted. I wonder if nick change attempt is covered though? Slidge uses the thing were it forces your nickname when you join a room, no matter the one you tried to use and gajim supports this nicely already (most clients actually, beagle is the only one I use that still don't respect this part of XEP-0045)

  4. nicoco

    > There's a working and recommandable WA bridge? meson: yes there is ;) https://git.sr.ht/~nicoco/slidge-whatsapp

  5. nicoco

    lovetox: I just tried specifically to change my nickname and slidge just silently ignores the "nickname change presence", which is not correct, apparently it should reply with this https://xmpp.org/extensions/xep-0045.html#example-53 -- there's always new stuff to be found in XEP-0045 ๐Ÿ˜†๏ธ I've opened https://todo.sr.ht/~nicoco/slidge/196 - I don't think (but maybe didn't search hard enough) there's a way for MUCs to tell clients in advance that it's not possible to change their nickname, so that the option would be just grayed out in gajim's UI?

  6. nicoco

    Also, since you're mentioning bridge support in gajim, there's this very small PR waiting for feedback https://dev.gajim.org/gajim/gajim/-/merge_requests/988 - it just adds the "transport icon" to MUC avatars, just like gajim already does for contact avatars.

  7. lovetox

    I ask because we could additionally disable it in Gajim

  8. lovetox

    For specific gateways

  9. nicoco

    For most (maybe all?) networks supported by slidge, there is no notion of "muc-specific nickname" (maybe discord has somehow? I should check that someday)

  10. nicoco

    It doesn't feel right to make this transport-specific IMHO, but I think MUCs in general should advertise in their disco info (or muc config form or something) that it's not possible to rename oneself in there.

  11. nicoco

    It doesn't feel right to make this transport-specific IMHO, but I think MUCs in general should advertise in their disco info (or muc config form or something) if it's not possible to rename oneself in there.

  12. nicoco

    GG with XEP-0461 guys! I'm already opening tickets about it ๐Ÿ˜๏ธ

  13. nicoco

    But it's pretty cool to have the feature :)

  14. cal0pteryx

    > GG with XEP-0461 guys! I'm already opening tickets about it ๐Ÿ˜๏ธ That's great! :)

  15. bot

    lovetox pushed 2 commits to branch gajim/master refactor: MessageRow: Use kwargs for clarity - https://dev.gajim.org/gajim/gajim/-/commit/91078eb7b759c0c986ca775964db3c727f4d243d refactor: Pass only original message around - https://dev.gajim.org/gajim/gajim/-/commit/5f12092a14aea923a4a0e37a0eedc4a4448a37e8

  16. fjklp

    I'm pretty excited by the addition of message replies. Thanks guys!

  17. fjklp

    has anyone noticed an increase of disk activity when starting up gajim since the new database layout?

  18. fjklp

    has anyone noticed an increase of disk activity and startup time when starting up gajim since the new database layout?

  19. fjklp

    and I mean it looks like an abnormal amount of disk activity. I haven't measured yet.

  20. bot

    lovetox pushed 1 commits to branch gajim/master cfix: ArchiveStorage: Donโ€™t fail there is no message found - https://dev.gajim.org/gajim/gajim/-/commit/40aba5bde85bc98b224b7b8a66ac3a64c547af34

  21. nicoco

    Hahaha lovetox I just opened a PR for this one xD

  22. nicoco

    This is a bugfixing race!

  23. lovetox

    sorry :)

  24. nicoco

    > has anyone noticed an increase of disk activity and startup time when starting up gajim since the new database layout? Not really, but I have a fairly fast SSDโ€ฆ

  25. nicoco

    lovetox: before fixing more, here's another short one: https://dev.gajim.org/gajim/gajim/-/merge_requests/1039

  26. nicoco

    although I'm not 100% if it should be with or without fallback in here

  27. lovetox

    it doesnt matter, the value in the dict is never used

  28. nicoco

    pretty annoying that the type checker didn't catch this one!

  29. lovetox

    it did for me

  30. lovetox

    we just dont check that module

  31. lovetox

    because it has too many other errors

  32. nicoco

    Oh OK, I guess I meant "CI didn't catch this one" because sure, my IDE too underlined it :)

  33. lovetox

    could you change it so we assign the res from get_text() to some variable

  34. lovetox

    because it will be then needed twice in that method

  35. nicoco

    sure

  36. lovetox

    and your commit message is not great :D

  37. lovetox

    dont make the prefix part of the statement

  38. lovetox

    the prefix will be gone later, we have prefixes so the changelog tool takes the message and puts it into the changelog

  39. lovetox

    if you do fix: Sending Message

  40. nicoco

    cfix: Fixes sending OMEMO-encrypted messages in MUCs

  41. nicoco

    is that good?

  42. lovetox

    later in the change log it will just say "Sending Message"

  43. nicoco

    yes, I'm very jealous of your autochangelog this, I need to set it up for slidge :)

  44. nicoco

    yes, I'm very jealous of your autochangelog thing, I need to set it up for slidge :)

  45. lovetox

    yes thats better

  46. lovetox

    or even better "Fix"

  47. lovetox

    if you didnt see it yet in our contributing file

  48. lovetox

    https://chris.beams.io/posts/git-commit/

  49. nicoco

    there you go

  50. lovetox

    lets say i try to write my commit messages with that guide in mind

  51. lovetox

    not always succeeding at it of course

  52. lovetox

    and when i think about a commit message for more than 60 seconds, sometimes i give up :D

  53. nicoco

    I read various blog posts about good commit messages, but then as with a lot of other things, I forget to apply it quite often :)

  54. nicoco

    > and when i think about a commit message for more than 60 seconds, sometimes i give up :D ๐Ÿ˜†๏ธ (yes, we need 0444 now)

  55. fjklp

    > and when i think about a commit message for more than 60 seconds, sometimes i give up :D I know that feeling with bug report titles

  56. fjklp

    Is there any downside or possible pitfall with alternating between different databases or different installs of gajim on the same accounts? Will catching up on MAM sync on one install or database result in the other not downloading messages? Where is the mam sync state stored?

  57. lovetox

    dont waste your time

  58. lovetox

    not sure what you are trying to show, yes we request a lot more data from the database, thats expected if you go from 3 to 12 tables

  59. lovetox

    nicoco, did you push your changes?

  60. lovetox

    MR looks the same

  61. fjklp

    I was asking for reasons of general testing, not just disk activity. But the disk activity looks crazy, so I'll look into that too.

  62. fjklp

    it would be nice to know if switching between databases or installs will result in messages not being synced

  63. fjklp

    unless the answer is too complex

  64. lovetox

    what databases?

  65. fjklp

    any that are relevant

  66. fjklp

    like messages, specifically

  67. lovetox

    i dont get it, there is one database, where do you want to switch to

  68. fjklp

    the old layout had multiple, like logs.db, settings.sqlite, and omemo stuff

  69. lovetox

    but how does "switching" work

  70. fjklp

    let's say I'm switching between old gajim with old db and new gajim with new db

  71. lovetox

    you cannot switch back, you can create a old db, then migrate it when switching to the new version

  72. lovetox

    more disk activity is expected, as more requests are made to the database

  73. lovetox

    so what more info would you hope for from a comparison

  74. fjklp

    it just looks like an abnormal/unacceptable amount looking at my disk activity light, other applications never cause this much. I'm on a decent NVME drive.

  75. fjklp

    again, that's not the only reason I asked about pitfalls with switching between installs/databases

  76. lovetox

    you cannot switch, you can upgrade a database once

  77. fjklp

    I currently have gajim-nightly deb and gajim-nightly flatpak installed at the same time

  78. lovetox

    thats not switching, thats having 2 installations

  79. lovetox

    yes you can run 2 installations ..

  80. fjklp

    I just compared old db to new db installs. Old db, which has multiple accounts enabled and is joined to more chats, took 12 seconds to finish connecting to all chats. New db, which has one account enabled and fewer chats joined, took 42 seconds. Is this expected?

  81. fjklp

    oh, and I had just run both versions seconds before so there were basically no messages to sync in both cases

  82. lovetox

    i would say no its not expected, connecting also has nothing to do with the database

  83. lovetox

    as we store only messages there

  84. lovetox

    hm no, on mucs there is now a database access per presence

  85. lovetox

    so joining MUCs is probably slower

  86. lovetox

    you could try to disable _store_occupant_info() in the MUC module

  87. nicoco

    > nicoco, did you push your changes? oopsie. now it's pushed

  88. bot

    lovetox pushed 1 commits to branch gajim/master cfix: Fix sending OMEMO-encrypted messages in MUCs - https://dev.gajim.org/gajim/gajim/-/commit/d0a9c6c9d9265816eb7a3a90feb90cd8d086fff8

  89. lovetox

    hm i guess we could gather all presences while join, and commit them at once after join

  90. lovetox

    instead of commiting each one

  91. fjklp

    I assume memory consumption is a concern for a consideration like that? How do you decide on these things? Just try it and see what happens or do calculations?

  92. fjklp

    I guess it's a relatively small amount of data

  93. fjklp

    I guess it's a relatively small amount of data. wait, that's all probably stored in memory anyway.

  94. lovetox

    yeah that would only become a problem if we are talking about a million muc users

  95. lovetox

    at that point, a lot of other things would be first a problem

  96. lovetox

    but would be cool if you could try to disable that method

  97. lovetox

    to see if its really the problem

  98. fjklp

    I'm going to try with my flatpak install

  99. fjklp

    \/files/lib/python3.11/site-packages/nbxmpp/modules/muc/muc.py ?

  100. fjklp

    /files/lib/python3.11/site-packages/nbxmpp/modules/muc/muc.py ?

  101. MarsIronPI

    Is there some way to disconnect and reconnect to a MUC without closing it?

  102. fjklp

    lovetox: do I just commend the line that is `self._store_occupant_info(room, properties)` in muc.py?

  103. fjklp

    lovetox: do I just comment the line that is `self._store_occupant_info(room, properties)` in muc.py?

  104. lovetox

    yes

  105. lovetox

    MarsIronPI, no

  106. lovetox

    why you dont want to close it?

  107. MarsIronPI

    because then I'd have to reopen it

  108. MarsIronPI

    it just feels like there should be a "reconnect" option

  109. MarsIronPI

    it just feels like there should be a "reconnect" button

  110. lovetox

    ok so you are saying its disconnected?

  111. lovetox

    that should not happen

  112. MarsIronPI

    it looks like it reconnected by itself now

  113. MarsIronPI

    so never mind, I guess

  114. lovetox

    if gajim can show you a reconnect button, it can also itself simply reconnect and dont show you a button

  115. MarsIronPI

    yeah

  116. fjklp

    lovetox: casual measurements from launch to all chats connected: old gajim database: ~12 seconds new gajim database: 42-43 seconds new gajim database with _store_occupant_info commented: 16-19 seconds Also, with that commented there is a tiny fraction of disk activity compared to _store_occupant_info enabled. This seems like disk activity is the bottleneck.

  117. fjklp

    again, I have a nvme drive so this must be a lot of disk activity

  118. fjklp

    not that code should be expected to not work right on a spinning disk, in my opinion

  119. fjklp

    again, there are more chats joined on the old database install, so this isn't even an apples to apples comparison

  120. fjklp

    is it committing once per presence?

  121. lovetox

    thanks for testing, i will see how we can optimize that method

  122. lovetox

    > is it committing once per presence? yes

  123. fjklp

    cool, happy to help

  124. fjklp

    haha

  125. lovetox

    it could also be a problem with indexes

  126. lovetox

    i have to look into it

  127. lovetox

    but yeah multiple thousand commits in a few seconds could be too much

  128. fjklp

    please don't killl my flash storage :(

  129. fjklp

    I'm not even using an irc bridge at the moment. I can't imagine how bad it would be in that case where I'm joined to chats that have more than 1000 occupants.

  130. MarsIronPI

    fjklp, heh I'm joined to several large channels on Libera

  131. MarsIronPI

    I feel like Converse.js doesn't handle it well

  132. fjklp

    are you using gajim-nightly for that?

  133. fjklp

    I'll probably test it

  134. MarsIronPI

    fjklp, I'm using a fork that adds DTLS-SRTP

  135. MarsIronPI

    But it was working fine on the version in Gentoo as well

  136. MarsIronPI

    And I'm only on a Core 2 Duo

  137. fjklp

    > fjklp, I'm using a fork that adds DTLS-SRTP which one? and is it working well?

  138. MarsIronPI

    I haven't tested calls. It's the old one that still uses farstream and gstreamer

  139. MarsIronPI

    I also have the forked versions of thoes

  140. MarsIronPI

    I also have the forked versions of those

  141. MarsIronPI

    lovetox, how does Gajim detect disconnects if it doesn't support MUC ping?

  142. lovetox

    it doesnt

  143. lovetox

    MUC ping is for a very rare problem

  144. lovetox

    its when the server shutsdown, and does not tell us

  145. MarsIronPI

    > its when the server shutsdown, and does not tell us Oh. I thought it was for casual disconnects that could happen semi-randomly

  146. MarsIronPI

    > it doesnt then how does it know if it's connected?

  147. lovetox

    it simply assumes it until it gets other information

  148. MarsIronPI

    OK