Belangrijk

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.

Bug-rapportgids

Deze handleiding bevat stapsgewijze instructies voor het melden van bugs en problemen die u in Jami tegenkomt.

Maak je omgeving op

  • Maak je klaar voor gegevensverlies. Maak een back-up van je account en koppel je account aan zoveel mogelijk apparaten.

  • Installeer de nieuwste versie (of zelfs een betaversie) van Jami. Het rapporteren van bugs/problemen tegen oudere versies is minder nuttig en er is een kans dat deze reeds is opgelost in nieuwere versies.

Hoe een bug te melden

  1. Maak een account op het [Jami GitLab]https://git.jami.net/users/sign_up) als je er nog geen hebt.

  2. Kies het juiste project om uw nummer in te plaatsen:

    • Het is een van de meest recente programma’s van de Android-client.

    • Het Qt-client

    • Het is een van de meest belangrijke onderdelen van het project.

    • De macOS-client (afgevallen door de Qt-client)

    • Het Jami-project in het algemeen (of als u niet zeker bent)

    • [Als je weet wat je doet, kun je een van de andere projecten kiezen]

  3. Als u meerdere problemen heeft, kunt u apart bug-rapporten indienen.

  4. De titel is een expliciete samenvatting van de fout (bijvoorbeeld: headerbalk is te groot vanwege de ikoongrootte)

  5. Ontdek de stappen om de fout te reproduceren:

    • Als je de juiste stappen hebt om het te reproduceren (groot!) ben je op weg naar het maken van een nuttig bug-rapport.

    • Als u af en toe kunt reproduceren, maar niet na het volgen van specifieke stappen, kunt u dan aanvullende informatie over het onderwerp verstrekken om anderen te helpen het te begrijpen en te proberen te reproduceren.

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

  6. Zorg ervoor dat uw software up-to-date is. Test een ontwikkelingsversie om te zien of uw fout al is opgelost.

  7. Probeer het te isoleren van de omgeving en te reproduceren (d.w.z. testen op meerdere apparaten).

  8. Beschrijf uw omgeving (s) door het volgende te vermelden:

    • OS-versie

    • Precies apparaatmodel (belangrijk voor mobiele apparaten)

    • als u een beta-versie gebruikt

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

    • 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 elements if needed:

      • SIP provider,

      • hardware,

      • etc.

Een duidelijke samenvatting schrijven

Hoe zou je de bug met ongeveer 10 woorden beschrijven? Dit is het eerste deel van je bug-rapport dat een ontwikkelaar zal zien.

Een goede samenvatting moet een foutrapport snel en uniek identificeren en het probleem uitleggen, niet de suggereerde oplossing.

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"

Het schrijven van nauwkeurige stappen om te reproduceren

  • Hoe kan een ontwikkelaar de fout op zijn of haar eigen apparaat reproduceren?

    Als een ontwikkelaar de bug kan reproduceren, is het zeer waarschijnlijk dat deze wordt opgelost. Als de stappen onduidelijk zijn, is het misschien niet eens mogelijk om te weten of de bug is opgelost. We zijn ons ervan bewust dat sommige bugs voor u duidelijk lijken, maar ze zijn waarschijnlijk gerelateerd aan uw omgeving. Hoe nauwkeuriger je bent, hoe sneller de bug kan worden opgelost.

  • Wat moet je in een foutrapport vermelden?

    Geef aan of je de fout op willekeurige wijze kunt reproduceren, af en toe, of helemaal niet. Beschrijf je manier van interactie met Jami naast de bedoeling van elke stap. Beschrijf na je stappen het waargenomen (echte) resultaat en het verwachte resultaat nauwkeurig. Scheid feiten (observaties) duidelijk van speculaties.

Good

Ik kan me altijd voortbrengen door deze stappen te volgen:

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.

Bad

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

Het resultaat

Voeg hieronder in:

  • De Jami daemon (jamid of libjami of libring) en de client debugg logs.

  • De kern stort als er een werd geproduceerd.

Verwacht resultaat

Het is een beschrijving van het verwachte of gewenste gedrag.

Aanvullende informatie verstrekken

De volgende informatie wordt gevraagd voor de meeste bug-rapporten.

Borden

Qt-gebaseerde Jami-client (GNU/Linux, Windows, macOS)

Go to the General settings. In the Troubleshoot section, you can click on “Open logs”, where you will be able to get statistics (“Show stats”) or start recording information via “Receive logs”. Then you can just copy the result and explain your scenario.

Op GNU/Linux

Klassieke logs (bij standaard worden alleen >= waarschuwingslogs geregistreerd):

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

Volledig log: Aangezien de Jami-client (GUI) en de daemon gescheiden processen zijn, is de gemakkelijkste manier om logs van beide te krijgen, om ze één op één te starten, handmatig.

  1. Zorg ervoor dat geen Jami-client of daemon instances worden uitgevoerd: controleer door `ps aux ̶ grep jami̶̶ in een terminal te draaien.

    • Jami kan nog steeds werken, zelfs als er geen ramen open zijn, afhankelijk van je voorkeuren.

    • Als een client of een daemon wordt uitgevoerd, beëindig ze met behulp van kill PID.

  2. In één terminal, start de daemon met jamid -d -c

    • Deze uitvoerbaar is normaal gesproken niet in de PATH, en in de Debian/Trisquel/Ubuntu pakketten, is het gelegen op /usr/lib/x86_64-linux-gnu/jamid -d -c of /usr/libexec/jamid -d -c.

  3. In another terminal, start the client, using jami -d.

Om een achtergrond te krijgen, kun je het programma in GDB uitvoeren:

gdb -ex run --args jami -d, or gdb -ex run --args /usr/libexec/jamid -cd, depending on the component you need to debug.

Wanneer het afvalt, kunt u bt (of nog beter, thread alle bt toepassen) typen en vervolgens op Enter drukken.

Op macOS

  • Ga naar /Applications/Jami.app/Contents/MacOS/.

  • Dubbel klik op Jami, dan start het Jami en prints het log naar de terminal.

  • Kopieer het log van de terminal naar een bestand.

Als alternatief kunt u /<path naar Jami>/Jami.app/Contents/MacOS/Jami -d vanaf de terminal uitvoeren.

Op Android

Om logs te verzamelen via je telefoon met Jami zelf:

  • Klik op Gesprekken

  • Tik op het menu met drie punten rechtsboven

  • Tast op Instellingen

  • Klik op Diagnostische logs

Om logs via uw computer te verzamelen met behulp van de Android Debug Bridge (adb):

  • Je moet ADB op je computer hebben.

  • Launch Jami op je smartphone en dan executeer

  • Ik heb een paar keer een foto van de man die op de foto staat.

  • Je hebt nu een bestand met het log van de cliënt

Voor Windows

Open een terminal (cmd.exe) en start Jami.exe met de volgende opties:

  • -d om een apart consolevenster te openen om logs te ontvangen

  • -f logs te schrijven naar %localappdata%\jami\jami.log