Gajim development news
Work on Gajim 1.4 is making big steps forward! After nine months of developing Gajim’s new main window, the code was finally ready to be merged into the master
branch. This enables automatic builds of nightlies for Linux and Windows.
Gajim’s new main window brings many changes: a new window layout, featuring workspaces and an all new conversation view with better message styling and lots of improvements. You can read more about that in previous posts.
If you follow Gajim’s development closely, you might have noticed lots of code commits regarding type annotations. Adding type annotations in all places helps us developers to resolve issues before they surface. They make code easier to understand, help document the code, and they allow automatic checks to be run against the code while developing. Since Gajim is built upon python-gobject, the type checker has to be aware of types used an returned by GObject’s classes and methods. For this, we started to write so-called stubs: pygobject-stubs as well as ‘builder stubs’ for Glade user interface files used by Gajim.
On the server side we switched our automatic type checking from mypy to pyright, which is much faster. Since type checking can also help finding structural flaws, many places in Gajim have been refactored in the process of adding type annotations.
Another big step forward has been made for message styling. Gajim now features real-time message styling in the chat input box. The text formatting menu has been repurposed to use XEP-0393 Message Styling elements. Furthermore, message styling now has feature parity on Windows and Linux. Finally, emoji parsing for Windows has been fixed and /me
message parsing works again.
Upgrading your Gajim installation on Windows should now run a lot smoother. It detects a previously installed version and runs the uninstaller automatically and silently (after you confirm, of course).
What else happened:
Ctrl+N
for starting a new chatGajim’s Triggers plugin has been refactored and adapted in order to work with the new notification system.
The Websocket implementation has been adapted to the stanza size limit currently seen in production.
As always, feel free to join gajim@conference.gajim.org to discuss with us.
Join our XMPP chat to ask questions, share ideas or to report issues.
Join our Chat Open a Ticket
Gajim is free software developed by volunteers.
If you like to support Gajim, please consider making a donation.