Development News April 2021

Gajim development news

Development News April 2021

Gajim development news

April brought an all new message styling parser, making Gajim fully compliant with XEP-0393. This post will also give you a sneak peek on some features we’ve been developing for the past months: the new Chat view and Contact Info window.

Changes in Gajim

As promised last month, this post will cover some of the new Chat view features we’re currently developing. April brought a lot of code refactoring, making Gajim ready for all of the new features which are planned. But let’s have a look at the new Chat view (work in progress):

The new Chat View

The new Chat View

Each message type (e.g. info message, chat message, subject) features its own Row. This enables Gajim to apply distinct styling and elements to the various message types. Info messages for example are displayed with lower contrast, in order to move the focus on actual chat messages. Group chat Subject messages are placed in a separate box to display them prominently. Each chat Row offers a button for further actions, such as quoting or copying message content. The new Chat view also enables you to scroll back infinitely ⬆️.

Looking at the screenshot, you may notice further styling details for chat messages: Quotes are now highlighted and indented. Nested quotes are possible as well. Code blocks surrounded by backticks ``` will now be displayed inside a code widget, including code language detection, syntax highlighting, and a code block copy button. The whole message styling parser has been rewritten from scratch, making Gajim fully compliant with XEP-0393 (Message Styling).

As mentioned in last month’s news, the Contact Info window also received an update. It takes advantage the Info Grid we introduced for the new Profile window. Sharing the code base between these two windows significantly reduces maintenance effort. The new Contact Info window features a settings page, where contact subscription actions are displayed. This page will most likely offer further settings in the future. Contact group management has been moved into a page as well, making the old group management dialog obsolete. All devices of your contact are now neatly displayed on a Devices page. There could be even more pages in the future, e.g. an OMEMO page for fingerprint management.

This is only part of what we’re planning to do for the next release of Gajim. We’ll show more details with the coming blog posts. Stay tuned!

What else happened

  • #10541: Fixed using custom port in connection settings
  • #10540: GSSAPI dependencies have been added to the Windows build
  • #10342: UnicodeDecodeError related to avatars has been fixed (this error prevented translations on Windows)

Plugin updates

Gajim’s PGP (Legacy) plugin received an update which fixes sending files. Both OMEMO and URL Image Preview are now able to correctly display files from URLs containing ? characters. Also, a nasty file transfer issue which occurred when trying to download a file which had been deleted (HTTP 404) has been fixed (#9999). Furthermore, Gajim’s Acronyms Expander now features improved word detection, enabling you to substitute short codes with emojis, for example : robot : with 🤖️ .

Changes in python-nbxmpp

No changes in python-nbxmpp this month.

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