gajim issueshttps://dev.gajim.org/gajim/gajim/-/issues2023-01-13T22:57:01Zhttps://dev.gajim.org/gajim/gajim/-/issues/11123Large messages cause slowdown2023-01-13T22:57:01ZVitoLarge messages cause slowdown## Summary
I have sent about 30KB of text and now I am experiencing a delay when opening this chat.
## Versions
- OS: Linux
- Gajim version: *1.4.7*
- GTK version: *3.24.34*
- Python-nbxmpp version: *3.1.1*
## Steps to reprod...## Summary
I have sent about 30KB of text and now I am experiencing a delay when opening this chat.
## Versions
- OS: Linux
- Gajim version: *1.4.7*
- GTK version: *3.24.34*
- Python-nbxmpp version: *3.1.1*
## Steps to reproduce the problem
1. Create new account.
1. Open chat to yourself.
1. Create a large message, say 50kB.
1. Send message to yourself.
1. Close chat to yourself.
1. Reopen chat to yourself.
## Expected behavior
Large messages don't make window unresponsive for a period of time.
## Actual behavior
Large messages can cause *not responding* status of application.\
I think it's also possible to get a disconnect if the loading time will be long enough.1.6.1https://dev.gajim.org/gajim/gajim/-/issues/11007The code widget has synchronization problems2022-08-11T20:49:30ZbodqhrohroThe code widget has synchronization problems## Versions
- OS: Debian GNU/Linux 12
- Gajim version: 1.4.4+386f449f3ec4
- GTK version: 3.24.31
- Python-nbxmpp version: 3.0.2
## Steps to reproduce the problem
1. Send a message with some code and lots of other messages ar...## Versions
- OS: Debian GNU/Linux 12
- Gajim version: 1.4.4+386f449f3ec4
- GTK version: 3.24.31
- Python-nbxmpp version: 3.0.2
## Steps to reproduce the problem
1. Send a message with some code and lots of other messages around.
1. Scroll the chat back and forth.
## Expected behavior
The code widget is synchronized well along with the chat.
## Actual behavior
The code widget is out of sync and leaves a trace of older positions for a while.
![gajim14_code_sync1](/uploads/db8d0ea3da9c658288055553b8b48dfb/gajim14_code_sync1.mp4)1.5.0https://dev.gajim.org/gajim/gajim/-/issues/10982Use single Control approach for chats2022-09-19T20:39:50ZDaniel BrötzmannUse single Control approach for chatsIn order to improve performance, Gajim should use a single Control object, which can be re-used when switching between chats. At the moment, Gajim uses one Control object per chat, which does not scale performance wise.
Currently, these...In order to improve performance, Gajim should use a single Control object, which can be re-used when switching between chats. At the moment, Gajim uses one Control object per chat, which does not scale performance wise.
Currently, these Control types exist:
* BaseControl
* ChatControl(BaseControl)
* PrivateChatControl(ChatControl)
* GroupchatControl(BaseControl)
Linked issues: #10743 #10871 #11007
This issue tracks changes which need to be done to implement this approach:
## General
* [x] Refactor GUI to separate elements
* [x] AV widget
* [x] Nickname suggestion generator
* [x] Message input / action bar
* [x] Control banner
* [x] Move group chat pages to ChatFunctionPage
* [x] Fix bug that groupchat roster is open altough not revealed
* [x] Fix read state sync
* [x] Revisit css for Groupchat Roster (Borders, Padding)
* [x] Rework chat command system; keep: status, invite, ban, affiliate, kick, role
* [x] Move spell checking code into MessageInput and simplify
* [x] Type app.window.get_control()
* [x] Fix all TODO comments
* [x] Manage voice requests
## Keeping state
* [x] Info messages, see #10693 (should be stored at runtime)
* [x] Subject messages, see #10693 (maybe we can integrate the subject differently, e.g. via chat banner)
* [x] Running file uploads
* [x] Draft support for message input, see #10725
* [x] Nickname auto-complete state, see #11155
## Adapt plugins
* [x] Acronyms Expander (chat control / message action box)
* [x] Length Notifier (chat control / message action box)
* [x] Message Box Size (chat control / message action box)
* [x] Now Listen (chat control / message action box)
* [x] OMEMO (chat control)
* [x] OpenPGP (`set-encryption` action)
* [x] Quick Replies (chat control / message action box)
* [x] ~~Regex Filter (uses old chat commands interface)~~ see gajim/gajim-plugins#606
* [x] Triggers (active control/focus)1.5.0https://dev.gajim.org/gajim/gajim/-/issues/10828Disable message formatting for big messages2022-09-11T14:00:46ZPhilipp Höristphilipp@hoerist.comDisable message formatting for big messagesGajim begins to freeze if we receive messages around 50-100 kb with lots of formatting.Gajim begins to freeze if we receive messages around 50-100 kb with lots of formatting.1.4.4Daniel BrötzmannDaniel Brötzmannhttps://dev.gajim.org/gajim/gajim/-/issues/10743High RAM usage2022-08-11T20:49:23ZStyleeHigh RAM usageThis is a continuation of #5322, about Gajim high RAM usage.
Here are profiling data (for Gajim 1.3.3 on debian sid):
massif raw data with spellcheck disabled [massif_gajim_without_spellcheck](/uploads/3d31e41d7e3d57c9599b55a27de51881/...This is a continuation of #5322, about Gajim high RAM usage.
Here are profiling data (for Gajim 1.3.3 on debian sid):
massif raw data with spellcheck disabled [massif_gajim_without_spellcheck](/uploads/3d31e41d7e3d57c9599b55a27de51881/massif_gajim_without_spellcheck). After msprint : [massif_msprint_gajim_without_spellcheck](/uploads/669dd42f60b78864321cb86151f7671f/massif_msprint_gajim_without_spellcheck)1.5.0https://dev.gajim.org/gajim/gajim/-/issues/10339Gajim freezes because of music_track functionality2020-11-07T15:15:26ZGhost UserGajim freezes because of music_track functionality## Versions
- OS: gentoo linux amd64
- Gajim version: 1.2.2
- GTK version: 3.24.22
- Python-nbxmpp version: 1.0.2
## Steps to reproduce the problem
1. Start gajim
1. Watch several videos in chromium
## Expected behavior
...## Versions
- OS: gentoo linux amd64
- Gajim version: 1.2.2
- GTK version: 3.24.22
- Python-nbxmpp version: 1.0.2
## Steps to reproduce the problem
1. Start gajim
1. Watch several videos in chromium
## Expected behavior
Gajim starts quickly (<5 seconds) and works without freezes
## Actual behavior
Gajim starts in more than 15 second. If I watch several videos in chromium gajim freezes: its interface gets completely unresponsive.
## Comments
When I comment in gui_interface.py the string:
` music_track.enable()`
the issue is resolved. Other programs, e.g. kdeconnect, get the current track information without problems. As for me it will be much better to make us able to turn this functionality completely off in settings. I don't like that software used for messaging gets information about media that I watch.
Debug log is attached with information from my roster cut out.
[gajim-debug.txt](/uploads/0e0e73c63a0dee1f9d8732ad105041dd/gajim-debug.txt)1.3.0https://dev.gajim.org/gajim/gajim/-/issues/10226CPU spikes and freezing when launching Gajim2020-09-05T10:41:13ZJim DoeCPU spikes and freezing when launching Gajim## Versions
- OS: Windows 10
- Gajim version: 1.2.1
- GTK version: 3.24.20
- Python-nbxmpp version: 1.0.1
## Steps to reproduce the problem
1. Start gajim
## Expected behavior
Launch Gajim in a reasonable amount of time.
...## Versions
- OS: Windows 10
- Gajim version: 1.2.1
- GTK version: 3.24.20
- Python-nbxmpp version: 1.0.1
## Steps to reproduce the problem
1. Start gajim
## Expected behavior
Launch Gajim in a reasonable amount of time.
## Actual behavior
CPU spikes to 40% usage and gajim is briefly unresponsive. It takes about 10 seconds until Gajim launches.
I had this issue since 1.2.0 betahttps://dev.gajim.org/gajim/gajim/-/issues/10195gajim increases cpu usage on Xorg and xembedsniproxy dramatically (kde plasma)2020-07-26T19:54:03Zkrei-delgajim increases cpu usage on Xorg and xembedsniproxy dramatically (kde plasma)After starting gajim 1.1.3 on kde plasma, Xorg and xembedsniproxy consume a lot of CPU being idle and unused.
Have someone experienced the same on his/her system?
Do you have any ideas how to solve the issue?
I guess it is related to on...After starting gajim 1.1.3 on kde plasma, Xorg and xembedsniproxy consume a lot of CPU being idle and unused.
Have someone experienced the same on his/her system?
Do you have any ideas how to solve the issue?
I guess it is related to one of libs used by gajim ...https://dev.gajim.org/gajim/gajim/-/issues/10027SQLite operations are slow (leading to application freezes)2020-09-17T21:31:12ZetaSQLite operations are slow (leading to application freezes)## Versions
- OS: Arch Linux 5.5.2-arch1-1
- Gajim version: 1:r17178.eebc393f6-1
- GTK version: 1:3.24.13-1
- Python-nbxmpp version: 0.6.8.r301.g0c7293b-1
## Steps to reproduce the problem
1. Connect gajim to an account with...## Versions
- OS: Arch Linux 5.5.2-arch1-1
- Gajim version: 1:r17178.eebc393f6-1
- GTK version: 1:3.24.13-1
- Python-nbxmpp version: 0.6.8.r301.g0c7293b-1
## Steps to reproduce the problem
1. Connect gajim to an account with 100+ MUCs and 100+ contacts
## Behaviour
I experience a long pause on account (re)connection, during which gajim is using 100% CPU and the UI is completely unresponsive. Using `strace` reveals gajim is spending a lot of time writing to the SQLite database.
## Suggested resolution
I shut down gajim, and executed `PRAGMA journal_mode=wal;` in `~/.cache/gajim/cache.db` and `~/.local/share/gajim/logs.db` with `sqlite3` (i.e. enabling [Write-Ahead Logging](https://www.sqlite.org/wal.html)). This seems to make gajim noticeably quicker to start up (i.e. it hangs for a shorter time period). Since there don't seem to be any downsides to turning on WAL, maybe gajim should consider enabling it for these databases by default?1.3.0https://dev.gajim.org/gajim/gajim/-/issues/9887Scrolling performance issue with ConversationTextview2021-12-05T12:10:10ZAndrey GurskyScrolling performance issue with ConversationTextview* Gajim git 1ac852f0cd3
* python-nbxmpp 1a844d5042f
* Debian Bullseye (testing) GNU/Linux
* python 3.7.4-4
* python-gobject 3.34.0-1
* gobject-introspection 1.62.0-2
* gtk 3.24.12-1
* glib 2.62.2-2
* libgdk-pixbuf 2.40.0+dfsg-1
* libpixm...* Gajim git 1ac852f0cd3
* python-nbxmpp 1a844d5042f
* Debian Bullseye (testing) GNU/Linux
* python 3.7.4-4
* python-gobject 3.34.0-1
* gobject-introspection 1.62.0-2
* gtk 3.24.12-1
* glib 2.62.2-2
* libgdk-pixbuf 2.40.0+dfsg-1
* libpixman 0.36.0-1
Once Gajim MUC is opened since approx 18 hours and there are 1400 lines, fast scrolling movements in the message view with touchpad on a notebook lead to big lag up to full GUI lock for several seconds. Very slow scrolling is still possible as well as fast scrolling moving a caret with left mouse button. Gajim MUC is just an example with concrete numbers, the issue applies generally once there is a particular number of lines in the message view.
With perf I see:
```
Overhead Shared Object Symbol
47.03% libpixman-1.so.0.36.0 [.] pixman_region_intersect_o
25.16% libpixman-1.so.0.36.0 [.] pixman_op
7.57% libpixman-1.so.0.36.0 [.] pixman_set_extents
5.62% libc-2.29.so [.] __memmove_sse2_unaligned_erms
1.23% libgtk-3.so.0.2404.8 [.] count_expand_children
0.81% libgtk-3.so.0.2404.8 [.] gtk_widget_is_drawable
...
```
This might be a regression since 06700c9628. Or this is a side effect of some gtk/... issue.1.4.0https://dev.gajim.org/gajim/gajim/-/issues/9314Gajim lags while typing when using different input method for GTK2022-01-19T12:57:37ZgpcfGajim lags while typing when using different input method for GTKIf I type chat messages, there is a noticeable lag before the characters appear on the screen. This is not linked to high CPU usage, since CPU usage does not seem to rise while typing, also the CPU is more than capable enough, since no o...If I type chat messages, there is a noticeable lag before the characters appear on the screen. This is not linked to high CPU usage, since CPU usage does not seem to rise while typing, also the CPU is more than capable enough, since no other software lags while typing.
- OS: Debian Stable
- Gajim version: 1.0.3 (from Backports)
- GTK version: 3.22.11
- Python-nbxmpp version: 0.6.6https://dev.gajim.org/gajim/gajim/-/issues/8745Allow successive bookmarked MUC autojoins (in oposite to concurrent)2022-04-05T10:40:14ZAndrey GurskyAllow successive bookmarked MUC autojoins (in oposite to concurrent)Please allow user to choose autojoining bookmarked MUCs one after another instead of all at once concurrently.Please allow user to choose autojoining bookmarked MUCs one after another instead of all at once concurrently.1.4.0https://dev.gajim.org/gajim/gajim/-/issues/7301Logger fsyncs on every message in Linux2021-01-13T10:37:49ZanonymousLogger fsyncs on every message in Linux# Problem
OS: Linux
Every message in regular chats (have not checked with multi-user chats) causes logger to perform fsync on some temporarily created file (logs.db-XXXXX). This takes from 70 to 100 msec on different machines, causes sl...# Problem
OS: Linux
Every message in regular chats (have not checked with multi-user chats) causes logger to perform fsync on some temporarily created file (logs.db-XXXXX). This takes from 70 to 100 msec on different machines, causes slight delays in responsiveness and spins up the disk.
# Analysis
The cause seems to be the logger setting isolation level = IMMEDIATE on sqlite.connect. Setting the isolation level to default DEFERRED fixes the problem. IMMEDIATE seems unnecessary for present case as Gajim running instance is the only writer to the logs database (is this correct?)
# Enhancement recommendation
Remove the isolation level from sqlite.connect.