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. Tạo một tài khoản trên [Jami GitLab]https://git.jami.net/users/sign_up) nếu bạn chưa có một tài khoản.

  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. Tiêu đề là một bản tóm tắt rõ ràng của lỗi (ví dụ: thanh tiêu đề quá lớn do kích thước biểu tượng)

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

    • Nếu bạn có các bước chính xác để tái tạo nó (tốt lắm!) bạn đang trên đường để tạo ra một báo cáo lỗi hữu ích.

    • Nếu bạn có thể tái tạo đôi khi, nhưng không phải sau khi thực hiện các bước cụ thể, vui lòng cung cấp thêm thông tin về vấn đề để giúp người khác hiểu và cố gắng tái tạo nó.

    • 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. Hãy chắc chắn phần mềm của bạn đang cập nhật. Lý tưởng nhất, hãy thử một phiên bản đang được phát triển để xem lỗi của bạn đã được sửa chữa chưa.

  7. Cố gắng tách biệt với môi trường và tái sinh (ví dụ thử nghiệm trên nhiều thiết bị).

  8. Mô tả môi trường của bạn bằng cách chỉ ra những điều sau đây:

    • Phiên bản OS

    • Mô hình thiết bị chính xác (tất quan trọng đối với thiết bị di động)

    • nếu bạn đang sử dụng phiên bản 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.

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?

    Các bước để tái tạo là phần quan trọng nhất của bất kỳ báo cáo lỗi nào. Nếu một nhà phát triển có thể tái tạo lỗi, lỗi có thể được sửa chữa rất nhiều. Nếu các bước không rõ ràng, thậm chí có thể không biết lỗi đã được sửa chữa hay không. Chúng tôi hoàn toàn nhận thức rằng một số lỗi có thể trông rõ ràng với bạn, nhưng chúng có thể liên quan đến môi trường của bạn. Bạn càng chính xác, lỗi có thể được sửa nhanh hơn.

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

    Chỉ ra liệu bạn có thể tái tạo lỗi theo ý muốn, thỉnh thoảng hay không. Mô tả phương pháp tương tác của bạn với Jami ngoài mục đích của mỗi bước. Sau các bước của bạn, mô tả chính xác kết quả quan sát (thực tế) và kết quả mong đợi.

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

Kết quả đạt được

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.

  • Thất thải lõi nếu có được sản xuất.

Kết quả mong đợi

Đó là mô tả về hành vi mong muốn hoặc mong muốn.

Cung cấp thông tin bổ sung

Thông tin sau đây được yêu cầu cho hầu hết các báo cáo lỗi. Bạn có thể tiết kiệm thời gian bằng cách cung cấp thông tin này dưới kết quả mong đợi.

Các ngày

Máy khách Jami dựa trên 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.

Trên 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

Lập nhật ký đầy đủ: Vì máy khách Jami (GUI) và daemon là các quy trình tách biệt, cách dễ nhất để có được nhật ký từ cả hai là bắt đầu chúng một lần, thủ công.

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

Trên macOS

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

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

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

Trên Android

Để thu thập hồ sơ qua điện thoại của bạn bằng cách sử dụng Jami chính:

  • Nhập Các cuộc trò chuyện

  • Nhấn vào menu ba điểm ở phía trên bên phải

  • Nhập Setting

  • Nhập Diagnosis logs

Để thu thập nhật ký qua máy tính của bạn bằng cách sử dụng Android Debug Bridge (adb):

  • Bạn cần phải có adb được thiết lập trên máy tính của bạn.

  • Thả Jami lên điện thoại thông minh của bạn và sau đó thực hiện

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

  • Bây giờ bạn có một tập tin có chứa nhật ký của khách hàng

Đối với Windows

Mở một thiết bị kết thúc (cmd.exe) và khởi động Jami.exe với các tùy chọn sau:

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