مهم

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.

راهنمای گزارش حشرات

این راهنما شامل دستورالعمل های مرحله به مرحله برای گزارش اشکال و مشکلات شما در Jami.

محیط خود را تنظیم کنید

  • آماده شدن برای از دست دادن داده ها باشید. از حساب خود پشتیبان بگیرید و حساب خود را به هر دستگاهی که ممکن است متصل کنید.

  • نصب آخرین نسخه (یا حتی نسخه بتا) از Jami. گزارش دادن اشکال / مشکلات در مقایسه با نسخه های قدیمی کمتر مفید است و احتمال دارد که در نسخه های جدید تر حل شده باشد.

چگونه یک حشرات را گزارش کنیم

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

  2. پروژه مناسب را برای ارسال شماره خود انتخاب کنید:

  3. اگر چند تا مشکل دارید لطفا گزارش های خطا را جداگانه ثبت کنید. این روش پیگیری آنها بسیار آسان تر خواهد بود.

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

  5. مراحل تولید مجدد این خطا را مشخص کنید:

    • 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. محیط خود را شرح دهید (ب) با مشخص کردن موارد زیر:

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

نوشتن خلاصه ای روشن

شما چطور با استفاده از حدود 10 کلمه بگ را توصیف می کنید؟ این اولین قسمت گزارش بگ شما است که یک توسعه دهنده می بیند.

خلاصه ی خوبی باید گزارش خطا را به سرعت و منحصر به فرد شناسایی کند. باید مشکل را توضیح دهد، نه راه حل پیشنهادی شما.

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"

نوشتن مراحل دقیق برای تولید مجدد

  • چگونه یک توسعه دهنده می تواند این خطای را در دستگاه خود تولید کند؟

    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.

  • چه چیزی را باید در گزارش بگز قرار دهید؟

    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

من همیشه می تونم با این مراحل تولید کنم:

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

لطفاً شامل این موارد شوید:

  • ديمون Jami (جاميد يا libjami يا libring) و سوابق بازيابي كليدي

  • The core dump, if one was produced.

Expected result

A description of the expected or desired behavior.

ارائه اطلاعات اضافی

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

چوب

اندروید

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. حالا شما یک فایل دارید که حاوی دفترچه ی مشتری است

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

ثبت نام های کلاسیک (به طور پیش فرض فقط ثبت شده است >= هشدار):

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. مطمئن شوید که هیچ مشتری Jami یا نمونه های شیطان در حال اجرا: چک با اجرا ps aux گرفت jami در یک ترمینال.

    • شايد جمي هنوز هم در حال اجرا باشه، حتی اگه پنجره ها باز نباشن، بسته به ترجیحاتتون.

    • اگر هرکدام از مشتری ها یا دیمون ها اجرا می شوند، آنها را با استفاده از kill PID متوقف کنید.

  2. در يک ترمينل، ديمون را با jamid -d -c شروع کن

    • این قابل اجرا معمولا در PATH نیست و در بسته های Debian/Trisquel/Ubuntu، در /usr/lib/x86_64-linux-gnu/jamid -d -c یا /usr/libexec/jamid -d -c قرار دارد.

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

براي بازتابي مي توني برنامه رو داخل GDB اجرا کني:

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

وقتی سقوط می کند، می توانید bt (یا حتی بهتر، `thread را اعمال کنید) سپس روی Enter فشار دهید. سپس ردیابی پس از آن را کپی کنید و آن را در شماره پستی کنید.

macOS

  1. به /Applications/Jami.app/Contents/MacOS/ بروید.

  2. دو بار کلیک کنید جمی، جمی رو راه اندازی می کنه و دفترچه ی کار رو به ترمینال چاپ می کنه

  3. از ترمینال به یک فایل کپی کنید.

به عنوان یک گزینه دیگر، می توانید /<path را به Jami>/Jami.app/Contents/MacOS/Jami -d از ترمینال اجرا کنید.

پنجره ها

  1. Open the command prompt (cmd.exe)

  2. Run Jami.exe with the following options:

    • -d برای باز کردن پنجره کنسول جداگانه برای دریافت دفترچه ها

    • -f برای نوشتن سوابق به %localappdata%\jami\jami.log