Gajim - 2025-07-08


  1. mirux

    not sure if pasting an application error here is ok or should I open an issue?

  2. mirux

    ## Versions - OS: Windows 10.0.19045 - GTK: 4.18.6 - PyGObject: 3.52.3 - GLib: 2.84.3 - Adw: 1.7.5 - libsoup: 3.6.5 - python-nbxmpp: 6.2.0 - Gajim: 2.3.2 ## Traceback ``` Traceback (most recent call last): File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.12/site-packages/gajim/gtk/control.py", line 586, in _request_history File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.12/site-packages/gajim/gtk/control.py", line 559, in _request_messages File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.12/site-packages/gajim/gtk/control.py", line 106, in contact AssertionError

  3. cal0pteryx

    mirux: a way to reproduce this would be nice :) how did this happen?

  4. mirux

    good point, I cant remember which exact action

  5. mirux

    trying to remember/reproduce, sry, no more info atm

  6. mesonium

    Screw pixbuf, just do `picture.set_file(Gio.File.new_for_path(filepath))` and all the performance bottlenecks are gone :D

  7. mesonium

    it's now as fluent as with the color tiles before

  8. mesonium

    (called in a thread though)

  9. cal0pteryx

    Picture loads the file as-is into ram? Or does it convert it to the required size on the fly?

  10. mesonium

    https://docs.gtk.org/gtk4/enum.ContentFit.html > Scale the content to fit the allocation, while taking its aspect ratio in consideration. I get it scales it automatically using this option

  11. lovetox

    mesonium: you should not call any gtk operations in a thread

  12. mesonium

    lovetox, yes, I noticed that right now, due to crashes.

  13. lovetox

    Gtk is not thread safe

  14. lovetox

    And loading a file needs no python thread because it offers a async api

  15. lovetox

    So simply assign the bytes to the picture on the callback

  16. mesonium

    like we do in Gajim, right?

  17. lovetox

    Somewhere yes

  18. lovetox

    But maybe you need some kind of queue

  19. lovetox

    Because calling async api on 1000 files at the same time will probably reach some glib task or thread limit

  20. lovetox

    You could also have a file loading thread that passes the bytes with idle_add

  21. lovetox

    Though also this has limits if you call 1000 times idle_add in the same mainloop iteration, the next iteration will still block

  22. mesonium

    alright, thanks, I will need some time to think about it and try things out.

  23. lovetox

    Also I think this will create a memory problem for many files, as I never seen any memory released, maybe check that

    👍 1
  24. bot

    wurstsalat pushed 1 commits to branch gajim/master perf: Preferences: Load plugin manifests in idle fashion to avoid blocking the UI - https://dev.gajim.org/gajim/gajim/-/commit/9d8e36aa29bd53df1d0c5eef8ac9b7795b7ade9b

  25. Link Mauve

    Hi, I just upgraded to Gajim 2.3.2, but I get a log of “2025-07-08 20:14:47 (E) nbxmpp.stream (jabber.fr) Unable to connect to jabber.fr” and I can’t figure out how to open the XML console any more.

  26. Patrick

    Windows 11. Just upgraded to 2.3.2. Previous version used to blink/flash the chat window when I receive a new message. I can't seem to find where to make 2.3.2 flash the window.

  27. lovetox

    Link Mauve, ctrl + shift + x, or preferences -> advanced -> xml xonsile

  28. lovetox

    Link Mauve, ctrl + shift + x, or preferences -> advanced -> xml console

  29. lovetox

    Patrick, it was missed, it comes back in the next version

    👍 1
  30. Patrick

    > Patrick, it was missed, it comes back in the next version thank you for this information :)

  31. Link Mauve

    lovetox, thanks, but it says the same error with no additional info: 2025-07-08 20:39:16 (E) nbxmpp.stream | (jabber.fr) Unable to connect to jabber.fr

  32. lovetox

    you need to run gajim -v

  33. Link Mauve

    Ah thanks, I didn’t have the Tor daemon running: 2025-07-08 20:46:25 (I) nbxmpp.connection (jabber.fr) Connecting to proxy ([::1]:9050) 2025-07-08 20:46:25 (I) nbxmpp.connection (jabber.fr) Connect Error: g-io-error-quark: Could not connect to proxy server 127.0.0.1: Connection refused (39)

  34. Link Mauve

    It might be useful to display this information to the user, if the proxy is failing rather than the connection to the server.

    👍 1
  35. bot

    wurstsalat pushed 2 commits to branch gajim/master cfix: Certificate/device info: Make strings translatable - https://dev.gajim.org/gajim/gajim/-/commit/02b572d56cdc4b648d305c6524c84d05369a015e imprv: Group chat management: Use Adw widgets - https://dev.gajim.org/gajim/gajim/-/commit/f18309c03009ebf4b4614842f09318d91e6e1196

  36. The Wild

    > mesonium: wow! Your work seems great. Simple, fluid. I know people who will be very enthusiastic about thi. I know a friend for whom its a big criterion to have this tyle of feature (media viewer) > > Thanks > Always happy to see how much people in the FOSS communities are willing to put work into ❤️

  37. bot

    wurstsalat pushed 1 commits to branch gajim/master fix: Preview: Guard for errors while trying to create thumbnails - https://dev.gajim.org/gajim/gajim/-/commit/143a7c2be7ae9037cc18986a645c3cf03b3a9049

  38. bot

    wurstsalat pushed 1 commits to branch gajim/master fix: Preview: Guard file access checks - https://dev.gajim.org/gajim/gajim/-/commit/255e4fe3ba5460ba623bd67bc1e4f7a9f8613d9e

  39. bot

    wurstsalat pushed 1 commits to branch gajim/master fix: Preview: Guard for more errors while trying to save file - https://dev.gajim.org/gajim/gajim/-/commit/94986a1ccd888012a3b058018690a61d8181338a

  40. Link Mauve

    cal0pteryx, why do you copy the file rather than moving it there, or even saving it in place?

  41. cal0pteryx

    because it's "Save as"

  42. Link Mauve

    Ah, so you already saved the file in some internal Gajim directory, and then just copy it? Gotcha!

  43. cal0pteryx

    it's always saved in "downloads", but "Save as" works as a shortcut to save in a different place

  44. Link Mauve

    Thanks for the explanation. :)

  45. cal0pteryx

    Surprisingly many ways for things to go wrong :D

  46. Link Mauve

    Yeah. ^^'

  47. Link Mauve

    Especially in languages which don’t force you to handle exceptions.