Skip to content

Latest commit

 

History

History
116 lines (82 loc) · 5.89 KB

CONTRIBUTING.md

File metadata and controls

116 lines (82 loc) · 5.89 KB

Contributing to TouchUI

👍🎉 First off, thanks for taking the time to contribute! 🎉👍

How Can I Contribute?

Reporting Bugs

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.

OctoPrint and plugins

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.

Before Submitting A 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.

How Do I Submit A (Good) Bug Report?

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]
When reporting a browser issues:
When reporting a layout issues:
When reporting OS/Touchscreen issues:
  • What's the name and version of the OS you're using?
    Include details about your configuration and environment:

Template For Submitting Bug Reports

[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]

Your First Code Contribution

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.

Pull Requests

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

Styleguides

Git Commit Messages

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