重要
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 遇到的错误和问题报告的步骤说明.
设置你的环境
备份您的帐户,并将帐户连接到尽可能多的设备.
报告与较早版本的错误/问题不太有用,并且更新版本可能已经修复了.
如何报告错误
Only required once: Create a Jami GitLab account.
选择合适的项目,
The Jami client for Android (Jami client for Android and Android TV devices)
The Jami client for iOS (Jami client for iPhone and iPad devices)
The desktop Jami client (Jami client, based on the Qt framework, for GNU/Linux, macOS, and Windows platforms)
If you know what you are doing, you may choose one of the other projects
如果您有多个问题,请单独提交错误报告.
The title is an explicit summary of the bug (for example, the header bar is too big due to icon size).
找出复制错误的步骤:
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.
Ensure your software is up to date. Ideally, test an in-development version to see whether your bug has already been fixed.
Attempt to isolate from the environment and reproduce (that is, test on multiple devices).
描述您的环境,并说明以下内容:
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
andjami -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个单词描述 bug?这是开发人员看到的 bug 报告的第一个部分.
一个好的总结应该迅速和独特地识别一个错误报告. 它应该解释问题,而不是你建议的解决方案.
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 daemon (jamid或libjami或图书) 和客户端调试日志.
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:
Tap Conversations.
Tap the ⋮ (three-dot) menu on the top right.
Tap Settings.
Tap Diagnostic logs.
To gather logs via a computer using the Android Debug Bridge (adb
):
The adb is required to be set up on your computer.
Launch Jami on your smartphone and then execute
adb logcat *:D | grep `adb shell ps | egrep 'cx.ring' | cut -c10-15` > logring.txt
现在你有了一个文件,包含客户的日志.
Desktop Jami client based on the Qt framework (GNU/Linux, macOS, Windows)
Open the General tab in the settings.
In the Troubleshoot section, click the Open logs button.
Turn on the View logs switch.
Click the Copy button.
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.
确保没有Jami客户端或恶魔实例运行:通过运行ps aux 抓 jami `在终端.
根据你的偏好,即使没有窗户都能运行.
如果客户端或黑鬼运行,使用
kill PID
来终止它们.
在一个终端,开始用
jamid -d -c
这种可执行的通常不在
PATH
中,而在 Debian/Trisquel/Ubuntu 包中,它位于/usr/lib/x86_64-linux-gnu/jamid -d -c
或/usr/libexec/jamid -d -c
.
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应用所有 bt
) 然后按 Enter. 然后复制后线并将其粘贴在问题中.
macOS
导航到
/应用程序/Jami.app/内容/MacOS/
.双击Jami,它将启动Jami,打印到终端的日志.
复制日志从终端到文件.
另一个选择是从终端运行 /<路向 Jami>/Jami.app/Contents/MacOS/Jami -d
.
窗户
Open the command prompt (
cmd.exe
)Run
Jami.exe
with the following options:-d
开一个单独的控制台窗口,接收日志-f
写日志到%局部数据%\jami\jami.log