-
bullgard4
[Debian 12, Xfce4.18] '~$ /usr/bin/gajim' answers: "No translation path available. Gajim is already running. The primary instance will handle remote commands." What remote command is suitable to start the GUI of the program?
-
cal0pteryx
bullgard4: Gajim is already running. You need to use either that instance or close it before opening another one
-
zoidberg
Hello guys, just updated to 2.3.3, how can i reach the debug console now?
-
mesonium
Shift + Ctrl + X (see hotkeys help dialog) or Preferences -> Advanced -> Debug Console
👍 1 -
zoidberg
THX
👍 1 -
tester123x
hello
-
tester123x
comparing ram consumption gajim vs pidgin
-
tester123x
gajim 659mb pidgin 90mb is this normal?
-
cal0pteryx
tester123x: yes
-
bot
lovetox pushed 1 commits to branch gajim/master imprv: OMEMOTrustManager: Add copy button and make some design improvements - https://dev.gajim.org/gajim/gajim/-/commit/e3c99ef07c4b31b601aec7d99666da12932f1e21
-
Rebeld (jab.im)
> gajim 659mb pidgin 90mb is this normal? Some haters are saying that Gajim is being developed in a scripting language. I don't know is this is true. I hope not. Some haters are spreading fake news, they say it's python, the script kids "programming" language.
-
chud
RAM consumption probably has more to do with pidgin using an outdated version or GTK.
-
voker57
nonsense, gtk4 does not consume more RAM
-
chud
It does. Example: https://forum.manjaro.org/t/pamac-gui-ram-usage/146639 Ram usage blowing up for times just between gtk3->gtk4. And pidgin is gtk2. Also, Dino consumes about as much RAM as Gajim, while not being Python.✎ -
chud
It does. Example: https://forum.manjaro.org/t/pamac-gui-ram-usage/146639 Ram usage blowing up 4 times just between gtk3->gtk4. And pidgin is gtk2. Also, Dino consumes about as much RAM as Gajim, while not being Python. ✏
-
voker57
it's also written in some scripting junk
-
lovetox
also comparing apple with oranges, pidgin almost a text only client, like some irc client
-
lovetox
BUT, i definitly think there are some problems with memory managment in pygobject
-
lovetox
it seems impossible to release memory once its allocated
🤣 1 -
lovetox
but most people that write GTK applications dont care, because almost nobody writes long running GUI applications
🤦 1 -
chud
> it's also written in some scripting junk No ↺
-
chud
My bad, Dino actually consumes "only" 220 megabytes.
-
chud
I just checked out of curiosity. Nautilus consumes 120 megabytes. It would seem to be of comparable if not greater gui complexity them chat clients.✎ -
chud
I just checked out of curiosity. Nautilus consumes 120 megabytes. It would seem to be of comparable if not greater gui complexity than chat clients. ✏
-
lovetox
my Gajim consumes 215mb after ~5 hours
-
lovetox
its a leak problem, it will consume more, the more chats you are joined, and the more you let it running
-
lovetox
a file browser is typically never opened for a long time, so you will never notice leak problems
-
de-facto
Hey how can i have image preview in group chats? i activated all the settings for preview but they have no effect on group chats
-
lovetox
you click the download button and the image should show
-
de-facto
no i want it to show by itself
-
de-facto
not by clicking it each time
-
lovetox
thats not possible in public chats
-
de-facto
whtas that setting for then?
-
gyatt
mine is using 350mb
-
gyatt
better than discord imo
-
gyatt
or matrix
-
lovetox
de-facto, hm right there is a setting for that
-
chud
I never closed my file manager dolphin just so I can open it instantaneously. I actually come to think of it, I think your argument that most GUI programs do not run for a long time is wrong. I think I run most programs I commonly use, basically 24-7. I just don't close them to not have to restart them. This includes emacs (54 megabytes, been running for days if not weeks), dolphin (75 megabytes, likewise)
-
lovetox
maybe your file size limit is to low, its a setting in the same dialog
-
chud
Funny thing that even includes freeCAD, inarguably an order of magnitude more complex software than any chat client or file manager, and it only consumes 44 megabytes. And it's also Python!
-
lovetox
ok not sure how that helps us, you are free to look at the code and show me the 200 mb of things we load
-
chud
So it looks like it's particularly pygobject that is to blame. Also gtk itself perhaps but not that much.
-
de-facto
how can i make gajim to apply those settings to a groupchat? https://iili.io/Fs28tfa.png
-
chud
> you are free to look at the code and show me the 200 mb of things we load I think that would be the lines starting with "from gi import"
-
gyatt
uhhh
-
lovetox
de-facto, does it never preview anything, or only sometimes not
-
de-facto
never so far
-
de-facto
i want to have auto preview of images because we have a flux image generation bot in another room
-
lovetox
so send a image here
-
de-facto
it outputs links to jpegs like above the image i linked e.g. https://iili.io/Fs28tfa.png
-
de-facto
it shows the url, but i want ot see the image
-
de-facto
without clicking on it each time
-
lovetox
yes, send a image here
-
de-facto
https://iili.io/Fs28tfa.png
-
lovetox
works for me with the setting on
-
lovetox
maybe check debug logs
-
de-facto
but not like this https://iili.io/Fs28tfa.png
-
de-facto
the bot will not output only the url, its contained in text
-
lovetox
yes we dont preview links within text
-
de-facto
thats bad :(
-
gyatt
> > you are free to look at the code and show me the 200 mb of things we load > I think that would be the lines starting with "from gi import" how much ram does it use if theres no avatars? ↺
-
de-facto
ok then that setting is useless to me and i will deactivate it
-
gyatt
nautilus uses 302MiB of vram and 886MiB of ram
-
gyatt
for me
-
de-facto
is there a plugin that can fix this?
-
lovetox
no
-
lovetox
we work on supporting proper media sharing xeps
-
lovetox
then your bot can use that to send images
-
lovetox
it could also simply send a text message, and then a second message with the link
-
de-facto
yeah its behind biboumi
-
de-facto
lovetox, now you making me curious, what kind of proper media sharing xeps do you have in mind for e.g. a stable diffusion bot that directly is on xmpp?
-
cal0pteryx
does it matter which type of bot sends images+messages?
-
cal0pteryx
https://xmpp.org/extensions/xep-0447.html if you're curious
-
de-facto
"Do not require any server components for easier deployment" <-- does that mean there would need to be a direct p2p link between the bot and each participant in the group chat?✎ -
de-facto
i see so that also includes http upload ✏
-
Link Mauve
I’m profiling Gajim, and I’m surprised it spends 0.3s during startup compiling regexps on my laptop.
-
Link Mauve
6056 0.009 0.000 0.323 0.000 /usr/lib/python3.13/re/__init__.py:330(_compile)
-
Link Mauve
It’s compiling 6056 re expressions, with a mean time of 9ms per regexp.
-
lovetox
de-facto, no, you can set any http link as source, you dont need to upload something somewhere
-
lovetox
point is yo can attach many metadata, and a description
-
de-facto
thats actually nice
-
lovetox
Link Mauve, ok but how are you sure its Gajim?
-
lovetox
it can be any library loaded with python, and im sure python standard libs itself compile regex
-
Link Mauve
For sure, but Gajim does use Python’s standard libs.
-
Link Mauve
Also many regexps are the exact same a lot of times.
-
Link Mauve
It might make sense to cache at least some.
-
lovetox
there is a single compile statement we dont cache
-
lovetox
and its used once during connect
-
Link Mauve
Hmm… Traceback (most recent call last): (?m)^ File "/usr/lib/python3.13/site-packages/gajim/gtk/application.py", line 372, in _handle_local_options self._startup() ~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/gajim/gtk/application.py", line 227, in _startup if not self._init_core(): ~~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/gajim/common/application.py", line 113, in _init_core app.connections[account] = Client(account) ~~~~~~^^^^^^^^^ File "/usr/lib/python3.13/site-packages/gajim/common/client.py", line 107, in __init__ self._create_client() ~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/gajim/common/client.py", line 174, in _create_client self._client.set_lang(get_rfc5646_lang()) ^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'Client' object has no attribute 'set_lang'
-
lovetox
you need nbxmpp master
-
lovetox
if you use gajim master
-
bot
lovetox pushed 1 commits to branch gajim/master fix: Reactions: Correctly count when reacting to own messages - https://dev.gajim.org/gajim/gajim/-/commit/eefe12d02481abe6587759d875180d44e7a5ac42
-
Link Mauve
ut of the 6056 regexps being compiled during startup, only 283 are unique.
-
Link Mauve
So yeah, probably something to fix in Python’s modules.
-
lovetox
or in some other lib we use
-
mesonium
> BUT, i definitly think there are some problems with memory managment in pygobject Have you checked their issue tracker? They have many unsolved threads and even more sad un-reviewed PRs to fix memory leaks open for long times.
-
Link Mauve
Even during runtime, you still compile the "re.compile('\ufdd0|\ufdd1|\ufdd2|\ufdd3|\ufdd4|\ufdd5|\ufdd6|\ufdd7|\ufdd8|\ufdd9|\ufdda|\ufddb|\ufddc|\ufddd|\ufdde|\ufddf|\ufde0|\ufde1|\ufde2|\ufde3|\ufde4|\ufde5|\ufde6|\ufde7|\ufde8|\ufde9|\ufdea|\ufdeb|\uf)" regex multiple times.
-
lovetox
thats probably the emoji lib
-
lovetox
https://pypi.org/project/emoji/
-
Link Mauve
/usr/lib/python3.13/site-packages/packaging/specifiers.py is also a culprit of compiling the same regexps again and again.
-
Link Mauve
lovetox, no, emoji doesn’t seem to do it wrong at least.
-
lovetox
yeah also just checked, we also use only 2 methods from this lib
-
Link Mauve
Unlike nbxmpp’s get_invalid_xml_regex().
-
lovetox
uh yeah i didnt check nbxmpp
-
lovetox
meh
-
lovetox
its cached, the compile res is stored in a var
-
Link Mauve
It still gets compiled multiple times, I don’t quite understand why.
-
lovetox
once per Client() instance
-
lovetox
so on a reconnect, and if you have multiple accs
-
lovetox
could be better but we talk about single digit compiles
-
Link Mauve
Yeah.
-
Link Mauve
The packaging regexp though gets compiled a good hundreds of times during startup.
-
chud
> how much ram does it use if theres no avatars? I think the impact of a couple of dozen 64px pictures would be negligible compared to 800mb ↺
-
bot
lovetox pushed 1 commits to branch python-nbxmpp/master imprv: Better cache invalid xml regex - https://dev.gajim.org/gajim/python-nbxmpp/-/commit/f9a1cb90a7d3fea2a0b63f237e2077666d6df609
-
lovetox
chud, couple dozen? alone in this chat > 400
-
chud
Are you loading them all into RAM at once?
-
lovetox
when we join a chat yes
-
chud
Like, even when the participants list isn't open?..
-
lovetox
or lets say when tey are requested
-
lovetox
we load them on request, but if you open the participant list once, then all are requested
-
de-facto
all the stanzas are conforming to a schema right?
-
lovetox
> all the stanzas are conforming to a schema right? in theory yes ↺
-
de-facto
is it possible to derive at each point in time of streaming a subset of valid tokens (e.g. substrings) that could be used to constrain an llm sampler?
-
Link Mauve
tracemalloc doesn’t give me much of anything here.
-
lovetox
i dont understand that sentence, and it will not help if you rephrase it :)
-
de-facto
i was just wondering if it would be possible to have an llm directly talk xmpp, but have its output enforced to conform to the schema, so its always valid
-
de-facto
the xml from xmpp looks beautifully structured, so llms should love that
-
Link Mauve
Heh, 2 MiB of the memory are the emoji JSON, according to tracemalloc.
-
lovetox
let get rid of emoji, non essential anyway
-
lovetox
Gajim start for me with 170 mb, but with no chat open
-
lovetox
i remember back in GTK3 days, it was in the best times 100 mb at start
-
lovetox
but since then many features were added, many more libs pulled into
-
Link Mauve
Nah, 2 MiB is nothing compared to 170 MiB.
-
Link Mauve
It’s not worth it to remove a feature just to gain 2 MiB.
-
lovetox
yes obviously :)
-
lovetox
i dont think 200 mb is that much, 2 firefox tabs have that
-
lovetox
but yeah the leaks are a problem, when you let gajim run for days, it will grow
-
chud
> i was just wondering if it would be possible to have an llm directly talk xmpp, but have its output enforced to conform to the schema, so its always valid "When you have a hammer everything starts to look like a nail" ↺
-
lovetox
im more concerned with performance then ram