**Note: Nous sommes actuellement un petit nombre de développeurs actifs sur le projet. Nous ne pouvons pas répondre et marquer immédiatement tous les problèmes ouverts, mais nous les remarquons et les lisons.

Guide de déclaration des bugs

Ce guide comprend des instructions étape par étape pour signaler les bugs et les problèmes que vous rencontrez à Jami.

Configurez votre environnement

  • Préparez-vous à la perte de données.

  • Installez la dernière version (ou même une version bêta) de Jami.

Comment signaler un bug

  1. Créez un compte sur [Jami GitLab]https://git.jami.net/users/sign_up) si vous n’en avez pas déjà un.

  2. Choisissez le bon projet pour publier votre numéro dans:

  • Le client Android

  • Le client Qt

  • Le client iOS

  • Le client macOS (déprécié par le client Qt)

  • Le projet Jami en général (ou si vous n’êtes pas sûr)

  • [Si vous savez ce que vous faites, vous pouvez choisir l’un des autres projets]

  1. Si vous avez plusieurs problèmes, veuillez déposer des rapports de bugs séparés. Il sera beaucoup plus facile de les suivre de cette façon.

  2. Le titre est un résumé explicite du bug (par exemple: la barre d’en-tête est trop grande en raison de la taille de l’icône)

  3. Découvrez les étapes pour reproduire le bug:

  • Si vous avez des étapes précises pour la reproduire (grande!) vous êtes sur le chemin de la création d’un rapport utile de bug.

  • Si vous pouvez reproduire de temps en temps, mais pas après avoir suivi des étapes spécifiques, veuillez fournir des informations supplémentaires sur le sujet pour aider les autres à le comprendre et à essayer de le reproduire.

  • Si vous ne pouvez pas reproduire le problème, il est peu probable qu’il soit raisonnablement réalisable.

  1. Assurez-vous que votre logiciel est à jour. Idéalement, testez une version en cours de développement pour voir si votre bug a déjà été corrigé.

  2. Essayez d’isoler de l’environnement et de vous reproduire (c’est-à-dire de tester sur plusieurs appareils).

  3. Décrivez votre environnement (s) en précisant ce qui suit:

  • Version du système d’exploitation

  • modèle précis du dispositif (important pour les appareils mobiles)

  • si vous utilisez une version bêta

  • what build you are using (F-Droid, Play Store, App Store, from dl.jami.net, your own build, etc.). If you have built your own version of Jami, please specify the exact Jami Daemon version and client version (you can obtain it using jamid -v and jami -v; but note that our packages are updated quite often) and the Git commit.

  • Les conditions de réseau: les deux appareils sont-ils sur le même réseau local? différents réseaux? est-ce que l’un ou les deux sont derrière NAT? utilisez-vous LTE? utilisez-vous le WiFi?

  • autres éléments, si nécessaire: fournisseur de SIP, matériel, etc.

Rédiger un résumé clair

Comment décririez-vous le bug en utilisant environ 10 mots?

Un bon résumé devrait identifier rapidement et de manière unique un rapport de bug. Il devrait expliquer le problème, pas la solution suggérée.

Good: "Cancelling a file transfer crashes Jami"
Bad: "Software crashes"
Good: "All calls hang up after 32 seconds"
Bad: "Not able to call my friends"

Rédaction de mesures précises à suivre pour se reproduire

  • Comment un développeur peut- il reproduire le bug sur son propre appareil?

    Les étapes à reproduire sont la partie la plus importante de tout rapport de bug. Si un développeur est capable de reproduire le bug, il est très probable que le bug soit corrigé. Si les étapes ne sont pas claires, il peut même être impossible de savoir si le bug a été corrigé. Nous sommes parfaitement conscients que certains bugs peuvent vous sembler évidents, mais ils sont probablement liés à votre environnement. Plus vous êtes précis, plus rapidement le bug peut être corrigé.

  • Que devriez- vous inclure dans un rapport de bug?

    Indiquez si vous pouvez reproduire le bug à volonté, occasionnellement ou pas du tout. Décrivez votre méthode d’interaction avec Jami en plus de l’intention de chaque étape. Après vos étapes, décrivez précisément le résultat observé (réel) et le résultat attendu. Séparer clairement les faits (observations) des spéculations.

