Penting

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.

Panduan pelaporan bug

Panduan ini mencakup instruksi langkah demi langkah untuk melaporkan bug dan masalah yang Anda temui di Jami.

Buatlah lingkungan Anda

  • Bersiaplah untuk kehilangan data. Membuat cadangan akun Anda dan menghubungkan akun Anda ke banyak perangkat yang mungkin.

  • Menginstal versi terbaru (atau bahkan versi beta) dari Jami. Menglaporkan bug/masalah terhadap versi lama kurang berguna, dan ada kemungkinan bahwa itu sudah diperbaiki dalam versi baru.

Cara melaporkan bug

  1. Buat akun di [Jami GitLab]https://git.jami.net/users/sign_up) jika Anda belum memiliki akun.

  2. Pilih proyek yang tepat untuk memposting masalah Anda di:

  3. Jika Anda memiliki beberapa masalah, silakan file laporan bug terpisah. Akan jauh lebih mudah untuk melacak mereka dengan cara itu.

  4. Judul adalah ringkasan eksplisit dari bug (misalnya: header bar terlalu besar karena ukuran ikon)

  5. Carilah langkah untuk mereproduksi bug:

    • Jika Anda memiliki langkah-langkah yang tepat untuk mereproduksi (besar!) Anda berada di jalan untuk membuat laporan bug yang berguna.

    • Jika Anda dapat memulang secara occasional, tetapi tidak setelah mengikuti langkah-langkah tertentu, silakan berikan informasi tambahan tentang masalah tersebut untuk membantu orang lain memahami dan mencoba memulangnya.

    • 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. Pastikan perangkat lunak Anda up-to-date. Idealnya, uji versi yang sedang dikembangkan untuk melihat apakah bug Anda sudah diperbaiki.

  7. Cobalah untuk mengisolasi dari lingkungan dan mereproduksi (yaitu uji pada beberapa perangkat).

  8. Jelaskan lingkungan Anda dengan menentukan hal-hal berikut:

    • Versi OS

    • model perangkat yang tepat (penting untuk perangkat seluler)

    • jika Anda menggunakan versi 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.

Menulis ringkasan yang jelas

Bagaimana Anda akan menggambarkan bug menggunakan sekitar 10 kata? Ini adalah bagian pertama dari laporan bug Anda seorang pengembang akan melihat.

Ringkasan yang baik harus dengan cepat dan unik mengidentifikasi laporan bug. Ini harus menjelaskan masalah, bukan solusi yang Anda sarankan.

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"

Menulis langkah-langkah yang tepat untuk mereproduksi

  • Bagaimana seorang pengembang bisa mereproduksi bug di perangkatnya sendiri?

    Langkah untuk mereproduksi adalah bagian terpenting dari setiap laporan bug. Jika seorang pengembang mampu mereproduksi bug, bug sangat mungkin akan diperbaiki. Jika langkah-langkahnya tidak jelas, mungkin tidak mungkin bahkan untuk mengetahui apakah bug telah diperbaiki. Kami sepenuhnya menyadari bahwa beberapa bug mungkin terlihat jelas bagi Anda, tetapi mereka mungkin terkait dengan lingkungan Anda. Semakin tepat Anda, semakin cepat bug dapat diperbaiki.

  • Apa yang harus Anda sertakan dalam laporan bug?

    Tunjukkan apakah Anda dapat mereproduksi bug pada kehendak Anda, sesekali, atau tidak sama sekali. Jelaskan metode interaksi Anda dengan Jami selain niat setiap langkah. Setelah langkah Anda, jelaskan hasil yang diamati (secara nyata) dan hasil yang diharapkan. Jelas memisahkan fakta (pengamatan) dari spekulasi.

Good

Saya selalu bisa mereproduksi dengan mengikuti langkah-langkah ini:

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.

Hasil yang Tercapai

Silakan masukkan:

  • Daemon Jami (jamid atau libjami atau libring) dan log debug klien.

  • Kerangka utama jika ada yang diproduksi.

Hasil yang Diharapkan

Ini adalah deskripsi perilaku yang diharapkan atau diinginkan.

Penyediaan informasi tambahan

Informasi berikut diminta untuk sebagian besar laporan bug. Anda dapat menghemat waktu dengan memberikan informasi ini di bawah hasil yang diharapkan.

Log

Klien Jami berbasis 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.

Pada GNU/Linux

Log klasik (secara default hanya log peringatan >= yang tercatat):

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. Pastikan bahwa tidak ada klien Jami atau instansi daemon berjalan: cek dengan menjalankan `ps aux ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊ ̊

    • Jami mungkin masih berjalan bahkan jika tidak ada jendela terbuka, tergantung pada preferensi Anda.

    • Jika klien atau daemon sedang berjalan, mengakhiri mereka menggunakan kill PID.

  2. Di satu terminal, mulailah daemon dengan jamid -d -c

    • Eksekusi ini biasanya tidak berada di PATH, dan dalam paket Debian/Trisquel/Ubuntu, ini terletak di /usr/lib/x86_64-linux-gnu/jamid -d -c atau /usr/libexec/jamid -d -c.

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

Untuk mendapatkan jejak, Anda dapat menjalankan program di dalam GDB:

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

Ketika itu jatuh, Anda dapat mengetik bt (atau bahkan lebih baik, thread menerapkan semua bt) lalu tekan Enter. Kemudian menyalin backtrace dan tempelkan ke dalam masalah.

Pada macOS

  • Berpindah ke /Applications/Jami.app/Contents/MacOS/.

  • Klik ganda Jami, akan meluncurkan Jami dan mencetak log ke terminal.

  • Salin log dari terminal ke file.

Sebagai alternatif, Anda dapat menjalankan /<path ke Jami>/Jami.app/Contents/MacOS/Jami -d dari terminal.

Pada Android

Untuk mengumpulkan log melalui ponsel Anda menggunakan Jami sendiri:

  • Ketuk Percakapan

  • Ketuk menu tiga titik di kanan atas

  • Tekan Setelan

  • Ketuk log diagnostik

Untuk mengumpulkan log melalui komputer Anda menggunakan Android Debug Bridge (adb):

  • Anda perlu memiliki adb diatur di komputer Anda.

  • Luncurkan Jami di smartphone Anda dan kemudian eksekusi

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

  • Sekarang Anda memiliki file yang berisi log klien

Untuk Windows

Buka terminal (cmd.exe) dan buka Jami.exe dengan opsi berikut:

  • -d untuk membuka jendela konsol terpisah untuk menerima log

  • -f untuk menulis log ke %localappdata%\jami\jami.log