Quan trọng

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.

Hướng dẫn báo cáo lỗi

Hướng dẫn này bao gồm hướng dẫn từng bước để báo cáo lỗi và các vấn đề bạn gặp phải ở Jami.

Định hướng môi trường của bạn

  • Hãy sẵn sàng để mất dữ liệu, sao lưu tài khoản của bạn và kết nối tài khoản của bạn với nhiều thiết bị càng tốt.

  • Cài đặt phiên bản mới nhất (hoặc thậm chí phiên bản beta) của Jami. Báo cáo lỗi / vấn đề so với các phiên bản cũ ít hữu ích hơn, và có khả năng nó đã được sửa chữa trong các phiên bản mới hơn.

Làm thế nào để báo cáo một lỗi

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

  2. Chọn dự án phù hợp để đăng bài của bạn vào:

  3. Nếu bạn có nhiều vấn đề, vui lòng nộp báo cáo lỗi riêng biệt. Sẽ dễ dàng hơn nhiều để theo dõi chúng theo cách đó.

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

  5. Tìm ra các bước để tái tạo lỗi:

    • 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. Mô tả môi trường của bạn bằng cách chỉ ra những điều sau đây:

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

Viết một bản tóm tắt rõ ràng

Bạn mô tả lỗi như thế nào bằng cách sử dụng khoảng 10 từ? Đây là phần đầu tiên của báo cáo lỗi của bạn mà một nhà phát triển sẽ thấy.

Một bản tóm tắt tốt nên nhanh chóng và độc đáo xác định một báo cáo lỗi. Nó nên giải thích vấn đề, chứ không phải là giải pháp bạn đề xuất.

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"

Viết các bước chính xác để tái tạo

  • Một nhà phát triển có thể làm sao để tái tạo lỗi trên thiết bị của mình?

    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.

  • Bạn nên bao gồm gì trong báo cáo lỗi?

    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

Tôi luôn có thể tái tạo bằng cách làm theo những bước này:

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

Xin vui lòng bao gồm:

  • Đồ đạc Jami (jamid hoặc libjami hoặc libring) và log lỗi của khách hàng.

  • The core dump, if one was produced.

Expected result

A description of the expected or desired behavior.

Cung cấp thông tin bổ sung

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

Các ngày

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. Bây giờ bạn có một tập tin có chứa nhật ký của khách hàng

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

Các nhật ký cổ điển (bằng mặc định chỉ có các nhật ký >= cảnh báo được ghi lại):

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. Đảm bảo rằng không có khách hàng Jami hoặc các trường hợp daemon đang chạy: kiểm tra bằng cách chạy ps aux grep jami trong một thiết bị kết nối.

    • Jami có thể vẫn đang chạy ngay cả khi không có cửa sổ nào mở, tùy thuộc vào sở thích của bạn.

    • Nếu client hoặc daemon đang chạy, hãy chấm dứt chúng bằng cách sử dụng kill PID.

  2. Trong một đầu cuối, bắt đầu con quỷ bằng jamid -d -c

    • Điều này thường không nằm trong PATH, và trong các gói Debian/Trisquel/Ubuntu, nó nằm ở /usr/lib/x86_64-linux-gnu/jamid -d -c hoặc /usr/libexec/jamid -d -c.

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

Để tìm lại, bạn có thể chạy chương trình bên trong GDB:

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

Khi nó bị hỏng, bạn có thể gõ bt (hoặc thậm chí tốt hơn, thread áp dụng tất cả bt) sau đó nhấn Enter. Sau đó sao chép lại và dán nó vào số.

macOS

  1. Di chuyển đến /Applications/Jami.app/Contents/MacOS/.

  2. Nhấp hai lần Jami, nó sẽ khởi động Jami và in nhật ký đến cổng.

  3. Tải nhật ký từ thiết bị cuối đến một tệp.

Ngoài ra, bạn có thể chạy /<path đến Jami>/Jami.app/Contents/MacOS/Jami -d từ thiết bị kết nối.

Chiếc cửa sổ

  1. Open the command prompt (cmd.exe)

  2. Run Jami.exe with the following options:

    • -d để mở cửa sổ máy tính để nhận nhật ký

    • -f để viết nhật ký cho %localappdata%\jami\jami.log