Important

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. Les bons rapports de bogues nous fournissent un retour d’information important, ce dont nous vous remercions et que nous apprécions toujours.

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. Only required once: Create a Jami GitLab account.

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

  3. 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.

  4. The title is an explicit summary of the bug (for example, the header bar is too big due to icon size).

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

    • If you have precise steps to reproduce it (great!), you’re on your way to creating a helpful bug report.

    • If you can reproduce it occasionally but not after following specific steps, please provide additional information about the issue to help others understand and try to reproduce it.

    • If you can not reproduce the problem, there may be little chance of it being reasonably fixable. If you do report it, please provide as much information/clues about its occurrence as possible.

  6. Ensure your software is up to date. Ideally, test an in-development version to see whether your bug has already been fixed.

  7. Attempt to isolate from the environment and reproduce (that is, test on multiple devices).

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

    • Operating system and version

    • Precise device model (important for mobile devices)

    • Stable or beta version of Jami

    • What build you are using (F-Droid, Google Play, App Store, 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.

    • Network conditions:

      • Are both devices on the same local network?

      • Sur des réseaux différents ?

      • L’un ou les deux sont-il derrière le NAT (traduction d’adresse réseau) ?

      • Utilisez-vous un réseau mobile LTE ?

      • Utilisez-vous du Wi-Fi ?

    • Other details if required:

      • Fournisseur SIP,

      • Hardware,

      • 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?

    Steps to reproduce are the most important part of any bug report. If a developer is able to reproduce the bug, the bug is very likely to be fixed. If the steps are unclear, it might not even be possible to know whether the bug has been fixed. We are totally aware that some bugs may look obvious to you, but they are probably related to your environment. The more precise you are, the quicker the bug can be fixed.

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

    Indicate whether you can reproduce the bug at will, occasionally, or not at all. Describe your method of interacting with Jami in addition to the intent of each step. After your steps, precisely describe the observed (actual) result and the expected result. Clearly separate facts (observations) from speculations.

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 button.

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

Mauvais

Attempt to transfer a file.
It doesn't work.

Obtained result

Veuillez inclure:

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

  • The core dump, if one was produced.

Expected result

A description of the expected or desired behavior.

Fournir des informations supplémentaires

The following information is requested for most bug reports. You can save time by providing this information below the expected results.

Les journaux

Android

To gather logs via the Android device using Jami:

  1. Tap Conversations.

  2. Tap the (three-dot) menu on the top right.

  3. Tap Settings.

  4. Tap Diagnostic logs.

To gather logs via a computer using the Android Debug Bridge (adb):

  1. The adb is required to be set up on your computer.

  2. Launch Jami on your smartphone and then execute adb logcat *:D | grep `adb shell ps | egrep 'cx.ring' | cut -c10-15` > logring.txt

  3. Vous avez maintenant un fichier contenant le journal du client

Desktop Jami client based on the Qt framework (GNU/Linux, macOS, Windows)

  1. Open the General tab in the settings.

  2. In the Troubleshoot section, click the Open logs button.

  3. Turn on the View logs switch.

  4. Click the Copy button.

  5. Paste the result and explain the scenario in the issue.

GNU/Linux

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

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

Full log: The Jami client (GUI) and daemon are separate processes. To obtain logs from both processes, start each process manually, one at a time.

  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.

macOS

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

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

  3. Copiez le journal du terminal à un fichier.

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

Les fenêtres

  1. Open the command prompt (cmd.exe)

  2. Run Jami.exe with the following options:

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

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