# Natron Contributing Templates
New contributing templates for Natron.
*Note: the changes outlined are already a pull request, viewable [here](https://github.com/NatronGitHub/Natron/pull/652). Parts of this are likely outdated and do not reflect the most up to date information on the updated contributing templates.*
## Info
Natron's current templates are a bit lacking in detail. They have a number of issues and can use some improvements:
- The issue template is for everything from bug reports to feature requests and thus makes it hard to know what the issue is about
- The issue template also encourages bad issues as it doesn't enforce good guidelines for issues (e.g. proper use of code formatting, professional language, detailed descriptions)
- The PR template is incredibly vague and doesn't have guidance instructions to prevent very messy PRs (e.g. the former [PR #479](https://github.com/NatronGitHub/Natron/pull/479))
- The issues template should (but doesn't) use the updated YAML syntax supported by GitHub rather than the old markdown issue template syntax
## Templates Overview
There will be three templates in total:
* A pull request template - for all pull requests (already a thing but will add more specific guidance!)
* A bug report template - for actual (i.e. reproducible and verified) bugs
* A feature request template - for suggesting any and all features
## 1. Pull Request Template
### Source
```
Thanks for submitting a pull request! Please provide enough information so that others can review your pull request:
[Please check the applicable box(es) below and delete this line]
- [ ] I've followed the [contributing guidelines](https://github.com/NatronGitHub/Natron/blob/RB-2.4/CODE_OF_CONDUCT.md) to the best of my understanding
- [ ] I've read and understood the [contributing guidelines](https://github.com/NatronGitHub/Natron/blob/RB-2.4/CONTRIBUTING.md)
- [ ] I've formatted my code according to Natron's [code style]([#](https://github.com/NatronGitHub/Natron#logistics))
- [ ] I've searched the [pull requests tracker](https://github.com/NatronGitHub/Natron/pulls?q=is%3Apr) to ensure that this PR is not a duplicate
## PR Description
**What type of PR is this? (Check one of the boxes below)**
[Please check the applicable box(es) below and delete this line]
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Improvement (non-breaking change which does not add functionality nor fixes a bug but improves Natron in some way)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] My change requires a change to the documentation
- [ ] I have updated the documentation accordingly
**Explain the motivation for making this change. What does the pull request do?**
[Please replace this with your answer]
**Show a few screenshots (if this is a visual change)**
[Please replace this with your answer]
**Have you tested your changes (if applicable)? If so, how?**
[Please replace this with your answer]
**Futher details of this pull request**
[Please replace this with your answer]
```
### Demo
<!--Parts borrowed from https://github.com/stevemao/github-issue-templates/-->
Thanks for submitting a pull request! Please provide enough information so that others can review your pull request:
- [x] I've followed the [contributing guidelines](https://github.com/NatronGitHub/Natron/blob/RB-2.4/CODE_OF_CONDUCT.md) to the best of my understanding
- [x] I've read and understood the [contributing guidelines](https://github.com/NatronGitHub/Natron/blob/RB-2.4/CONTRIBUTING.md)
- [x] I've formatted my code according to Natron's [code style]([#](https://github.com/NatronGitHub/Natron#logistics))
- [x] I've searched the [pull requests tracker](https://github.com/NatronGitHub/Natron/pulls?q=is%3Apr) to ensure that this PR is not a duplicate
**What type of PR is this? (Check one of the boxes below)**
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Improvement (non-breaking change which does not add functionality nor fixes a bug but improves Natron in some way)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] My change requires a change to the documentation
- [ ] I have updated the documentation accordingly
**Explain the motivation for making this change. What existing problem does the pull request solve?**
Natron doesn't have emoji support, end of story. But now it does! You can input emojis based on Github markdown syntax in textareas within Natron.
**Show a few screenshots (if this is a visual change)**
N/A
**Have you tested your changes (if applicable)? If so, how?**
Tested without any issues on Manjaro Linux running Natron 2.4.0 stable.
**Futher details of this pull request**
Created a new folder called `Qemoji` containing emoji support source.
## 2. Bug Report Template
### Source
```yaml
name: New issue for bug report
description: Got a glitch, crash, or some other problem? If you're sure your issue is reproducible, feel free to report the issue to Natron's development team.
title: "(Bug): <title>"
labels: "type:bug"
body:
# Greeter message
- type: markdown
attributes:
value: |
Thank you for reporting a bug! Please first check the boxes below to ensure that your bug report meets our requirements.
# Requirements checks
- type: checkboxes
attributes:
options:
- label: I'm using the latest version of Natron (not required but recommended)
- label: I've restarted Natron and the issue persists
required: true
- label: I've run Natron via the [command line](https://natron.readthedocs.io/en/rb-2.4/devel/natronexecution.html) and the issue persists
required: true
- label: I've followed the [contributing guidelines](https://github.com/NatronGitHub/Natron/blob/RB-2.4/CONTRIBUTING.md) to the best of my understanding
required: true
- label: My issue is not on the [issue tracker](https://github.com/NatronGitHub/Natron/issues?q=is%3Aissue+type%3Abug) and is not a duplicate of a forum thread
required: true
- label: This bug is reproducible
required: true
- label: This issue is not a feature request or a pull request
required: true
# Natron & OS versions
- type: input
id: natron-version
attributes:
label: Natron version
description: Natron version/commit (they can be retrieved from the about window or with `natron --about`)
placeholder: "e.g. Natron 2.4.0"
validations:
required: true
- type: input
id: os-version
attributes:
label: Operating system
description: The name and version of your operating system
placeholder: "e.g. macOS 10.15 Catalina"
validations:
required: true
# System (hardware) info
- type: textarea
attributes:
label: System specs
render: markdown
placeholder: |
RAM: 15.6 GiB
CPU: 8 x Intel Core i7-7700HQ CPU @ 2.80GHz
GPU: NVIDIA GeForce GTX 1070/PCle/SSE2
description: |
Please input the following (if you know them):
- Your system's RAM
- The number, model, and type of your CPU(s)
- The model and type of your GPU
validations:
required: false
# Did the user install via the official installer?
- type: checkboxes
attributes:
label: Did you install Natron using the official installer?
description: If you installed Natron via another method, please add your installation method in the \"additional details\" section at the bottom of this form
options:
- label: Yes, I used the official installer
- label: No, I installed from a binary archive
- label: No, I compiled Natron from sources
- label: No, I installed Natron via another method
validations:
required: true
# At which location did the user install Natron?
- type: textarea
attributes:
label: At which location did you install Natron?
placeholder: E.g. I installed Natron at `/opt/Natron-2.4.0`
render: markdown
validations:
required: true
# What was the user trying to do?
- type: textarea
attributes:
label: What were you trying to do?
placeholder: E.g. While working on a project in Natron I tried to...
render: markdown
validations:
required: true
# What did the user expect to happen? What was the actual behavior?
- type: textarea
attributes:
label: What did you expect to happen? What happened instead?
render: markdown
description: |
You may submit a link to any screenshots/videos that can be used to understand how to reproduce the issue. Additionally, depending on situation, you should also submit one of the following:
- If your problem can be reproduced using a Natron project, please include a link to the project on a file sharing service, or attach the project as a zip file to this issue, if possible.
- If your problem is a crash in an official release/snapshot, please include verbose output from the application from a terminal if possible. If you also submitted a crash report, indicate the Crash ID if possible.
- If you need to report a compilation issue, please create a [gist](https://gist.github.com) that contains the _full_ verbose build log.
- If your problem is a crash in a build that you made yourself, please create a [gist](https://gist.github.com) that contains a _full_ backtrace.
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: true
# Step-by-step reproduction instructions
- type: textarea
attributes:
label: Step-by-step reproduction instructions
render: markdown
placeholder: |
1. Start Natron...
2. Open attached project...
3. Run "..."
4. See error...
validations:
required: true
# Additional details
- type: textarea
attributes:
label: Additional details
description: Add any other relevant information here
render: markdown
validations:
required: false
```
### Demo
Thank you for reporting a bug! Please first check the boxes below to ensure that your bug report meets our requirements.
- [x] I'm using the latest version of Natron (not required but recommended)
- [x] I've restarted Natron and the issue persists
- [x] I've run Natron via the [command line](https://natron.readthedocs.io/en/rb-2.4/devel/natronexecution.html) and the issue persists
- [x] I've followed the [contributing guidelines](https://github.com/NatronGitHub/Natron/blob/RB-2.4/CONTRIBUTING.md) to the best of my understanding
- [x] My issue is not on the [issue tracker](https://github.com/NatronGitHub/Natron/issues?q=is%3Aissue+type%3Abug) and is not a duplicate of a forum thread
- [x] This bug is reproducible
- [x] This issue is not a feature request or a pull request
**Version Info**
* Natron version/commit (they can be retrieved from the about window or with `natron --about`): `Natron 2.4.0`
* Operating system and OS version: `Manjaro Linux 21.0 Ornara with kernel version 5.10.42-1`
**System specs**
Please input the following:
* The output of `uname -a && sudo lshw -short` for Mac/Linux, OR the output of `Get-CimInstance Win32_OperatingSystem | FL *` command for Windows
* Your system's RAM,
* The number, model, and type of your CPU(s) and GPU
```
Linux songtech-msi 5.10.42-1-MANJARO #1 SMP PREEMPT Thu Jun 3 14:37:11 UTC 2021 x86_64 GNU/Linux
CPU: Intel Core i7-7700HQ CPU x8
GPU: NVIDIA GeForce GTX 1070/PCle/SSFE2
Memory: 15.6 GiB of RAM
```
**Did you install Natron using the official installer?**
Yes.
**At which location did you install Natron?**
Natron is installed at `/opt/Natron-2.4.0`
**What were you trying to do?**
I tried to render my project, but it crashed on the 8th frame. My other machine could render it without any issues.
**What did you expect to happen? What was the actual behavior?**
* If your problem can be reproduced using a Natron project, please include a link to the project on a file sharing service, or attach the project as a zip file to this issue, if possible.
* If your problem is a crash in an official release/snapshot, please include verbose output from the application from a terminal if possible. If you also submitted a crash report, indicate the Crash ID if possible.
* If you need to report a compilation issue, please create a [gist](https://gist.github.com) that contains the _full_ verbose build log.
* If your problem is a crash in a build that you made yourself, please create a [gist](https://gist.github.com) that contains a _full_ backtrace.
You may submit a link to any screenshots/videos that can be used to understand how to reproduce the issue.
Expected the render to successfully complete, but it exited on frame 8 instead.
**Step-by-step reproduction instructions**
1. Press CTRL C in the terminal on render after 4 seconds of start of render
2. See error!
**Additional Details**
None
## 3. Feature Request Template
### Source
```yaml
name: new issue for feature request
description: "have a feature suggestion? share your idea with a feature request."
title: "(feature): <title>"
labels: "type: feature"
body:
# greeter message
- type: markdown
attributes:
value: thank you for suggesting a feature! please first check the boxes below to ensure that your feature request meets our requirements.
# requirements checks
- type: checkboxes
attributes:
options:
- label: i have read the [feature request guidelines](https://hackmd.io/@natron-dev-awesome/b1sw6hbau)
required: true
- label: i have followed the [contributing guidelines](https://github.com/natrongithub/natron/blob/rb-2.4/contributing.md) to the best of my understanding
required: true
- label: this feature is not on the [issue tracker](https://github.com/natrongithub/natron/issues?q=is%3abug+type%3afeature+type%3aidea) and is not a duplicate
required: true
# feature request description
- type: textarea
attributes:
label: provide a description of your feature request
render: markdown
validations:
required: true
# realistically implementable or not?
- type: checkboxes
attributes:
label: is this a realistically implementable feature?
description: |
a feature is realistically implementable if you can reasonably expect yourself to implement the feature within 1 month of the request. a feature can still be added if it is not realistically implementable, but it will be tagged as an *idea* and relegated to be added in the indefinite future.
options:
- label: my feature is realistically implementable
- label: my feature is not realistically implementable
# contributable or not?
- type: checkboxes
attributes:
label: can you contribute in creating this feature?
options:
- label: i am unable, incapable, or not willing to contribute in creating this feature
- label: i am able and willing to contribute in creating this feature
# additional details
- type: textarea
attributes:
label: additional details
description: |
you do not have to fill this out but more details are always helpful.
render: markdown
validations:
required: false
```
### Demo
Thank you for suggesting a feature! Please first check the boxes below to ensure that your feature request meets our requirements.
- [x] I have read the [feature request guidelines](https://hackmd.io/@natron-dev-awesome/B1SW6Hbau)
- [x] I've followed the [contributing guidelines](https://github.com/NatronGitHub/Natron/blob/RB-2.4/CONTRIBUTING.md) to the best of my understanding
- [x] My issue is not on the [issue tracker](#) and is not a duplicate
**Provide a description of your feature request**
[Textarea for description here]
**Is this a realistically implementable feature?**
A feature is realistically implementable if you can reasonably expect yourself to implement the feature within 1 month of the request. A feature can still be added if it is not realistically implementable, but it will be tagged as an *idea* and relegated to be added in the indefinite future.
- [x] My feature is realistically implementable
- [ ] My feature is **NOT** realistically implementable
**Can you contribute in creating this feature?**
- [x] I am unable, incapable, or not willing to contribute in creating this feature
- [ ] I am able and willing to contribute in creating this feature