C” est bon.

Je peux toujours me reproduire en suivant ces étapes:

1. Start Jami by clicking on the desktop icon
2. Start a new conversation with anyone
3. Click the file transfer icon

Expected results: A window opens and asks me to choose a file to send.
Actual results: When I click the file transfer icon, nothing happens.

C” est mauvais:

Try to transfer a file
It doesn't work.

Le résultat obtenu

Veuillez inclure:

  • Le daemon Jami (jamid ou libjami ou libring) et les journaux de débogage du client.

  • Le dépôt de la base si on en a produit un.

Résultat attendu

C’est une description du comportement attendu ou désiré.

Fournir des informations supplémentaires

Les informations suivantes sont demandées pour la plupart des rapports de bugs. Vous pouvez gagner du temps en fournissant ces informations en dessous des résultats attendus.

Les journaux

Client Jami basé sur Qt (GNU/Linux, Windows, macOS)

Allez dans la section Définition des problèmes, vous pouvez cliquer sur « Offrez des journaux », où vous pourrez obtenir des statistiques (« Montre des statistiques ») ou commencer à enregistrer des informations via « Recevoir des journaux ». Vous pouvez ensuite simplement copier le résultat et expliquer votre scénario.

Sur GNU/Linux

Les journaux classiques (par défaut, seuls les journaux >= avertissement sont enregistrés):

journalctl --since "24h ago" | grep jami

Log complet: Puisque le client Jami (GUI) et le daemon sont des processus séparés, le moyen le plus simple d’obtenir des journaux des deux est de les démarrer un à la fois, manuellement.

  1. Assurez-vous qu’aucun client Jami ou d’instances de daemon ne s’exécute: vérifiez en exécutant ps aux grap jami dans un terminal.

    • Jami peut encore fonctionner même si aucune fenêtre n’est ouverte, selon vos préférences.

    • Si un client ou un démon est en cours d’exécution, mettez fin à l’utilisation de kill PID.

  2. Dans un terminal, démarrez le daemon avec jamid -d -c

    • Ce jeu d’exécution n’est normalement pas dans le PATH, et dans les paquets Debian/Trisquel/Ubuntu, il est situé à /usr/lib/x86_64-linux-gnu/jamid -d -c ou /usr/libexec/jamid -d -c.

  3. Dans un terminal, démarrez le client avec jami -d

Pour retrouver le traceau, vous pouvez exécuter le programme à l’intérieur de GDB:

gdb -ex run --args jami -d, ou gdb -ex run --args /usr/libexec/jamid -cd, selon le composant que vous sohaitez tester.

Lorsqu’il s’écrase, vous pouvez taper bt (ou encore mieux, thread appliquer tous bt) puis appuyer sur Enter.

Sur macOS

  • Naviguez vers /Applications/Jami.app/Contents/MacOS/.

  • Double clic sur Jami, il lancera Jami et imprimera le journal au terminal.

  • Copiez le journal du terminal à un fichier.

Alternativement, vous pouvez exécuter /<path vers Jami>/Jami.app/Contents/MacOS/Jami -d depuis le terminal.

Sur Android

Pour collecter des journaux via votre téléphone en utilisant Jami lui-même:

  • Appuyez sur Conversations

  • Appuyez sur le menu à trois points en haut à droite

  • Appuyez sur les paramètres

  • Appuyez sur les journaux de diagnostic

Pour collecter des journaux via votre ordinateur à l’aide du débogage de l” Android Bridge (adb):

  • Vous devez avoir l’ADB sur votre ordinateur.

  • Lancez Jami sur votre smartphone et ensuite exécutez

  • Je suis en train de faire une petite histoire.

  • Vous avez maintenant un fichier contenant le journal du client

Pour Windows

Ouvrez un terminal (cmd.exe) et lancez Jami.exe avec les options suivantes:

  • -d pour ouvrir une fenêtre de console séparée pour recevoir des journaux

  • -f écrire des journaux à %localappdata%\jami\jami.log