Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Submitting useful bug reports
First, thank you many times over for taking the time to file a bug. For the report to be most effective, we've noticed the following characteristics help us get to a solution the fastest.
TL;DR example issue
Title: Signal messages jiggle in conversation list
- I have searched open and closed issues for duplicates
- I am submitting a bug report for existing functionality that does not work as intended
- I have read https://github.com/signalapp/Signal-Android/wiki/Submitting-useful-bug-reports
- This isn't a feature request or a discussion topic
Every time there's a food commercial my messages start jiggling.
Steps to reproduce
- Open Signal
- Go to the main conversation list
- A commercial about food comes on the television in the other room
Actual result: Signal messages start to jiggle in the conversation list for a couple seconds.
Expected result: Nothing should happen. Messages should just stay as they are.
Device: LG Nexus 4
Android version: stock Android 5.1.1
Signal version: 3.15.0
Signal messages and calls registered, SMS disabled, passphrase enabled
Link to debug log
Search, search, search
Before submitting a new issue please search if someone has already opened an issue about the same topic. Don't forget to search for both open and closed issues as GitHub only searches for open issues by default. (You may also wish to check out GitHub's help article about search to get more accurate results.)
Come up with a concise and descriptive title
A good title summarizes the issue in a few words and makes it easily searchable. There's no need to use tags such as "[Feature]" in the titles. Speaking of search: Did you try searching duplicate issues by using your title as search keywords?
Try to reproduce the bug
The developers need to see the bug in order to fix it. Try to find the exact conditions and steps that trigger the bug and add them to your issue report. Ideally, the developers can follow your steps and recreate the bug on their own device.
Capture a debug log
The debug log describes what Signal was doing while it was running. If you capture a debug log immediately after a bug occurs, the developers can use the log to see exactly what was going on in your installation of Signal. Even in the case where you know the exact steps that cause the bug on your device, that doesn't guarantee that the same steps will cause the bug on the developer's device. It is always helpful to add a debug log to your issue report.
How to capture a debug log
- Immediately after the bug has happened go to Signal Settings -> Advanced -> Submit debug log
- Tap Submit to generate a URL link for the log
- Copy the link and paste it in your issue report
Note: If you are using a passphrase and the bug appears before you can successfully unlock the app, you can capture a debug log directly via the menu in the passphrase screen. You can also capture debug logs with
adb if you cannot access any of Signal's debug log menus.
Debug log privacy
Debug logs captured within Signal are stripped of personal information. However, please note that the last two digits of phone numbers may be visible in the logs (e.g.
+1 555 867 5309 will show as
+*********09). This is to help differentiate between contacts when analyzing a log.
Add a screenshot
Sometimes a picture is worth a thousand lines of debug logs, but this doesn't mean that you shouldn't add a debug log too :). If the problem is visual and difficult to describe, a screenshot can go a long way. Different Android vendors have different ways of taking screenshots. Please check how to do it on your specific device. Usually it's a combination of pressing the volume buttons and power button at the same time.
You may need to toggle the Screen security option in Signal's Privacy settings before taking a screenshot.
Device and app information
- What's your device?
- What Android version is it running?
- What version of Signal do you have?
- What are the relevant preferences that you have set that may be related to the issue? Some examples:
- Registration state for Signal messages and calls
- MMS settings
- Message trimming
- If this is a bug involving a second party, what's their device/app info and app state?
Congratulations! You are done. You have achieved the badge: Creator of Glorious Bug Reports!
Now you can submit your report. Thanks for your help!
Here are some advanced ways to get more information from your device.
Debug logs with adb
Capturing raw log data with
adb may expose private information like phone numbers. Please review your
adb debug logs before submission.
Screenshots with adb
adb shell /system/bin/screencap -p /sdcard/screencap.png && adb pull /sdcard/screencap.png
Video (only for Android 4.4 and up)
A small video or gif can be helpful if the problem is visual and difficult to describe.
adb shell screenrecord /sdcard/screenrecord.mp4
Then pull it from the device.
adb pull /sdcard/screenrecord.mp4
If you have ffmpeg and imagemagick, you can quickly convert a video into an animated gif:
ffmpeg -i screenrecord.mp4 -r 10 screenrecord%05d.png convert screenrecord*.png screenrecord.gif rm screenrecord*.png
Manually making an Animated gif
mkdir tmpScreens cd tmpScreens # perform as many screenshots as you need to string together the animated gif: adb shell screencap -p | perl -pe "s/\x0D\x0A/\x0A/g" > adb-screenshot-`date +%s`.png convert -delay 70 -loop 0 adb-screenshot-*.png anim.gif