Gajim - 2024-07-12


  1. amogus

    > Sadly, this is the only chat where I can assume that my reactions will be seen. An unfortunate product of mixed-client protocols. theyre appearing as normal messages if the client doesnt support them

  2. fjklp

    amogus: To be clear, I mean emoji reactions, not replies

  3. fjklp

    some people have told me that they don't see reactions

    šŸ‘ 1
  4. fjklp

    cal0pteryx: In case you might miss it, I am able to upload non-symlink files from the same directory as the symlink that fails to be selected, even without setting access permissions in flatseal. That's why I thought it might be a gajim issue.

  5. cal0pteryx

    fjklp: gajim has no influence on the file chooser

  6. lissine

    amogus: cheogram has a fallback showing the reaction as a reply, but that's not part of the protocol and thus not supported by most (all?) other clients

  7. nicoco

    lissine: that's an implementation choice by cheogram, and gajim made the choice to not use fallback for reactions. It could have but there are strong arguments against: polluting the chat, how to handle reaction editionā€¦ Arguably in 1:1 chats this is less of a problem and maybe it could be nice to use a fallback. Maybe.

  8. cat_petter_2012

    about pgp again I somehow managed to make keychain dialog work on alpine linux, gajim asking for password for gpg secret key when it's needed, but i still can' get this dialog to work on flatpak version

  9. cat_petter_2012

    https://upload.magicbroccoli.de/bbe35460f17ff35b31c80fb06f8553e8a1cc4a42/iC3V6PjRsewuroGUs70JfyUp0ZUiv7hJ7fnCxoRC/1.png

  10. cat_petter_2012

    https://upload.magicbroccoli.de/bbe35460f17ff35b31c80fb06f8553e8a1cc4a42/4t3QFSTFgEDJyRCfqtzDUsbnUNAzixyVASUeH3At/2.png

  11. cat_petter_2012

    it should look like this

  12. hannibal

    cat_petter_2012: what version of gpg-agent is running on the host system?

  13. cat_petter_2012

    gpg-agent (GnuPG) 2.2.40 debian

  14. hannibal

    That might be too old, see https://dev.gajim.org/gajim/gajim-plugins/-/issues/621#note_213585. Could you create a new issue

  15. cat_petter_2012

    > That might be too old, see https://dev.gajim.org/gajim/gajim-plugins/-/issues/621#note_213585. Could you create a new issue this issue is exactly my issue i have right now maybe i just forgot to mention that i'm using debian 12

  16. Maranda

    https://aria.im/_matrix/media/v1/download/aria-net.org/rZYKAWdqfQuRkkARseTWGnAO

  17. Maranda

    ^ lovetox debacle Gajim is breaking a MUST there if you aren't aware figured you guys wanted to know

  18. Maranda

    ^ lovetox debacle Gajim is breaking a MUST there if you aren't aware, figured you guys wanted to know

  19. lovetox

    Maranda: can you describe what's the problem is?

  20. Maranda

    lovetox: breaking 7.5 in XEP-0045

  21. Maranda

    alas it's not properly processing private messages because the x element is missing

  22. Maranda

    Note: because this requirement was only added in revision 1.28 of this XEP, receiving entities MUST NOT rely on the existence of the <x/> element on private messages for proper processing.

  23. lovetox

    Yes that's intentional

  24. Maranda

    Well you're intentionally breaking a MUST, but as long as you're aware

  25. lovetox

    Maranda, the story behind the <x> is that PMs were broken without it, MUC spec is stable so they could only add it under the condition that its totally optional.

  26. lovetox

    if clients and servers dont add it, it breaks under many conditions, this was always the case. So if clients in your chat dont add it, or you as server dev dont add it, nothing changes, it stays broken.

  27. lovetox

    The additon of <x> is not many years old, most clients add it, most servers add it, so you need to hit the rare condition, that you have a server that does not add it, and a client that does not add it, at the same time.

  28. meson

    > It surely looks nice. I would like to keep the meta data display though. Could be an overlay which shows on hover, semi-transparent, showing file name/size and a "more" button ? Here we go (more or less):

  29. meson

    https://share.conversations.im/meeson_/iHjSz0NBAaawB7UF/2024-07-12_15-55-01.mkv

  30. cal0pteryx

    meson: great, that's close to how I imagined it. The delay bugs me a bit ;) Now after removing the padding, it's done? :D

  31. meson

    cal0pteryx, there's actually no delay

  32. meson

    don't know why it's in the video

  33. cal0pteryx

    Ah, perfect

  34. meson

    > Now after removing the padding, it's done? :D I'm not sure how to remove it

  35. cal0pteryx

    meson: you can do a MR, then I can have a look

  36. meson

    It's a bit of a hack, but I tried to modify as less as possible of the existing code

  37. meson

    It feels a bit of a hack, but I tried to modify as less as possible of the existing code

  38. meson

    One known issue: The info label keeps saying "Downloading ...", until you re-open the chat. I don't understand why

  39. meson

    One known issue: The info label keeps saying "Downloading ...", after having downloaded an image, until you re-open the chat. I don't understand why

  40. cal0pteryx

    meson: let's see :)

  41. meson

    CI fails ofc, I haven't really looked into finishing it fully yet

  42. meson

    > class PreviewAudioVideoBuilder(Builder): How did that end up there...? ;)

  43. meson

    Also `from sqlalchemy import over`. Maybe some rebasing issue.

  44. cal0pteryx

    meson: looks rather like an automatic import from trying to complete "overlay" :D

  45. cal0pteryx

    I'll have a look later :) thanks

    šŸ‘ 1
  46. meson

    > Dino is based on gtk 4. Video player widgets come for free there That's actually only semi-true. as far as I know you only get a very very basic video player for free. For everything a bit more sophisticated, you need to write it yourself using gstreamer.

  47. meson

    > Dino is based on gtk 4. Video player widgets come for free there That's actually only semi-true. as far as I know you only get a very very basic video player for free. For everything a bit more sophisticated, like overlays, you need to write it yourself using gstreamer.

  48. cal0pteryx

    I see

  49. Link Mauve

    meson, weā€™re working on improving compositor offloading in GTK right now, once this is working better this is definitely a candidate to move into the GtkVideo widget.

  50. Link Mauve

    On my PinePhone it uses the most optimal path for the video, doing the decoding in hardware, then exporting a dmabuf from it, then importing it as a Wayland buffer, which the compositor can display on a DRM plane.

  51. meson

    Link Mauve: sounds great

  52. Link Mauve

    For a 1080p VP8 video at 30ā€Æfps, it takes 30% of CPU in Livi (a Light Video player built in GTK), and then 10% in the compositor, at idle CPU frequency.

  53. Link Mauve

    And doesnā€™t use the GPU whatsoever. :)

  54. meson

    > I see https://docs.gtk.org/gtk4/class.Video.html > GtkVideo aims to cover use cases such as previews, embedded animations, etc. It supports autoplay, looping, and simple media controls. It does not have support for video overlays, multichannel audio, device selection, or input. If you are writing a full-fledged video player, you may want to use the GdkPaintable API and a media framework such as Gstreamer directly. Alright, reading it again, it sounds sufficient for a messenger. O:-)

  55. cal0pteryx

    Many checkmarks āœ…

  56. Link Mauve

    meson, and if you are missing anything, the devs would very much like to hear about it.

  57. meson

    Link Mauve, sure. I've got just one question, is there also a component in Gtk4 you could use for an audio player? In Gajim we already have one, but maybe eg for Dino? There's GtkMediaFile and GtkMediaStream but both talk only about video playback. Is an audio a video with only sound? ;)

  58. Link Mauve

    I would expect it to be yeah.

  59. Link Mauve

    But AFAIK in Gajim you have a much more fancy widget for that.

  60. Link Mauve

    (I should update at some point.)

  61. meson

    which version are you on currently?

  62. Link Mauve

    Something around 1.9.0 I think.

  63. Link Mauve

    But I donā€™t use Gajim.

  64. Link Mauve

    And thankfully my friends donā€™t send me voice messages.

  65. meson

    I've 1/3 written a plugin for voice message to text transcription in Gajim for your friends :P

  66. Link Mauve

    Donā€™t tell them. o:)

  67. Link Mauve

    Which model are you using to do that btw?

  68. Link Mauve

    And which tool to run the model?

  69. meson

    I've implemented support for two models so far: openai-whisper and faster-whisper

  70. Link Mauve

    I wonder how expensive that would be to run on my phone, since it only has a Cortex-A53ā€¦

  71. meson

    https://github.com/openai/whisper and https://github.com/SYSTRAN/faster-whisper/

  72. meson

    I would definitely recommend the latter

  73. meson

    plus maybe this patch: https://github.com/SYSTRAN/faster-whisper/pull/856

  74. Link Mauve

    Does it make sense to do transcription and translation as a single step?

  75. meson

    I'm not sure, but it's possible with these tools

  76. Link Mauve

    I mean thatā€™s what they advertise, but that sounds like bloat if you only want to do transcription.

  77. meson

    Good question whether you could separate it and how much you would actually save in terms of model size, LOCs, ... I'm not going to explore it now. šŸ™ƒļø

  78. fjklp

    Am I the only person noticing that the bounce animation of the text when I post a new message to chat is very noticeably slowed down in flatpak versys non-flatpak?

  79. yessikg

    I only installed flatpak but it's not slow for me

  80. fjklp

    instead of slow, maybe I should say the animation is choppy or not smooth

  81. cat_petter_2012

    GPU acceleration?

  82. fjklp

    cat_petter_2012: you have any idea how I can verify/test for that?

  83. cat_petter_2012

    no idea, just a suggestion

  84. cat_petter_2012

    i have gpu acceleration enabled, but I don't pay attention to smoothines or wharever

  85. fjklp

    well, I am comparing flatpak to non-flatpak. Non-flatpak is smooth, flatpak is not

  86. cat_petter_2012

    https://upload.magicbroccoli.de/bbe35460f17ff35b31c80fb06f8553e8a1cc4a42/hqdCwOppbZ0aSTCsGrgHHJgSYkaiLsEu3RA1Ywmf/b9797183-8a0e-4237-a18b-8c6a521df84b.png

  87. Link Mauve

    cat_petter_2012, GTKā€Æ3.x didnā€™t support GPU acceleration, so that flag isnā€™t of any use.

  88. meson

    Link Mauve: do you know if plain gtk4 is sufficient for responive UIs or is libadwaita or libhandy needed?

  89. Link Mauve

    meson, responsive as in, working with the same .ui file from phone screens to huge 4K screens?

  90. meson

    Yes

  91. meson

    Or let's say, at least adjust the size of an image preview automatically when changjng the window's width

  92. Link Mauve

    You want libadwaita for that, it provides widgets with breakpoints that let you do media queries and adapt the UI to the current window size.

  93. Link Mauve

    meson, widgets all do their sizing, so you could adapt to the window size during reflow, I donā€™t think libadwaita provides any specific widget for that.

  94. meson

    Do you know if that is something which could be easily done with gtk3 in Gajim too? Or has gtk4 advantages?

  95. Link Mauve

    I know very little about GTKā€Æ3.x at this point sorry.

  96. meson

    No problem, thank you very much anyway

  97. Link Mauve

    Iā€™ve spent the past four-ish years working exclusively with 4.x.

  98. meson

    Then you are kind of an expert on that matter? :)

  99. Link Mauve

    Mostly just on the parts which interest me, such as GPU acceleration. :p

  100. Link Mauve

    Using the toolkit, or designing UIs, Iā€™m very much not good at that. ^^'

  101. Link Mauve

    Iā€™ve done quite a bit of migration to 4.0 though, but then that was quite long ago already.

  102. Link Mauve

    Weā€™re already at 4.16.

  103. meson

    That's like 2/3 of gtk3's lifetime? Anyway, I expect a port to such a huge codebase as Gajim's to be a tremendous task or how do you see it?

  104. Link Mauve

    3.x was developed for about ten years yeah, before it went into maintainance mode.

  105. Link Mauve

    meson, Python is an extremely bad language for such large refactorings indeed, as there is no tool to help you catch API changes or removals. :s

  106. Link Mauve

    Nowadys with mypy itā€™s slightly better, but Iā€™m not even sure the current gi.repository stuff is typed enough for that to work.

  107. Link Mauve

    I think before attempting anything towards that I would first try to make such tools work and report misuses of the current APIs, to make sure changing the version will report everything at once.

  108. Link Mauve

    Basically what languages with compilers get for free.

  109. meson

    I need to go! Thanks so far for the insights

  110. Link Mauve

    Without doing that upfront, youā€™re going to suffer the same way the Gajimā€Æ1.0 release suffered, for many years users were still going through the fallout of the python2 ā†’ python3 and gtk2 ā†’ gtk3 migrations.

  111. Link Mauve

    Because there is no guarantee whatsoever that you didnā€™t miss a tiny call somewhere.

  112. Link Mauve

    See you later! I probably should sleep as well, Iā€™ve had a fever the entire day and just couldnā€™t stop doing things. :(

  113. cal0pteryx

    fjklp: there is no bouncy animation :D I guess what you see is rows resizing in height?

  114. cal0pteryx

    Link Mauve: pygobject is now statically typed, there are pygobject-stubs. Works really well

  115. cal0pteryx

    And with pyright there is a fast linter as well

  116. Link Mauve

    cal0pteryx, do you use that with Gajim nowadays?

  117. cal0pteryx

    Link Mauve: yes

  118. Link Mauve

    Cool! Then GTKā€Æ4 might be much easier than GTKā€Æ3 was!

  119. Link Mauve

    And much shorter, as you can see when things will work, as opposed to not.

  120. cal0pteryx

    I think so, yes. But the code base is huge nevertheless

  121. fjklp

    > fjklp: there is no bouncy animation :D I guess what you see is rows resizing in height? Anything that changes the vertical position of the chat text causes it to move up or down in a "smooth" motion, not suddenly

  122. Link Mauve

    Sure, but we also had that issue in Inkscape and that worked nonetheless.

  123. cal0pteryx

    fjklp: not for me :)

  124. fjklp

    wtf

  125. fjklp

    I don't know where that comes from but setting my theme to either Adwaita or Adwaita dark still has this animation

  126. Link Mauve

    Alright, time to really attempt to sleep, again.

  127. fjklp

    https://upload.gajim.org:5281/upload/bzWtO8ozL9G2rzU8bEdwn2wG/gajim-text-animation.webm

  128. fjklp

    cal0pteryx: ^

  129. fjklp

    I even have 'reduce animation' turned on in gnome

  130. fjklp

    is this really not how the text is rendered for other people?