Wichtig

We are currently a small number of developers active on the project. As such, we cannot answer and tag all of the opened issues immediately, but we do notice and read them. Good bug reports provide us important feedback, which we thank you for and always appreciate.

Anleitung zum Berichten über Fehler

Dieser Leitfaden enthält Schritt-für-Schritt-Anweisungen zur Berichterstattung von Fehlern und Problemen, die Sie in Jami treffen.

Setzen Sie Ihre Umgebung ein

  • Bereiten Sie sich auf Datenverlust vor, sichern Sie Ihr Konto ein und verknüpfen Sie Ihr Konto mit so vielen Geräten wie möglich.

  • Die Berichterstattung von Fehlern/Fragen gegenüber älteren Versionen ist weniger nützlich und es besteht die Wahrscheinlichkeit, dass sie bereits in neueren Versionen behoben worden ist.

Wie man einen Bug melden kann

  1. Only required once: Create a Jami GitLab account.

  2. Wählen Sie das richtige Projekt aus, um Ihre Ausgabe in:

  3. Wenn Sie mehrere Probleme haben, können Sie bitte separate Fehlerberichte einreichen. Auf diese Weise wird es viel einfacher sein, sie zu verfolgen.

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

  5. Ermitteln Sie die Schritte zur Wiedergabe des Bugs:

    • 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. Beschreiben Sie Ihre Umgebung (s) und geben Sie Folgendes an:

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

      • Different networks?

      • Is one or both behind NAT?

      • Are you using LTE?

      • Are you using WiFi?

    • Other details if required:

      • SIP provider,

      • Hardware,

      • etc.

Eine klare Zusammenfassung zu schreiben

Wie würden Sie den Bug mit etwa 10 Wörtern beschreiben?

Eine gute Zusammenfassung sollte einen Fehlerbericht schnell und eindeutig identifizieren und das Problem erklären, nicht die vorgeschlagene Lösung.

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"

Schreibung präziser Reproduktionsschritte

  • Wie kann ein Entwickler den Bug auf seinem eigenen Gerät reproduzieren?

    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.

  • Was sollten Sie in einen Fehlerbericht aufnehmen?

    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.

Good

Ich kann mich immer reproduzieren, indem ich diese Schritte befolge:

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.

Bad

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

Obtained result

Bitte fügen Sie Folgendes ein:

  • Der Jami-Demon (jamid oder libjami oder Libring) und der Client-Debug-Logs.

  • The core dump, if one was produced.

Expected result

A description of the expected or desired behavior.

Zusätzliche Informationen

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

Die Verzeichnisse

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. Sie haben jetzt eine Datei mit dem Protokoll des Kunden

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

Klassische Logs (Standardlogs >= Warnung sind nur registriert):

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. Stellen Sie sicher, dass keine Jami-Client- oder Daemon-Instanzen laufen: Überprüfen Sie, indem Sie ps aux grep jami in einem Terminal laufen.

    • Jami kann noch laufen, auch wenn keine Fenster offen sind, je nach Ihren Vorlieben.

    • Wenn entweder Client oder Daemon läuft, beenden Sie sie mit kill PID.

  2. In einem Terminal starten Sie den Daemon mit jamid -d -c

    • Dieser Ausführbarkeit ist in der Regel nicht in der PATH, und in den Debian/Trisquel/Ubuntu Paketen befindet sich er unter /usr/lib/x86_64-linux-gnu/jamid -d -c oder /usr/libexec/jamid -d -c.

  3. In einem anderen Terminal starten Sie den Client mit jami -d.

Um zurückzuverfolgen, können Sie das Programm in GDB ausführen:

gdb -ex run --args jami -d, oder gdb -ex run --args /usr/libexec/jamid -cd, je nach Komponente, die Sie debuggen müssen.

Wenn es abstürzt, können Sie bt (oder noch besser, thread alle bt anwenden) eingeben, dann drücken Sie Enter. Dann kopieren Sie die Rückverfolgung und fügen Sie sie in die Ausgabe ein.

macOS

  1. Navigieren Sie zu /Applications/Jami.app/Contents/MacOS/.

  2. Doppelklick Jami, es startet Jami und druckt das Protokoll zum Terminal.

  3. Kopieren Sie das Protokoll von Terminal in eine Datei.

Alternativ können Sie /<Path zu Jami>/Jami.app/Contents/MacOS/Jami -d vom Terminal aus laufen.

Fenster

  1. Open the command prompt (cmd.exe)

  2. Run Jami.exe with the following options:

    • -d eine separate Konsolefenster zu öffnen, um Logs zu empfangen

    • -f zu schreiben Logs zu %localappdata%\jami\jami.log