Gajim - 2024-06-15


  1. fjklp

    PCRE message history search when? :)

  2. fjklp

    what is cert_store for and should these files be migrated?

  3. fjklp

    https://dev.gajim.org/gajim/gajim/-/blob/master/flatpak/README.md#migrate-your-data says to `Copy ~/.local/share/gajim -> ~/.var/app/org.gajim.Gajim/data/gajim`

  4. fjklp

    so this means overwrite the logs.db that already exists for the flatpak install, then when started gajim flatpak converts it to the new db?

  5. lovetox

    Trusted certificates

  6. acursedcomrade

    im using the flakpak version and dark mode does not work for me. the only place the theme changes is subject dialogue box inside the chat, rest of the UI stays in light mode.

  7. acursedcomrade

    im using the flakpak version and dark mode does not work for me. the only place the theme changes is the subject dialogue box inside the chat, rest of the UI stays in light mode.

  8. acursedcomrade

    talked too soon, i remembered this flatpak guide exists for theming: https://docs.flatpak.org/en/latest/desktop-integration.html#theming

  9. fjklp

    I kind of like the idea of gajim being packaged with some built in theme options

  10. meson

    I've incorporate `PreferenceBoxes` into my plugin, interestingly for `SettingsKind.POPOVER` the text in the UI does not change when selecting an item, only when re-opening the plugin settings dialog. It works though for `.COMBO` or `.SWITCH`. Maybe you have an idea why? See for example https://dev.gajim.org/mesonium/gajim-plugins/-/blob/stt_voice_messages/stt_voice_messages/gtk/config_dialog.py?ref_type=heads#L217

  11. meson

    The plugin config is changed, it's purely a visual thing.

  12. meson

    (I can live with combo boxes anyway)

  13. lovetox

    hm seems this does not work good with callbacks

  14. lovetox

    the popover bound to a gajim setting, and only will change the text once the setting is changed

  15. lovetox

    as you dont modify any gajim setting it never changes

  16. lovetox

    you can overwrite the _on_menu_row_activated() method of the popoversetting

  17. lovetox

    and call _on_setting_changed() directly from there

  18. lovetox

    hm but then you have to create your own setting subclass

  19. lovetox

    ...

  20. lovetox

    hm i think this needs to be fixed in Gajim, i have to think about how

  21. famfo

    Are there plans to support flipped pages for MAM in gajim? I have looked at implementing it myself a bit but got stuck on not entirely understanding how the archive is implemented on the Gajim side (got it to work in nbxmpp though).

  22. lovetox

    whats your end goal?

  23. famfo

    Sync the history in a way where the newest messages are synced first. My current issue is that I need to wait quite a long time for a full sync to show messages I care about

  24. lovetox

    hm you actually dont need more then simply adding the parameter in the mam request

  25. lovetox

    not sure there is something to do in Gajim

  26. lovetox

    of course this will break sometimes, because you change the order, that means if 2 messages are received with the same timestamp they will be shown in the wrong order

  27. lovetox

    but if you are on ejabberd, which has microsecond timestamps this should be no problem

  28. famfo

    the issue is that gajim syncs 70 messages, stores them, syncs another 70 messages (set as the default limit in nbxmpp), so that requires some changes on the gajim side

  29. lovetox

    we store messages when they come in

  30. lovetox

    the page size is irrelevant

  31. lovetox

    just flipping is not enough

  32. lovetox

    you would need to do a request backwards

  33. lovetox

    or rather start requesting the last page first

  34. lovetox

    flipping is just a very minor optimization, to get the messages *within* one page in different order

  35. famfo

    > or rather start requesting the last page first yea, that's where I ran into problems and that's why I came here to ask about that

  36. lovetox

    yes we dont do backwards queries, and this will break in various places

  37. lovetox

    but requesting the last page first

  38. lovetox

    is still only a task in nbxmpp

  39. lovetox

    you need to read the RSM XEP to get an idea how that works

  40. lovetox

    what comes to mind is, you need to disable _set_message_archive_info() that it records the current mam id

  41. lovetox

    because this method currently expects that they arrive in chronological order

  42. lovetox

    and then of course the major problem you have when the mam request fails in the middle

  43. lovetox

    then you suddenly have a hole in your history, but where does this hole begin and where does it end

  44. lovetox

    we currently have no place to store such information, and if you have one history hole, you can have multiple, and then you need to discover on start that you have a hole and query only that hole

  45. lovetox

    and thats all under the assumption servers will never send 2 messages with the same timestamp

  46. lovetox

    so you have a attribute on which you can order messages when loading them from the database

  47. lovetox

    but this is not the case for prosody, a server that is probably used by most users in xmpp

  48. lovetox

    you can dive into that rabbit whole, but i would say simply waiting a bit on start for the sync to finish, is a relative small price to pay

  49. lovetox

    you can dive into that rabbithole, but i would say simply waiting a bit on start for the sync to finish, is a relative small price to pay

  50. famfo

    Okay, I see what the issue with that is, thanks for the information