👍🎉 First off, thanks for taking the time to contribute! 🎉👍
This section guides you through submitting a bug report for TouchUI. Following these guidelines helps maintainers and the community understand your report 📝, reproduce the behavior 💻 💻, and find related reports 🔎.
Before creating bug reports, please check this list as you might find out that you don't need to create one. When you are creating a bug report, please include as many details as possible. If you'd like, you can use this template to structure the information.
Sometimes bugs can be related to a specific plugin or OctoPrint version. Since TouchUI extends the code base of OctoPrint, a bug can also exist in the default interface.
- Check if the bug also exists in the default interface. If yes, report this problem to OctoPrint.
- Check if you have installed a plugin that interferes with TouchUI or your bug. If you do; try to disable it. If it has no effect, add this to your bug report.
- Check the Troubleshooting on the Wiki for a list of common questions and problems.
- Perform a cursory search to see if the problem has already been reported. If it has, add a comment to the existing issue instead of opening a new one.
Bugs are tracked as GitHub issues. After you've determined which repository your bug is related to, create an issue on that repository and provide the following information.
Explain the problem and include additional details to help maintainers reproduce the problem:
- Which version of OctoPrint and TouchUI are you using?
- What's the name and version of the Browser you're using?
- Use a clear and descriptive title for the issue to identify the problem.
- Describe the exact steps which reproduce the problem in as many details as possible. Don't just say what you did, but explain how you did it. For example, if you moved the cursor to the end of a line, explain if you used the mouse, or a touch swipe.
- Explain which behavior you expected to see instead and why.
If the problem is related to performance, include a CPU profile capture and a screenshot with your report.[work-in-progress]
- Include the output of your JavaScript console:
- See How to open the Javascript Console in different browsers
- Use pastebin or gist to store your javascript log
- Include screenshots and animated GIFs. You can use this tool to record GIFs on OSX and Windows, and this tool or this tool on Linux.
- What's the name and version of the OS you're using?
Include details about your configuration and environment:
[Short description of problem here]
**Reproduction Steps:**
1. [First Step]
2. [Second Step]
3. [Other Steps...]
**Expected behavior:**
[Describe expected behavior here]
**Observed behavior:**
[Describe observed behavior here]
**Screenshots and GIFs**
![If required: Screenshots and GIFs which follow reproduction steps to demonstrate the problem](url)
**Javascript console**
![If required: Link to pastebin or gist](url)
**Browser version:** [Enter Browser version here]
**OctoPrint version:** [Enter OctoPrint version here]
**TouchUI version:** [Enter TouchUI version here]
**Installed plugins:**
1. [package 1]
2. [package 2]
Unsure where to begin contributing to TouchUI? You can start by looking through help-wanted
issues:
- [Help wanted issues][help-wanted] - issues which should be a bit more involved than
beginner
issues.
- Include screenshots and animated GIFs in your pull request whenever possible.
Follow the JavaScript, and LESS styleguides.[work-in-progress]- End files with a newline.
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or less
- Reference issues and pull requests liberally
- Consider starting the commit message with an applicable emoji:
- ✨
:sparkles:
when adding a new feature - 🐛
:bug:
when fixing a bug - 🔥
:fire:
when removing code or files - 🎨
:art:
when improving the format/structure of the code - 🐎
:racehorse:
when improving performance - 🚱
:non-potable_water:
when plugging memory leaks - 📝
:memo:
when writing docs - ✅
:white_check_mark:
when adding tests - 🔒
:lock:
when dealing with security - ⬆️
:arrow_up:
when upgrading dependencies - ⬇️
:arrow_down:
when downgrading dependencies - 👕
:shirt:
when removing linter warnings
- ✨
Thanks to Atom for proving a solid contributing template.