Gajim - 2025-09-24


  1. maximus

    hi, I'm recently encountering a problem where whenever I receive voice messages (or audio files in general), gajim downloads the audio as it should but I can't play it at the same time, I have to close the chat and reopen it in order to get the playback UI (with play, speed etc.)

  2. maximus

    it only apperead recently as it worked fine before

  3. maximus

    it's almost like it gets stuck at 100% downloading

  4. lovetox

    maximus: thanks, we currently rework this code, will take a look

  5. maximus

    keep up the great work!

  6. kalkin

    Good Day

  7. kalkin

    Are the devs aware that when sending a long text which contains code and gajim collapses the message in the middle of the codefence, then the highlighting is lost?

  8. kalkin

    (it is applied once you unfold the message)

  9. lovetox

    No, probably the highlight check is done after cutting the text

  10. lovetox

    Please create a issue

    👍 1
  11. kalkin

    lovetox: did you fix the issue with d&d pictures or did it fix itself because the latest gnome update changed something?

  12. lovetox

    I didn't fix anything

  13. kalkin

    well it works

  14. kalkin

    :)

  15. kalkin

    https://dev.gajim.org/gajim/gajim/-/issues/12475 ← screenshots are attached

    ❤️ 1
  16. Clint Wright

    Hello

  17. Олександр

    > https://dev.gajim.org/gajim/gajim/-/issues/12475 ← screenshots are attached ❤️

  18. Anon Ymous

    On Windows, is there a location inside the the `UserData` folder to put your own hunspell dictionaries?

  19. lovetox

    not in userdata

  20. lovetox

    but somehwere in the other folders

  21. lovetox

    check /share/hunspell

  22. Anon Ymous

    I know, I just wanted to know if it could also be in UserData. OK, then I'll have to adjust my scoop manifest to keep `share/hunspell` in its persist directory.

  23. Anon Ymous

    I know, I just wanted to know if it perhaps also searched for dictionaries somewhere inside UserData. OK, then I'll have to adjust my scoop manifest to keep `share/hunspell` in its persist directory.

  24. lovetox

    no Gajim does no search, this is automatically done by the spelling libs

  25. lovetox

    and im not aware of any way to change that

  26. Anon Ymous

    Thx

  27. tom

    there's not anything particularly useful in gajim's debug logs

  28. tom

    it just says 'no route to host' when connecting to nuegia.net because it nerver tries the other SRV records

  29. tom

    I'm only able to connect now because I turned on the tor proxy, which apparently has better ipv6 support

  30. tom

    but this is not ideal

  31. moparisthebest

    ideally it should try every possible SRV record both v4 and v6 until it successfully connects

  32. lovetox

    maybe GLib has no support for trying multiple srv entries

  33. lovetox

    anyway, you can specify the host yourself in the account connection settings, no need for tor

  34. moparisthebest

    > maybe GLib has no support for trying multiple srv entries wait what?

  35. moparisthebest

    srv records require trying multiple until you successfully connect, that's like the basic design in the original RFC

  36. lovetox

    i said maybe, i dont know and never checked, is this something you would expect from a network lib?

  37. moparisthebest

    I've never seen a network lib that supports SRV at all, that's why I'm surprised

  38. lovetox

    This call looks up the SRV record for service at domain for the “tcp” protocol. It then attempts to connect, in turn, to each of the hosts providing the service until either a connection succeeds or there are no hosts remaining.

  39. lovetox

    reads like it does support it or?

  40. lovetox

    tom: please provide an account on your server, so i can test this myself

  41. tom

    > tom: please provide an account on your server, so i can test this myself I can do that, but is this something that cannot be troubleshooted with host and netcat?

  42. moparisthebest

    > This call looks up the SRV record for service at domain for the “tcp” protocol. It then attempts to connect, in turn, to each of the hosts providing the service until either a connection succeeds or there are no hosts remaining. "connection succeeds" how is this defined? If just "TCP accepted" it's an incorrect implementation

  43. lovetox

    i dont think that is relevant

  44. lovetox

    as tom says there is no connection made at all

  45. tom

    lovetox, check your DMs for the invite code

  46. tom

    It only tries the IPv6 SRV record, gets a 'No Route to host' error and then never tries the fallback SRV which contains an IPv4 record

  47. lovetox

    but ipv6/4 has nothing to do with srv records

  48. moparisthebest

    but it's possible it has early-abort bugs triggered by certain responses I guess

  49. moparisthebest

    Which glib function is this?

  50. lovetox

    https://gitlab.gnome.org/GNOME/glib-networking

  51. lovetox

    tom, i can connect fine

  52. tom

    what version?

  53. lovetox

    [2600:3c0a:e002:bb00:d250:99ff:fe3f:3832]:5222 [2600:3c0a::f03c:95ff:fed8:2321]:5222 172.234.232.197:5222

  54. lovetox

    these ips are all tried and it succeeded then with ipv4

  55. lovetox

    can you check your glib version in the about dialog?

  56. tom

    yeah manually connecting works

  57. tom

    but gajim doesn't read alternate SRV records on FreeBSD

  58. tom

    >[2600:3c0a::f03c:95ff:fed8:2321]:5222 Where did you get this address? That should not work. I don't know who that is

  59. lovetox

    it does resolve both srv entries for me

  60. lovetox

    here a command to get more debug output

  61. tom

    ok

  62. lovetox

    set this environment var

  63. lovetox

    G_MESSAGES_DEBUG=all

  64. lovetox

    then start gajim

  65. tom

    brb

  66. lovetox

    and here my logs ``` (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.137: GSocketClient: Starting new address enumeration (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.196: GSocketClient: Address enumeration completed (out of addresses) (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.196: GSocketClient: Address enumeration failed: No DNS record of the requested type for “_xmpps-client._tcp.nuegia.net” (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.196: GSocketClient: Connection failed: No DNS record of the requested type for “_xmpps-client._tcp.nuegia.net” (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.196: g_socket_client_connect_async: starting new g_socket_client_connect_async() with GTask 0x8bfdd60 and GSocketClientAsyncConnectData 0x8d90fd0 (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.196: GSocketClient: Starting new address enumeration (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.196: lookup_by_name_with_flags_async: starting new lookup for xmpp.nuegia.net with GTask 0x8d911c0, LookupData 0x8db5710 (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.196: lookup_by_name_with_flags_async: starting new lookup for xmpp.nuegia.net with GTask 0x8bf8cb0, LookupData 0x8db85f0 (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.227: GSocketClient: Address enumeration succeeded (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.227: g_socket_client_enumerator_callback: starting connection attempt 0x8db6a90 for GSocketClientAsyncConnectData 0x8d90fd0 (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.227: GSocketClient: Starting TCP connection attempt (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.228: GSocketClient: Connection attempt failed: Network is unreachable (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.228: GSocketClient: Starting new address enumeration (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.231: IPv4 DNS error: Error resolving “xmpp.nuegia.net”: No address associated with hostname (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.231: lookup_by_name_with_flags_async: starting new lookup for r2.sea.us.nuegia.net with GTask 0x8dc1990, LookupData 0x8d82780 (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.231: lookup_by_name_with_flags_async: starting new lookup for r2.sea.us.nuegia.net with GTask 0x752f1b0, LookupData 0x8db5710 (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.265: GSocketClient: Address enumeration succeeded (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.265: g_socket_client_enumerator_callback: starting connection attempt 0x8d91af0 for GSocketClientAsyncConnectData 0x8d90fd0 (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.265: GSocketClient: Starting TCP connection attempt (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.502: GSocketClient: TCP connection successful (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.503: GSocketClient: Starting application layer connection (launch.py:252349): GLib-GIO-DEBUG: 23:59:41.503: GSocketClient: Connection successful! ```

  67. lovetox

    what i see but probably not relevant, you have no xmpps-client records, this is often tried first by clients so it would be good if you have them

  68. lovetox

    seconds it says `IPv4 DNS error: Error resolving “xmpp.nuegia.net”: No address associated with hostname`

  69. lovetox

    which is probably nothing good

  70. lovetox

    but you see in the logs it first tries ipv4/6 for xmpp.nuegia.net fails, then tries for r2.sea.us.nuegia.net and succeeds

  71. lovetox

    and here your question who the ip belongs to

  72. lovetox

    https://share.hoerist.com/philipp/message/qTfFS8MdIHXIwgIG/aa91965e-4e8d-428a-8e1b-b2af2716e81a.png

  73. tom

    It may say connection succeeded but it doesn't connect

  74. tom

    GUI says connecting still and theres no protocol traffic

  75. lovetox

    then start gajim with -v at the same time so we get what gajim does also in the log

  76. lovetox

    but i have to go to sleep now

  77. tom

    I see it

  78. tom

    Also with wireshark

  79. tom

    I think somebody is tampering with the TCP connection after gajim sends its connect string

  80. tom

    As I send that and the TCP connection stalls out

  81. tom

    I send keyboard mashing I get the usual malformed XML error

  82. tom

    Spooky

  83. tom

    Its a 'stream error'

  84. tom

    Something similar is happening with IMAP connections too with a fake TCP connect, but there's no responses even to keyboard mashing

  85. tom

    What are some things I can do if there's a mitm attack?

  86. tom

    In witeshark after the client sends its handshake string, the TCP just infinitely TCP retransmits

  87. moparisthebest

    it's probably not a mitm attack, that's like the least plausible explanation and Occam's razor says don't jump to that one

  88. tom

    What else could it be, looks like mitm to me!

  89. moparisthebest

    plenty of things, bugs most likely

  90. tom

    Whatever it is its not gajim's fault

  91. tom

    I see gajim connecting

  92. moparisthebest

    have you tried connecting from the same machine with say telnet ?

  93. tom

    But something between us is hijacking the TCP session and preventing flow after the first handshake

  94. tom

    > have you tried connecting from the same machine with say telnet ? Yes ive been testing this with netcat

  95. tom

    Its shady af

  96. tom

    Some sensitive ports TCP connect too like ssh and IMAP and SMTP but do not send anything

  97. moparisthebest

    what does netcat do

  98. agh-j

    tom: I get it with some accounts, or even certain MUCs.

  99. moparisthebest

    it could be as simple of a bug as sending data but not calling flush()

  100. tom

    Not in netcat

  101. moparisthebest

    that'll work fine sometimes, but not always

  102. agh-j

    tom: only in Gajim tho. I also use updated Gajim on FreeBSD

  103. moparisthebest

    I don't know what netcat impl you are using or when/if it flushes