Il s’agit du deuxième message d’une série d’actualités sur le développement de Gajim. Dans ces messages, je (wurstsalat) vais essayer de résumer un mois de développement autour de Gajim. Parfois, ces messages couvriront également python-nbxmpp et XMPP en général. Le développement de novembre a apporté des améliorations aux salons de discussion, les thèmes, les actions de glisser-déposer, OMEMO, et plus encore. N’hésitez pas à rejoindre gajim@conference.gajim.org pour discuter avec nous.
Changements dans Gajim
Chats de groupe
La fenêtre de chat de groupe a reçu un grand nombre de changements de conception. Outre la liste des nouveaux participants mentionnée dans [les nouvelles de développement d’octobre] (https://gajim.org/post/2019-11-06-development-news-october/), la plupart des dialogues liés au chat de groupe ont été remplacés par des « pages » se superposant à la fenêtre de chat. L’idée est venue lorsque nous cherchions un endroit pour afficher des infos de chat de groupe (il peut y en avoir beaucoup). Un exemple de la façon dont ces informations sont affichées à l’avenir peut être vu dans la capture d’écran ci-dessous.
Au cours des derniers mois, de plus en plus de boites de dialogue ont été modifiées avec cette nouvelle approche. Depuis la fenêtre de chat, les utilisateurs sont maintenant en mesure de :
- changer leur surnom
- changer le sujet du salton de discussion
- éjecter/bannir des utilisateurs
- entrer des mots de passe/captchas
- détruire le salon de discussion
- renommer le salon de discussion (localement)
Gajim est maintenant capable d’afficher le nom du salon de discussion (celui que le créateur a choisi) (#5406) dans la liste de contacts, onglets, et le bandeau supérieur de la fenêtre de chat. Si l’utilisateur choisit un nom différent (ce qui est maintenant possible à partir de la liste de contacts ainsi que de l’intérieur du chat de groupe (#9783), il sera utilisé à la place.
Glisser/déposer, thèmes, infos serveur
Au cours des derniers mois, il y a eu beaucoup d’améliorations de glisser/déposer pour Gajim. Il est maintenant possible d’inviter un contact à un salon de discussion par glisser/déposer. Déposer un fichier sur la liste de contacts déclenche désormais un transfert de fichier à l’attention du contact survolé.
Beaucoup d’utilisateurs se plaignaient de l’ergnomie de la fenêtre des thèmes. Nous avons essayé de simplifier son utilisation en automatisant les étapes manuelles qui étaient requises auparavant (#9886). Si un utilisateur souhaite modifier un paramètre de thème (par exemple la taille de la police), il s’agit maintenant d’un simple clic sur ‘Ajouter un paramètre’ qui va a) ajouter un nouveau thème, b) basculer sur ce thème nouvellement ajouté, et c) ajouter le paramètre désiré. Cela permet également aux utilisateurs de voir un aperçu en direct de leurs modifications. Supprimer un thème actuellement actif retombera automatiquement sur le thème par défaut sans demander à passer en premier.
Dans Gajim 1.0, une fenêtre Server Info a été introduite. Cette fenêtre aide les utilisateurs à évaluer les capacités du service qu’ils utilisent en listant les fonctionnalités prises en charge par le serveur. En plus de la liste des fonctionnalités, nous affichons désormais également des informations de connexion (par exemple, le type de sécurisation de connexion, le chiffrement choisi, le proxy utilisé) ([#6096] (https://dev.gajim.org/gajim/gajim/issues/6096)). Le certificat du serveur peut également être consulté à partir de cette fenêtre Server Info. Certains serveurs offrent des adresses de contact pour le support, les retours d’expérience ou les questions d’administration. Ces adresses de contact sont maintenant affichées (#9848).
Dans un effort pour harmoniser les fenêtres de dialogue que Gajim affiche lorsqu’il a besoin d’une confirmation ou d’une saisie de la part de l’utilisateur, l’ancien système de dialogue est en train d’être remplacé progressivement. De nombreuses vieilles fenêtres de dialogue ont déjà été supprimées ou remplacées, ce qui donne une apparence plus cohérente.
Le code de Gajim pour la définition interne des raccourcis clavier a été amélioré. Cela nous rapproche un peu plus de la possibilité d’avoir des raccourcis personnalisables à l’avenir. De plus, nous avons ajouté Ctrl-E pour ouvrir la fenêtre Extensions et le Ctrl-Shift-X pour afficher la console XML. Bon nombre des raccourcis disponibles dans Gajim sont répertoriés dans À propos > Raccourcis clavier.
La version Flatpak de Gajim a également reçu quelques mises à jour ce mois-ci, notamment un correctif sur l’ouverture des liens et une mise à jour pour les extensions et leurs dépendances. Les messages d’état automatiques et la détection de l’économiseur d’écran ont été retravaillés dans la version Flatpak.
Afin d’être en mesure de corriger les bogues, il est souvent nécessaire pour les développeurs de recueillir des journaux de débogage. Il est possible d’afficher un tel journal de débogage lorsque Gajim est démarré via le terminal (en utilisant les bons paramètres). Parce que c’est un peu technique et parce que nous aimerions permettre à chaque utilisateur de recueillir ces journaux, Gajim a un paramètre de préférence (Préférences - Avancé) pour stocker les journaux de débogage dans un fichier. Pour simplifier davantage ces étapes, nous avons ajouté un bouton pour naviguer rapidement vers le dossier contenant des journaux de débogage stockés.
Ce mois-ci, beaucoup de code a été nettoyé. Cela va de la suppression de code inutilisé, ainsi que la correction de nombreuses erreurs linting, ce qui rend le code plus lisible.
Qu’est-ce qui s’est passé d’autre
- Suppression de la fonctionnalité de conversion ReStructured (rst) vers XHTML
- Suppression du paramètre ‘ouvrir avec’ (la valeur par défaut du système sera utilisée à la place)
- Suppression des derniers restes de code concernant le transfert de fichier de type “Stream Initiation” (cette méthode est dépréciée)
- Suppression de la possibilité de choisir une ressource lors de l’ouverture d’une discussion en utilisant le menu contextuel (#8471)
- La base de données de journaux de Gajim (où l’historique du discussion est enregistré, entre autres) a reçu quelques améliorations de performance et stocke désormais à la fois des messages et les données XHTML
- L’ouverture des fichiers depuis Gajim a été retravaillée
- Les dates d’émission/expiration d’un certificat sont maintenant affichées dans la langue de l’utilisateur
- La console XML de Gajim dispose désormais d’une barre de recherche (Ctrl-F pour rechercher, F3 pour rechercher l’occurrence suivante)
- Correction d’un bogue concernant des messages privés affichés à tort dans la fenêtre d’un salon de discussion (#9488)
- Gajim utilise désormais les “bare JIDs” lors de l’envoi de messages à un groupe de contacts (#9738)
- Lorsqu’on bloque un groupe de contacts, la bonne fenêtre de dialogue est affichée (#7524)
- Correction de warnings sur les imports (#9874)
Mises à jour d’extensions
Ce mois-ci a apporté de nombreuses corrections de bogues pour l’extension OMEMO de Gajim. Recevoir un message qui n’a pas été chiffré pour l’appareil de l’utilisateur va maintenant déclencher un message d’erreur (#452). Un bogue où un message d’archive (MAM) ne pouvait pas être associé à un JID (#457) et une erreur dans la fenêtre de configuration de l’extension (qui survient si aucun compte n’est disponible) ont été corrigés. De plus, Gajim détectera désormais tous les changements de configuration de salon de discussion et sera plus cohérent sur les salons de discussion supportant OMEMO ([#445] (https://dev.gajim.org/gajim/gajim-plugins/issues/445)). En plus de pouvoir consulter un fichier chiffré avec OMEMO, il est maintenant également possible d’ouvrir le dossier contenant le fichier (#430, #425).
Changements dans python-nbxmpp
Lors du travail sur la fenêtre de suppression de compte de Gajim, python-nbxmpp a intégré le support de l’enregistrement In-Band (XEP-0077) et d’autres corrections de bogues pour la manipulation de stanzas.
L’un des avantages à utiliser XMPP est la liberté de choix. Les utilisateurs sont libres de choisir le serveur qu’ils aimeraient utiliser (ou même en héberger un par eux-mêmes), et ils peuvent choisir parmi [beaucoup de clients disponibles] (https://xmpp.org/software/clients.html). Parfois, cette liberté de choix fait qu’on a affaire à des clients qui n’implémentent pas correctement les spécifications du protocole. Gajim doit faire face à ça, bien sûr. L’un de ces cas où un client envoyait des stanzas mal formées a été corrigé récemment (#89).