Development News March 2022

Gajim development news

Development News March 2022

Gajim development news

March brings a new issue reporting system and many performance improvements for both Gajim and python-nbxmpp. Gajim’s OMEMO plugin comes with some improvements as well. Last but not least, there has been a security issue in python-nbxmpp, which has been fixed in version 2.0.6.

Changes in Gajim

As some of you might know, Gajim is being developed using Python. Exceptions and tracebacks are Python’s way of communicating errors to developers. In the past, you would see an error window popping up, which presents some details. Clicking ‘Report Issue’ (step 1) would lead to our development platform, where you would have to login (step 2), and then post the issue including some of your feedback (step 3). This is not a simple process, and it certainly holds users back from reporting issues.

In order to simplify reporting issues, we implemented error reporting via Sentry. Sentry is an optional library, which enables users to send error reports directly to our development platform, without requiring them to login (only a single step needed). Of course you still get to decide if you want to send a report or not. There is no automatic reporting. If the Sentry library is not installed on your system, Gajim’s error reporting will fall back to the previous behaviour. We hope this lowers the hurdle for users to report issues, leading to a better overview of what needs fixing the most.

What else happened:

  • Search performance has been improved significantly
  • Menu handling has been refactored
  • Create Group Chat window has been simplified
  • Chat history export has been improved
  • Start Chat display performance has been improved
  • Privacy settings are now applied without requiring a restart
  • Text selection and copying has been improved
  • Fixed global proxy setting
  • Fixed status icon for some desktop environments
  • Improved resilience against cache database corruption

Plugin updates

Gajim’s OMEMO plugin received an update which raises the allowed amount of unacknowledged messages until a key becomes invalid. This should help with clients being left out of an encrypted chat after idling for some time.

Changes in python-nbxmpp

python-nbxmpp 2.0.5 and 2.0.6 have been released, fixing a security issue in resolving websocket URIs. Furthermore, there have been performance improvements for processing network data, which should make Gajim more responsible during heavy load.

As always, feel free to join to discuss with us.