** توجه: ما در حال حاضر تعداد کمی از توسعه دهندگان فعال در پروژه هستیم. به همین دلیل، ما نمی توانیم به تمام مسائل باز شده بلافاصله پاسخ دهیم و برچسب گذاری کنیم، اما ما آنها را می بینیم و می خوانیم. گزارش های خوب بگز به ما بازخورد مهمی می دهند، که از شما سپاسگزاریم و همیشه از آن سپاسگزاریم.**

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

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

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

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

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

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

  1. اگر قبلاً حساب ندارید، حسابی در [Jami GitLab] (https://git.jami.net/users/sign_up) ایجاد کنید.

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

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

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

  • کلائنت GNOME/GTK (به نام کلائنت Qt)

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

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

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

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

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

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

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

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

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

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

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

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

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

  • نسخه OS

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

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

  • اگر نسخه ی Jami خود را ساخته اید، لطفاً نسخه ی Jami Daemon و نسخه ی مشتری را مشخص کنید (شما می توانید از طریق jamid -v و jami-gnome -v یا jami -v آن را بدست آورید؛ اما توجه داشته باشید که بسته های ما اغلب به روز می شوند) و متعهد Git.

  • شرایط شبکه: آیا هر دو دستگاه در یک شبکه محلی هستند؟ شبکه های مختلف؟ آیا یکی یا هر دو پشت NAT هستند؟ آیا از LTE استفاده می کنید؟ آیا از WiFi استفاده می کنید؟

  • سایر عناصر در صورت لزوم: ارائه دهنده SIP، سخت افزار و غیره

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

شما چطور با استفاده از حدود 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 علاوه بر هدف هر مرحله توصیف کنید. پس از مراحل خود، نتایج مشاهده شده (حقیقی) و نتایج انتظار شده را به طور دقیق توصیف کنید. واقعیت ها (ملاحظات) را از حدس ها جدا کنید.

خوبه

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

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.

بد:

Try to transfer a file
It doesn't work.

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

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

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

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

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

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

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

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

چوب

مشتری Jami مبتنی بر Qt (GNU/Linux، Windows، macOS)

به تنظیمات عمومی بروید. در بخش حل مشکلات، می توانید روی "لغ های باز" کلیک کنید، جایی که می توانید آمار ("حسابات نشان دهید") را دریافت کنید یا از طریق "لغ های دریافت" اطلاعات را ثبت کنید. سپس می توانید نتیجه را کپی کرده و سناریوی خود را توضیح دهید.

در 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. در ترمینال دیگری، مشتری را با استفاده از مثال jami-gnome -d یا jami -d شروع کنید.

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

gdb -ex run --args jami -d، یا gdb -ex run jami-gnome، یا gdb -ex run --args /usr/libexec/jamid -cd، بسته به قطعه ای که شما نیاز به دیبگ دارید.

وقتی سقوط می کند، می توانید 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