News aus der Entwicklung - Oktober 2019

Gajim development news

News aus der Entwicklung - Oktober 2019

Gajim development news

Dies ist der erste Artikel einer Reihe von News über die Entwicklung von Gajim. In diesen Artikeln werde ich (wurstsalat) versuchen, das Geschehen aus einem Monat der Entwicklung an Gajim zusammenzufassen. Gelegentlich wird es in den Artikeln auch um python-nbxmpp und XMPP generell gehen. Der Oktober hat Verbesserungen für MacOS, Jingle File Transfer, Delivery Receipts und einiges mehr gebracht. Tritt gajim@conference.gajim.org bei und diskutiere mit uns!

Änderungen in Gajim

Der lange Weg Gajim auf MacOS zu bringen ist einen Schritt weiter gegangen worden: Dank sebastiaanlokhorst nutzen wir nun PyInstaller für den Build der App (siehe #9713), was uns ein Stück näher an ein Release für MacOS bringt. Ziel ist es, den Build-Prozess soweit zu automatisieren, dass MacOS Builds ähnlich wie Windows Builds vollautomatisch erstellt werden.

Als Dino während des GSoC (dank hrxi) Unterstützung für Jingle File Transfer erhalten hat wurden einige Interoperatibilitätstests zwischen Dino, Conversations und Gajim durchgeführt. Die Anmerkungen von hrxi haben zu Fehlerbehebungen in Gajim bzgl. Jingle File Transfers geführt, die asterix beigesteuert hat (#9692, #9784).

Gajim kann seit einer Weile Empfangsbestätigungen anzeigen. Diese werden durch ein kleines Häkchen am Ende der Nachricht dargestellt. lovetox hat an der Darstellung dieser Symbole gearbeitet, was auch für einige Veränderungen und Fehlerbehebungen am Code rund um Empfangsbestätigungen gesorgt hat. In diesem Zuge wurde ein Fehler behoben, der für eine doppelte Darstellung des Empfangsbestätigungssymbols bei korrigierten Nachrichten geführt hat (#9278). Zusätzlich ermöglicht die neue Implementierung der Symboldarstellung Gajim das Anzeigen von Fehlern bei der Nachrichtenübermittlung im Tooltip des Symbols der entsprechenden Nachricht (#8527). Vorher wurde die Fehlermeldung ohne Kontext im Chatfenster angezeigt.

Die neue Teilnehmerliste für Gruppenchats nutzt Funktionen, die mindestens PyGObject (also python3-gi) 3.32.0 voraussetzen. Diese Version ist in einigen Distributionen noch nicht verfügbar (z.B. Debian 10). Das Hinzufügen von PyGObject >=3.32.0 als Abhängigkeit hat gleichzeitig zu einer Überarbeitung von Gajims Mechanismus zur Abhängigkeitenüberprüfung geführt.

Was außerdem passiert ist:

  • Chat: Das FuzzyClock-Feature wurde entfernt
  • XML-Konsole: Kontowahlmöglichkeit für das Senden von XML wurde hinzugefügt
  • Unterhaltungsverlauf: Das Drücken von Escape wird nun evtl. geöffnete Suchergebnisse zunächst schließen, bevor das Fenster geschlossen wird
  • Nachrichten vom Typ “normal” (z.B. Einzelnachrichten) werden von nun an als reguläre Nachrichten gehandhabt
  • Fehlerbehebung für das automatische Scrollen bei verschlüsselten Nachrichten (#9443)
  • Fehlerbehebung für die Nachrichtenkorrektur wenn kein ChatControl geöffnet ist

Änderungen in python-nbxmpp:

In den andauernden Bestrebungen GUI- und Protokoll- bzw. Bibliotheksaufgaben voneinander zu trennen setzt lovetox die Überarbeitung von Gajim und python-nbxmpp fort. In diesem Prozess wird eine Menge Code zwischen Gajim und python-nbxmpp ausgetauscht. Ziel ist es, den Code für zukünftige Entwicklungen zu modularisieren und die Kommunikation zwischen beiden Teilen zu vereinfachen.

In diesem Monat hat python-nbxmpp Unterstützung für die folgenden XEPs erhalten. Hinweis: Diese XEPs wurden bereits von Gajim unterstützt, allerdings kann python-nbxmpp diese nun selbst handhaben.

Darüber hinaus wurde in python-nbxmpp eine Fehlerbehebung für ungültige JIDs in eingehenden Nachrichten implementiert (#85).