Importante

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.

Guida per la segnalazione di insetti

Questa guida include istruzioni passo dopo passo per segnalare bug e problemi che si incontrano a Jami.

Imposta il tuo ambiente

  • Preparati per la perdita dei dati.

  • Installare l’ultima versione (o anche una versione beta) di Jami. segnalare bug/problemi rispetto alle versioni precedenti è meno utile e c’è la probabilità che sia già stato risolto nelle versioni più recenti.

Come segnalare un bug

  1. Crea un account sul [Jami GitLab]https://git.jami.net/users/sign_up) se non ne hai già uno.

  2. Scegli il progetto giusto per pubblicare il tuo numero in:

    • Il client Android

    • Il cliente Qt

    • Il client iOS

    • Il client macOS (deprecato da il client Qt)

    • Il progetto Jami in generale (o se non sei sicuro)

    • [Se sai cosa fai potresti scegliere uno degli altri progetti]

  3. Se avete più problemi, per favore, presentate segrete segnalazioni di bug. Sarà molto più facile tenere traccia di loro in questo modo.

  4. Il titolo è un riassunto esplicito del bug (ad esempio: la barra di intestazione è troppo grande a causa della dimensione dell’icona)

  5. Scopri i passaggi per riprodurre il bug:

    • Se hai passi precisi per riprodurlo (e” ottimo!) sei sulla strada per creare un utile rapporto di bug.

    • Se è possibile riprodurre occasionalmente, ma non dopo aver seguito specifici passaggi, si prega di fornire ulteriori informazioni sul tema per aiutare gli altri a capirlo e a provare a riprodurlo.

    • 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. Verificare che il software sia aggiornato.

  7. Provare ad isolare dall’ambiente e riprodursi (cioè test su più dispositivi).

  8. Descrivi il tuo ambiente (s) specificando quanto segue:

    • Versione OS

    • modello di dispositivo preciso (importante per i dispositivi mobili)

    • se si utilizza una versione beta

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

Scrivere una sintesi chiara

Come descriverebbe il bug utilizzando circa 10 parole? Questa è la prima parte del tuo rapporto di bug che un sviluppatore vedrà.

Un buon riassunto dovrebbe identificare rapidamente e in modo unico un rapporto di bug.

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"

Scrivere passi precisi per riprodursi

  • Come può uno sviluppatore riprodurre il bug sul proprio dispositivo?

    I passaggi da riprodurre sono la parte più importante di qualsiasi rapporto di bug. Se uno sviluppatore è in grado di riprodurre il bug, è molto probabile che il bug venga risolto. Se i passaggi non sono chiari, potrebbe non essere possibile nemmeno sapere se il bug è stato risolto. Siamo pienamente consapevoli che alcuni bug possono sembrare ovvi a voi, ma sono probabilmente correlati al vostro ambiente. Più preciso siete, più velocemente il bug può essere risolto.

  • Cosa dovrebbe includere un rapporto di bug?

    Indicare se è possibile riprodurre il bug a volontà, occasionalmente, o non affatto. Descrivere il metodo di interazione con Jami oltre all’intenzione di ogni passo. Dopo i tuoi passi, descrivere con precisione il risultato osservato (attuale) e il risultato atteso.

Good

Posso sempre riprodurmi seguendo questi passaggi:

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.

Risultato ottenuto

Si prega di includere:

  • Il daemon Jami (jamid o libjami o libring) e i log di debug del cliente.

  • Il nucleo di scarto se ne è stato prodotto uno.

Risultato atteso

E” una descrizione del comportamento atteso o desiderato.

Fornire informazioni supplementari

Per la maggior parte dei segnalazioni di bug si richiedono le seguenti informazioni.

Reggi

Cliente Jami basato su Qt (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.

Su GNU/Linux

Registri classici (per impostazione predefinita sono registrati solo >= avvertimenti):

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

Log completo: dal momento che il client Jami (GUI) e il daemon sono processi separati, il modo più semplice per ottenere log da entrambi è avviarli uno alla volta, manualmente.

  1. Assicurarsi che nessun client Jami o istanza di daemon si eseguono: controllare eseguendo ps aux grep jami in un terminal.

    • Jami potrebbe ancora funzionare anche se non ci sono finestre aperte, a seconda delle tue preferenze.

    • Se il client o il daemon sono in esecuzione, chiudilo utilizzando kill PID.

  2. In un terminale, inizia il daemon con jamid -d -c

    • Questo eseguibile non è normalmente presente nel PATH, e nei pacchetti Debian/Trisquel/Ubuntu, si trova a /usr/lib/x86_64-linux-gnu/jamid -d -c o /usr/libexec/jamid -d -c.

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

Per avere una traccia, puoi eseguire il programma all’interno del GDB:

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

Quando si incresca, è possibile digitare bt (o meglio, thread applicare tutti bt) quindi premere Enter.

Su macOS

  • Navigare su /Applications/Jami.app/Content/MacOS/.

  • Fare doppio clic su Jami, lancerà Jami e stampa il registro al terminal.

  • Copia il registro dal terminal in un file.

In alternativa, puoi eseguire /<path to Jami>/Jami.app/Contents/MacOS/Jami -d dal terminal.

Su Android

Per raccogliere registri tramite il telefono usando Jami stesso:

  • Tocca Conversazioni

  • Tocca il menu a tre punti in alto a destra

  • Appuntare Settings

  • Appuntare Registrazioni diagnostiche

Per raccogliere i registri tramite il computer utilizzando il Debug Bridge (adb) di Android:

  • Devi avere l’adb installato sul tuo computer.

  • Lancia Jami sul tuo smartphone e poi eseguire

  • ```db logcat *:D ♬ grep db shell ps egrep 'cx.ring' cut -c10-15d > logring.txt``

  • Ora hai un file contenente il registro del cliente

Per Windows

Aprire un terminal (cmd.exe) e avviare Jami.exe con le seguenti opzioni:

  • -d per aprire una finestra separata della console per ricevere i registri

  • -f scrivere log a %localappdata%\jami\jami.log