Nouvelles de développement - Décembre 2021 et Janvier 2022

Gajim development news

Nouvelles de développement - Décembre 2021 et Janvier 2022

Gajim development news

Le travail sur Gajim 1.4 avance à grands pas ! Après neuf mois de développement de la nouvelle fenêtre principale de Gajim, le code est enfin prêt à être fusionné dans la branche master. Cela permet d’avoir des compilations automatiques de versions “nightly” pour Linux et Windows.

Changements dans Gajim

La nouvelle fenêtre principale de Gajim arrive avec de nombreux changements
un nouvel agencement, avec des espaces de travail ainsi qu’une toute nouvelle fenêtre de conversation avec une meilleure présentation des messages et de nombreuses améliorations. Vous pouvez en apprendre plus dans les précédents articles.

Si vous suivez de prêt le développement de Gajim, vous aurez remarqué un grand nombre de révisions portant sur les annotations de type. Ajouter des annotations de type partout nous aide, nous développeurs, à résoudre des problèmes avant même qu’ils ne surviennent. Elles rendent le code plus facile à comprendre, aident à documenter le code, et elles permettent l’exécution de vérifications automatiques pendant le développement. Étant donné que Gajim est bâti sur python-gobject, le vérificateur de type a besoin de connaître les types utilisés et retournés par les classes et méthodes de GObject. Pour cela, nous avons commencé à écrire des pygobject-stubs ainsi que des ‘builder stubs’ pour les fichiers d’interface utilisateur Glade utilisés par Gajim.

Côté serveur, nous avons remplacé notre vérificateur automatique de type mypy par pyright, qui est bien plus rapide. Comme la vérification de type peut aussi aider à découvrir des défauts de conception, de nombreux morceaux de Gajim on été adaptés à l’occasion de cette période d’ajout d’annotations de type.

Un autre grand pas en avant a été fait pour la mise en forme des messages. Gajim permet désormais la mise en forme en direct depuis le champ de saisie de la discussion. Le menu de formatage de texte a été repensé pour utiliser XEP-0393 Message Styling elements. De plus, la mise en forme des messages fonctionne maintenant de la même façon sur Windows et sur Linux. Et enfin, l’interprétation des émojis a été corrigée pour Windows et l’interprétation des messages /me fonctionne à nouveau.

Mettre à jour Gajim sous Windows devrait maintenant se dérouler plus facilement. Il détecte la version précédemment installé et exécute automatiquement et discrètement la désinstallation (après confirmation de votre part évidemment).

Que s’est-il passé d’autre :

  • Vous pouvez maintenant déplacer les discussions d’un espace de travail à un autre par glisser-déposer
  • La liste des discussions propose maintenant un menu “Marquer comme lu”
  • Les décomptes de messages non lus sont désormais mémorisés, de sorte que vous pouvez voir quels messages vous n’avez pas encore lus
  • Le composant “Code” a été amélioré pour les extraits de code volumineux
  • L’aperçu de fichier dispose maintenant d’une barre de progression de téléchargement
  • Améliorations pour les salons avec modération activée (champ de saisie désactivé, courte explication, un nouveau bouton pour “demander la parole”)
  • Nouvelle fenêtre améliorée d’invitation à un salon
  • La largeur minimale de la fenêtre de Gajim a été réduite, de sorte qu’il s’adapte mieux à votre écran
  • Il est maintenant possible de définir des raccourcis clavier pour certaines actions de Gajim, par exemple changer Ctrl+N pour démarrer une nouvelle discussion
  • Le gestionnaire d’historique est considéré obsolète : l’export et la purge de l’historique de discussion est maintenant possible depuis Gajim
  • Les appels disposent désormais de la suppression de l’écho et de sons de sonnerie/composition, grâce à @emil
  • Si un serveur est éteint, Gajim affichera une notification
  • Console XML : coloration syntaxique pour le flux XML
  • Suppression de XEP-0107 (User Mood), XEP-0108 (User Activity), et XEP-0209 (Metacontacts)

Mises à jour d’extensions

L’extension Triggers a été réécrite et adaptée pour fonctionner avec le nouveau mécanisme de notification.

Changements dans python-nbxmpp

L’implémentation de Websocket a été adaptée à la limitation de taille de stanza actuellement observée en production.

Comme toujours : n’hésitez pas à rejoidre gajim@conference.gajim.org pour discuter avec nous.

Gajim