News aus der Entwicklung - Oktober 2021

News aus Gajims Entwicklung

News aus der Entwicklung - Oktober 2021

News aus Gajims Entwicklung

Mit diesem Post gibt es seit zwei Jahren die News aus der Entwicklung 🥳 Im Oktober hat Gajims Event-System signifikante Änderungen erfahren. Diese Änderungen haben hauptsächlich für Verbesserungen bei den Benachrichtigungen gesorgt, allerdings haben sie es auch ermöglicht, Jingle-Dateiübertragungen direkt im Chat darzustellen! Auch in diesem Monat: Suchfilter, die dabei helfen deine Suche einzugrenzen.

Änderungen in Gajim

Mit dem Aufräumen von Gajims internen Event-System ergab sich die Möglichkeit, Benachrichtigungen zu überarbeiten. Es gibt einen Entscheidungsbaum, den Gajim durchläuft, ehe eine Benachrichtigung tatsächlich ausgeliefert wird. Ein Nutzer kann seinen Status z.B. auf “Beschäftigt” setzen, was das Zeigen einer Benachrichtigung (und möglicherweise auch Sounds) unterdrücken sollte. Chats und Gruppenchats benötigen dabei unterschiedliche Handhabung, weil Gruppenchats individuelle Benachrichtigungseinstellungen mit sich bringen, die zusätzlich von diversen Bedingungen abhängig sind: Ist es ein privater oder ein öffentlicher Chat, wurden wir von einem anderen Nutzer erwähnt, etc. Diese Entscheidungen wurden nun an einem Ort zentralisiert, um doppelten Code zu vermeiden und um die Handhabung von Benachrichtigungen für Entwickler zu erleichtern.

Während der Arbeiten an Gajims Event-System kamen Jingle-Dateiübertragungen in den Fokus. Die Verarbeitung von Events zu Dateiübertragungen war über viele Orte innerhalb Gajims verteilt, was es schwierig machte, vom alten “Dateiübertragungen”-Fenster wegzukommen, das ausschließlich für Jingle-Dateiübertragungen genutzt wurde. Nach einiger Arbeit ist es jetzt möglich, mehrere Widgets die Events rund um Dateiübertragungen verarbeiten zu lassen. Das bedeutet, dass wir ein Widget für Dateiübertragungen im Chat haben können! Mit dem neuen Conversation View, der auf einer Gtk.Listbox basiert, war es einfach, ein Widget für Jingle-Dateiübertragungen zu implementieren. Ähnlich zu Dateiübertragungen per HTTP-Upload ist es jetzt auch für Jingle-Dateiübertragungen (Dateiangebot, Fortschritt, Erfolg und Fehler) möglich, direkt im Chat angezeigt zu werden.

Dank wtas, der zum ersten Mal Code für Gajim beigetragen hat, wird Gajim 1.4 Suchfilter unterstützen! Es gibt mehrere Filter, die deine Suche eingrenzen können: after: und before: für das FIltern nach Zeit, from: für das Filtern nach Nutzer sowie has: für das Filtern nach Inhalt. Das erlaubt es z.B. nach einer bestimmten Datei zu suchen, die du vor einiger Zeit empfangen hast. So könnte eine Suche aussehen:

after:2021-08-01 has:file

Was außerdem passiert ist:

Der Dienst Bad XMPP bietet einen Satz von absichtlich falsch konfigurierten XMPP-Diensten an, gegen die sowohl Server als auch Clients getestet werden können. Bei einem Test mit Gajim ist ein Fehler ersichtlich geworden, bei dem Gajims Kontoassistent hängen bleibt.

Plugin-Aktualisierungen

Sowohl das Quick Replies als auch das Syntax Highlighting Plugin haben ein Bugfix für einen Fehler erhalten, der beim Einfügen von Text in das Nachrichteneingabefeld aufgetaucht ist.

Mit Gajim 1.4 haben sich viele Dinge unter der Haube verändert. Diese Änderungen beeinflussen auch, wie Plugins mit Gajim interagieren können und wie sie auf Daten zugreifen können. Beginnend mit diesem Monat fangen wir an, die Plugins an alle Änderungen anzupassen, die Gajim 1.4 mit sich bringt.

Änderungen in python-nbxmpp

python-nbxmpp hat an diversen Stellen Code-Annotations bekommen.

Wie immer freuen wir uns über Anregungen und Diskussionen in unserem Gruppenchat.

Gajim