News aus der Entwicklung - Oktober 2020

Gajim development news

News aus der Entwicklung - Oktober 2020

Gajim development news

Dieser Oktober bringt verbessertes Styling für Nachrichten, Verarbeitung von XMPP-Links unter Windows und erste Verbesserungen auf dem Weg dahin, Sprach- und Videochats wieder zum Laufen zu bringen.

Änderungen in Gajim

XMPP-Adressen sind nicht nur Kontakte und Gruppenchats. Sie können auch Abfragekomponenten beinhalten, über die Clients Aktionen ausführen können. Zum Beispiel sorgt xmpp:chat@example.tld?join dafür, dass der Client einem Gruppenchat beitritt und xmpp:contact@example.tld?message;body=Hallo dafür, dass der Client einen Chat öffnet sowie den Text “Hallo” im Texteingabefeld vorausfüllt. Natürlich muss der Client diese Aktionen unterstützen. Einige Abfragen aus XEP-0147 (XMPP URI Scheme Query Components) werden bereits von Gajim unterstützt. In diesem Monat haben wir die Unterstützung für XMPP-URI-Abfragen in Gajim für Windows implementiert. Während der Installation kannst du nun entscheiden, ob Gajim XMPP-Links öffnen soll, auf die du in deinem Webbrowser klickst.

Dieser Monat bringt ein paar Änderungen für Gajims Implementierung von XEP-0393 (Message Styling). Infolge dieser Änderungen wurde die_unterstrichen_-Formatierung entfernt und eine neue ~durchgestrichen~-Formatierung wurde hinzugefügt, was Gajim Standardkonform und somit kompatibel zu anderen Clients macht. Es werden jedoch noch nicht alle Formatierungsoptionen dieses Standards unterstützt.

Gajim bietet jetzt einen “Als gelesen markieren”-Button für Benachrichtigungen. Wenn du eine Nachricht bekommst, auf die du nicht unbedingt antworten musst, dann kannst du sie einfach als gelesen markieren, ohne extra ein Chatfenster dafür öffnen zu müssen.

Zu guter Letzt gab es ein paar Verbesserungen für Sprach- und Videoanrufe. Gajim unterstützt bereits seit einiger Zeit Sprach- und Videoanrufe, jedoch funktioniert der Code auch schon länger nicht mehr richtig, da in diesem Bereich keine aktive Entwicklung stattfindet. Wir haben erste Schritte gemacht (freundlichere Nutzeroberfläche, grundlegende Übertragung von Audio/Video), jedoch sind diese experimenteller Natur. Dazu kommt, dass dieses Feature auf älteren Standards basiert, was es derzeit inkompatibel zu Conversations macht (zum Beispiel fehlende Unterstützung für XEP-0320).

Was außerdem passiert ist

  • Du kannst jetzt wählen, ob du einen “Nachricht senden”-Button im Chatfenster haben willst über Gajim > Einstellungen
  • Ein Kopieren-Button wurde auf der Infoseite von Gruppenchats hinzugefügt, der einen Einladungslink zu dem Gruppenchat in deine Zwischenablage kopiert
  • Ein paar Fehler mit nicht-englischen Tastaturlayouts wurden behoben
  • Gajims Befehl für das Öffnen des Chat starten/beitreten Fensters (gajim --start-chat) wurde repariert
  • Ziehen und Ablegen von Dateien und Kontakten auf Gruppenchats wurde repariert

Plugin-Aktualisierungen

Es wurde ein Fehler behoben, der Gajims URL Image Preview Plugin daran gehindert hat, unmittelbar bei Nachrichtenempfang eine Vorschau für Sprachnachrichten darzustellen. Außerdem wurden viele Plugins an Änderungen in python-nbxmpp angepasst.

Änderungen in python-nbxmpp

In fortwährenden Anstrengungen wird die Abfragehandhabung innerhalb von python-nbxmpp umgebaut auf die Nutzung von Tasks (unter Verwendung von Python Generators). Dadurch wird der Ablauf vieler Operationen vereinfacht und der Code besser les- und verstehbar. Eine Menge Arbeit ging diesen Monat auch in die Anpassung von Gajim an diese Änderungen sowie die daraus resultierenden Umbauten in der Codebasis.

Die GSSAPI-Unterstützung in python-nbxmpp wurde repariert, was es Gajim erlaubt, verschiedene Authentifizierungsanbieter für die Zugangsdaten von Nutzerkonten zu verwenden.

In Vorbereitung auf die Überarbeitung von Gajims VCard/Nutzerprofilverwaltung wurde u.a. VCard4 (XEP-0292) implementiert. Desweiteren wurden Nested Roster Groups (XEP-0083) in python-nbxmpp implementiert.

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

Gajim