مهم

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. اگر قبلاً حساب ندارید، حسابی در [Jami GitLab] (https://git.jami.net/users/sign_up) ایجاد کنید.

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

    • {gitlab-project}`مشتری اندروید

    • {gitlab-project}`مشتری Qt

    • {gitlab-project}`مشتری iOS

    • مشتری macOS (به نام مشتری Qt)

    • {gitlab-project}` پروژه Jami به طور کلی (یا اگر مطمئن نیستید)

    • [اگر می دانید چه کاری انجام می دهید، می توانید یکی از پروژه های دیگر را انتخاب کنید]

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

  4. عنوان خلاصه ای صریح از خطا است (به عنوان مثال: بار سرنخ به دلیل اندازه آیکون بیش از حد بزرگ است)

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

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

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

    • 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. مطمئن شوید که نرم افزار شما به روز است. ایده آل، یک نسخه در حال توسعه را آزمایش کنید تا ببینید آیا خطای شما قبلاً اصلاح شده است.

  7. سعی کنید از محیط زیست جدا شوید و تولید مثل کنید (به عنوان مثال، آزمایش در چندین دستگاه).

  8. محیط خود را شرح دهید (ب) با مشخص کردن موارد زیر:

    • نسخه OS

    • مدل دقیق دستگاه (مهم برای دستگاه های تلفن همراه)

    • اگر از نسخه بیتا استفاده می کنید

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

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

شما چطور با استفاده از حدود 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"

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

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

    مراحل تولید مجدد مهم ترین بخش هر گزارش خطا است. اگر یک توسعه دهنده قادر به تولید مجدد خطا باشد، به احتمال زیاد خطا اصلاح خواهد شد. اگر مراحل غیر واضح باشد، حتی نمی توان دانست که آیا خطا اصلاح شده است. ما کاملاً آگاهیم که برخی از اشکال ممکن است به نظر شما آشکار باشد، اما احتمالاً با محیط شما مرتبط هستند. هرچه دقیق تر باشید، سریع تر می توانید خطا را اصلاح کنید.

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

    نشان دهید که آیا می توانید خطا را به صورت مطلوب، گاهی اوقات، یا اصلاً تکرار کنید. روش تعامل خود را با Jami علاوه بر هدف هر مرحله توصیف کنید. پس از مراحل خود، نتایج مشاهده شده (حقیقی) و نتایج انتظار شده را به طور دقیق توصیف کنید. واقعیت ها (ملاحظات) را از حدس ها جدا کنید.

Good

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

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.

نتیجه حاصل شده

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

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

  • اگه يکي از اونا ساخته بشه

نتیجه انتظار شده

این یک توصیف از رفتار انتظار می رود یا مطلوب است.

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

اطلاعات زیر برای اکثر گزارش های خطا درخواست می شود. شما می توانید با ارائه این اطلاعات در زیر نتایج انتظار می رود زمان را صرفه جویی کنید.

چوب

مشتری Jami مبتنی بر 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.

در GNU/Linux

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

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

به عنوان کلیه ی کلیه ی Jami (GUI) و دایمون فرآیندهای جداگانه هستند، ساده ترین راه برای دریافت کلیدهای از هر دو این است که آنها را به صورت دستی شروع کنید.

  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

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

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

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

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

در اندروید

براي جمع آوری سوابق از طریق تلفن با استفاده از Jami خودش:

  • تـ گفتگوها

  • بر روی منو سه نقطه در سمت راست بالا ضربه بزنید

  • تنظیمات

  • تاپیک کنید تاریخ تشخیصی

برای جمع آوری سوابق از طریق کامپیوتر با استفاده از پل Debug Android (adb):

  • تو بايد ايدب رو روي کامپيترت راه بندي کني

  • جمي رو با تلفن همراه ات پرتاب کن و بعد اعدامش کن

  • ``` `

  • حالا شما یک فایل دارید که حاوی دفترچه ی مشتری است

برای ویندوز

یک ترمینل (cmd.exe) را باز کنید و Jami.exe را با گزینه های زیر راه اندازی کنید:

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

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