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