Mise à jour Dév #6 - Des Bugs Majeurs Ont Été Corrigés

:smiling_face_with_three_hearts: Notre équipe de développeurs est très reconnaissante pour votre soutien et votre patience lors de ce processus d’amélioration de la connectivité et de la fiabilité de Jami !

Noyau

Nous avons corrigé des bugs majeurs au cours des dernières semaines, résolvant une part importante de nos problèmes de connectivité !

Beaucoup de nos problèmes de fiabilité provenaient de bugs dans les couches de code sous-jacentes des outils que nous utilisons pour connecter les utilisateurs. Jetons un coup d’œil au fonctionnement de Jami et à ce qui a été corrigé pour améliorer considérablement la connectivité. :nerd_face:

Qu’est-ce que le NAT ?

IPv4 et IPv6 sont deux versions du protocole Internet (IP) utilisées pour l’adressage des appareils. IPv4 utilise des adresses 32 bits, limitant le nombre d’adresses à 4,3 milliards. En revanche, IPv6 utilise des adresses 128 bits, offrant un pool beaucoup plus important d’adresses.

NAT (Network Address Translation) réduit le nombre d’adresses IPv4 disponibles en convertissant les adresses IP privées du réseau local (par exemple, votre ordinateur), qui ne sont pas directement accessibles depuis Internet, en une seule adresse IP publique, connectée à Internet (votre routeur agit comme une passerelle NAT).

Cependant, le NAT peut perturber les applications comme Jami qui dépendent d’adresses IP privées.

UPnP

Jami utilise ICE (Interactive Connectivity Establishment) pour établir une connexion peer-to-peer entre les appareils. Si les NATs bloquent cette connexion directe, Jami utilise UPnP (Universal Plug and Play) s’il est pris en charge par le routeur. UPnP configure automatiquement les paramètres du routeur comme l’ouverture des ports pour faciliter les connexions.

Nous avons corrigé les bugs survenant dans deux scénarios :

  • Quand UPnP est désactivé dans les paramètres.
  • Quand le compte est désactivé dans les paramètres.

UPnP continuait de fonctionner en arrière-plan jusqu’à ce que Jami soit redémarré. La correction de ces bugs réduit le trafic réseau inutile et facilite l’identification d’autres problèmes de connectivité.

TURN

En plus de NAT qui bloque potentiellement les connexions en pair-à-pair, les changements dynamiques d’adresses IP privées et les configurations de pare-feu compliquent davantage la connexion quand UPnP n’est pas supporté.

Pour remédier à ces limitations, les serveurs TURN (Traversal Using Relays around NAT) agissent comme des intermédiaires. Tout comme les routeurs, ces serveurs fournissent une adresse IP publique et un port stable pour le flux de données sécurisé entre les appareils, garantissant la sécurité et la confidentialité.

Environ un tiers des utilisateurs Jami utilise les serveurs TURN.

Nous avons corrigé deux bugs majeurs qui provoquaient des plantages de Jami lorsque la connectivité changeait, l’un d’eux étant lié à la bibliothèque PJSIP.

OpenDHT

Nous avons ajouté des tests automatiques supplémentaires pour OpenDHT, visant à améliorer la robustesse de la connectivité pour les appareils mobiles et à résoudre les bugs liés aux problèmes de délai d’attente lors des listen operations et des fonctions associées au serveur proxy.

Desktop

:sparkles: Nous avons publié de nouvelles versions de Jami pour Ubuntu 24.04 et Fedora 40 !

La semaine dernière, nous avons reçu des retours de FFmpeg concernant le patch que nous avions soumis pour le partage d’écran sur Wayland avec Pipewire. Nous avons commencé à effectuer les changements demandés et prévoyons de les incorporer dans Jami une fois prêts.


Les appareils mobiles présentent des défis de connectivité plus complexes pour Jami par rapport aux ordinateurs de bureau. Lorsque Jami s’exécute en arrière-plan sur mobile, la configuration des serveurs de notifications push est nécessaire, et ce processus varie en fonction du système d’exploitation mobile (Proxy DHT).

iOS

Les efforts sur iOS ont été axés sur la stabilité, les améliorations de l’interface utilisateur et la migration du code de Jami vers SwiftUI. Hier, nous avons publié la version 3.68, pour les versions stable et bêta, alors découvrons-la :

  • La migration vers SwiftUI a été achevée pour les appels et la liste de contact. Cette transition simplifie les processus de modification, accélère le développement, car elle intègre des fonctionnalités par défaut fournies par Apple.
  • La stabilité des notifications a été améliorée en utilisant le streaming de données pour recevoir des données de DHT, au lieu d’attendre la réponse complète. Cela permet le traitement des données même en cas de retards ou de réponses incomplètes.
  • Travail en cours sur la révocation des emojis sur iOS.

Android

Tous les changements répertoriés dans le Core contribuent à résoudre les problèmes de connectivité, en particulier sur Android.

La majeure partie du travail de notre équipe Android a été consacrée à l’ajout de tests automatiques afin d’éviter les régressions et de trouver des bugs récurrents. Nous avons apporté de petites ajustements à l’interface utilisateur et travaillé sur des problèmes liés aux changements de connectivité.

Une nouvelle version officielle sortira sur Android la semaine prochaine ! :star2:


Quelle est la prochaine étape ?

Jami rencontre encore des problèmes avec les changements de connectivité sur les appareils mobiles, en particulier lors du passage d’un réseau à un autre (par exemple, du Wi-Fi à la 5G). Ces problèmes sont principalement liés à OpenDHT et DHTnet. Nous travaillerons à les résoudre dans les mois à venir.

Votre retour d’expérience est d’une immense valeur pour nous, surtout qu’il est difficile de reproduire des bugs spécifiques de notre côté, étant donné que nous ne collectons aucune donnée. Nous apprécions vraiment votre volonté d’essayer ces nouvelles versions et de partager vos expériences avec nous❗

Lorsque vous signalez un problème, informez-nous de :

  1. L’appareil utilisé
  2. La version de Jami installée
  3. Les étapes qui ont conduit à votre problème.

Merci beaucoup :smiley:.

Bonjour je me présente, Cabrel Tambue, j’ai rejoins l’équipe dedié à la gestion de communauté de Jami :slight_smile:
N’hsitez pas à me contacter si vous avez des questions. :slight_smile:

1 Like