From 9c9a5359dd80eb92332849ac54279e374fabb3ef Mon Sep 17 00:00:00 2001 From: Karsten Hassel Date: Fri, 17 Jan 2025 19:19:17 +0100 Subject: [PATCH] Use different issue templates (#3695) This PR will introduce different issue templates for bug reports, feature requests and so on on GitHub. There is still room for fine-tuning, but it's reached a state to show it to you and get feedback. I think that this can lead to better bug reports. You can see the result in my repo: https://github.com/KristjanESPERANTO/MagicMirror/issues/new/choose Feel free to create new issues for testing. What do you think? Do we want to pursue this further? # Conflicts: # CHANGELOG.md --- .github/CONTRIBUTING.md | 28 ---- .github/ISSUE_TEMPLATE.md | 52 ------- .github/ISSUE_TEMPLATE/bug_report.yml | 154 +++++++++++++++++++++ .github/ISSUE_TEMPLATE/change_request.yml | 41 ++++++ .github/ISSUE_TEMPLATE/config.yml | 14 ++ .github/ISSUE_TEMPLATE/feature_request.yml | 67 +++++++++ .github/PULL_REQUEST_TEMPLATE.md | 2 +- 7 files changed, 277 insertions(+), 81 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/change_request.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 1f897d04..f934c59c 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -36,31 +36,3 @@ To run all tests, use `npm run test`. The specific test commands are defined in `package.json`. So you can also run the specific tests with other commands, e.g. `npm run test:unit` or `npx jest tests/e2e/env_spec.js`. - -## Submitting Issues - -Please only submit reproducible issues. - -If you're not sure if it's a real bug or if it's just you, please open a topic on the forum: [https://forum.magicmirror.builders/category/15/bug-hunt](https://forum.magicmirror.builders/category/15/bug-hunt) - -Problems installing or configuring your MagicMirror? Check out: [https://forum.magicmirror.builders/category/10/troubleshooting](https://forum.magicmirror.builders/category/10/troubleshooting) - -When submitting a new issue, please supply the following information: - -**Platform**: Place your platform here... give us your web browser/Electron version _and_ your hardware (Raspberry Pi 2/3/4, Windows, Mac, Linux, System V UNIX). - -**Node Version**: Make sure it's version 20 or later (recommended is 22). - -**MagicMirror² Version**: Please let us know which version of MagicMirror² you are running. It can be found in the `package.json` file. - -**Description**: Provide a detailed description about the issue and include specific details to help us understand the problem. Adding screenshots will help describing the problem. - -**Steps to Reproduce**: List the step by step process to reproduce the issue. - -**Expected Results**: Describe what you expected to see. - -**Actual Results**: Describe what you actually saw. - -**Configuration**: What does the used config.js file look like? Don't forget to remove any sensitive information! - -**Additional Notes**: Provide any other relevant notes not previously mentioned. This is optional. diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 2aa4b4d8..00000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,52 +0,0 @@ -Hello and thank you for opening an issue. - -**⚠️ Please make sure that you have read the following lines before submitting your Issue:** - -## I'm not sure if this is a bug - -If you're not sure if it's a real bug or if it's just you, please open a topic on the forum: [https://forum.magicmirror.builders/category/15/bug-hunt](https://forum.magicmirror.builders/category/15/bug-hunt) - -## I'm having troubles installing or configuring MagicMirror - -Problems installing or configuring your MagicMirror? Check out: [https://forum.magicmirror.builders/category/10/troubleshooting](https://forum.magicmirror.builders/category/10/troubleshooting) - -A common problem is that your config file could be invalid. Please run in your MagicMirror² directory: `npm run config:check` and see if it reports an error. - -## I found a bug in the MagicMirror² installer - -If you are facing an issue or found a bug while trying to install MagicMirror² via the installer please report it in the respective GitHub repository: -[https://github.com/sdetweil/MagicMirror_scripts](https://github.com/sdetweil/MagicMirror_scripts) - -## I found a bug in the MagicMirror² Docker image - -If you are facing an issue or found a bug while running MagicMirror² inside a Docker container please create an issue in the corresponding repository: -[https://gitlab.com/khassel/magicmirror](https://gitlab.com/khassel/magicmirror) - -## I'm having troubles installing or configuring foreign modules - -Please open an issue in the module repository or ask for help in the [forum](https://forum.magicmirror.builders/) - ---- - -## I found a bug in MagicMirror - -Please make sure to only submit reproducible issues. You can safely remove everything above the dividing line. -When submitting a new issue, please supply the following information: - -**Platform**: Place your platform here... give us your web browser/Electron version _and_ your hardware (Raspberry Pi 2/3/4, Windows, Mac, Linux, System V UNIX). - -**Node Version**: Make sure it's version 20 or later (recommended is 22). - -**MagicMirror² Version**: Please let us know which version of MagicMirror² you are running. It can be found in the `package.json` file. - -**Description**: Provide a detailed description about the issue and include specific details to help us understand the problem. Adding screenshots will help describing the problem. - -**Steps to Reproduce**: List the step by step process to reproduce the issue. - -**Expected Results**: Describe what you expected to see. - -**Actual Results**: Describe what you actually saw. - -**Configuration**: What does the used config.js file look like? Don't forget to remove any sensitive information! - -**Additional Notes**: Provide any other relevant notes not previously mentioned. This is optional. diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 00000000..d9777a4d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,154 @@ +name: 🐛 Report a problem +description: Report an issue with MagicMirror² 🚨 +title: "[Bug] {{ brief description }}" +labels: + - bug +body: + - type: markdown + attributes: + value: | + Thanks for reporting a bug! Please fill in the following template to help us reproduce the issue. + Please only submit reproducible issues. If you're not sure if it's a real bug or if it's just you, please open a topic on the forum. + - type: textarea + id: environment + attributes: + label: Environment + description: | + Please tell us about how your MagicMirror² is set up. + + Optimal would be the systeminformation from the logs, which looks like this: + ```bash + [2025-01-14 20:05:03.529] [INFO] System information: + ### SYSTEM: manufacturer: Raspberry Pi Foundation; model: Raspberry Pi 4 Model B Rev 1.5; virtual: false + ### OS: platform: linux; distro: Debian GNU/Linux; release: 12; arch: arm64; kernel: 6.1.21-v8+ + ### VERSIONS: electron: 31.2.1; used node: 20.15.0; installed node: 22.4.1; npm: 10.8.1; pm2: + ### OTHER: timeZone: Europe/Berlin; ELECTRON_ENABLE_GPU: undefined + ``` + + If you can't provide this information, please provide the following: + - MagicMirror² version: Can be found in the `package.json` file. Please use the latest version before reporting a bug. + - Node version: Run `node -v` to find out. Make sure it's version 20 or later (recommended is 22). + - npm version: Run `npm -v` to find out. + - Platform: Are you using a Raspberry Pi (2/3/4/5), Windows, Mac, Linux, Docker, or something else? + value: | + MagicMirror² version: + Node version: + npm version: + Platform: + validations: + required: true + - type: dropdown + id: start-option + attributes: + label: Which start option are you using? + description: | + Please keep in mind that some problems are specific to certain start options. + options: + - "npm run start" + - "npm run start:wayland" + - "npm run start:windows" + - "npm run start:x11" + - "npm run server" + - "node clientonly --address ... --port ..." + validations: + required: true + - type: dropdown + id: pm2 + attributes: + label: Are you using PM2? + options: + - "No" + - "Yes" + - "I don't know" + validations: + required: true + - type: dropdown + id: module + attributes: + label: Module + description: | + If the issue is related to a specific module, please provide the name of the module. + Note: Please don't report issues with 3rd party modules here. Report them on the module's repository. + options: + - "alert" + - "calendar" + - "clock" + - "compliments" + - "helloworld" + - "newsfeed" + - "updatenotification" + - "weather" + - type: checkboxes + id: module-disabled + attributes: + label: Have you tried disabling other modules? + options: + - label: "Yes" + - label: "No" + - type: checkboxes + id: search + attributes: + label: Have you searched if someone else has already reported the issue on the forum or in the issues? + options: + - label: "Yes" + required: true + - type: textarea + id: description + attributes: + label: What did you do? + description: | + Please include a *minimal* reproduction case. List the step by step process to reproduce the issue. + You can use Markdown in this field. + value: | +
+ Configuration + + ``` + + ``` +
+ + ```js + + ``` + + Steps to reproduce the issue: + validations: + required: true + - type: textarea + id: expectation + attributes: + label: What did you expect to happen? + description: | + You can use Markdown in this field. + validations: + required: true + - type: textarea + id: lint-output + attributes: + label: What actually happened? + description: | + Please copy-paste relevant log output or error messages. + You can use Markdown in this field. + validations: + required: true + + - type: textarea + id: comments + attributes: + label: Additional comments + description: | + Is there anything else that's important for the team to know? + Fill out all fields and provide as much information as possible. + Adding screenshots might help us understand your problem better. + + - type: checkboxes + attributes: + label: Participation + options: + - label: "I am willing to submit a pull request for this change." + required: false + + - type: markdown + attributes: + value: Please **do not** open a pull request until this issue has been accepted by the team. diff --git a/.github/ISSUE_TEMPLATE/change_request.yml b/.github/ISSUE_TEMPLATE/change_request.yml new file mode 100644 index 00000000..92503877 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/change_request.yml @@ -0,0 +1,41 @@ +name: 🔀 Request a change +description: Request a change that is not a bug fix, a feature request or a support request. +title: "[Change Request] {{ brief description }}" +labels: + - enhancement + - core +body: + - type: markdown + attributes: + value: Thanks for requesting a change! Please fill in the following template to help us understand your request. + - type: textarea + attributes: + label: What problem do you want to solve with this change? + description: | + Please explain your use case in as much detail as possible. + placeholder: | + Currently... + validations: + required: true + - type: textarea + attributes: + label: What do you think is the correct solution? + description: | + Please explain how you'd like to change MagicMirror² to address the problem. + placeholder: | + I'd like MagicMirror² to... + validations: + required: true + - type: checkboxes + attributes: + label: Participation + options: + - label: I am willing to submit a pull request for this change. + required: false + - type: markdown + attributes: + value: Please **do not** open a pull request until this issue has been accepted by the team. + - type: textarea + attributes: + label: Additional comments + description: Is there anything else that's important for the team to know? diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..fc4b85ad --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,14 @@ +blank_issues_enabled: false +contact_links: + - name: 📚 Documentation + url: https://github.com/MagicMirrorOrg/MagicMirror-Documentation/issues + about: This issue tracker is not for documentation issues. Please file documentation issues on the docs repo. + - name: 🤔 Support Question + url: https://forum.magicmirror.builders/ + about: Problems installing or configuring your MagicMirror? Please post your question on the MagicMirror² Forum. + - name: 💬 Exchange of ideas + url: https://discord.gg/AmGBBwPph5 + about: This issue tracker is not for general discussion. Please use the Discord channel. + - name: 📦 Issues with a 3rd-party module + url: https://kristjanesperanto.github.io/MagicMirror-3rd-Party-Modules/ + about: This issue tracker is not for 3rd-party module issues. Please file 3rd-party module issues on the module's repo. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 00000000..a0ea2f92 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,67 @@ +name: 🚀 Feature Request +description: Suggest a new feature for MagicMirror² 💡 +title: "[Feature Request] {{ brief description }}" +body: + - type: checkboxes + id: prerequisites + attributes: + label: Prerequisites + description: Please ensure you have completed all of the following. + options: + - label: I am running the latest version of MagicMirror², and know that this feature is not available now. + required: true + - label: I know my issue is not related to a third-party module. + required: true + - label: I have searched for [existing issues](https://github.com/MagicMirrorOrg/MagicMirror/issues) that already include this feature request, without success. + required: true + + - type: textarea + id: description + attributes: + label: Describe the Feature Request + description: A clear and concise description of what the feature does. + validations: + required: true + + - type: textarea + id: use-case + attributes: + label: Describe the Use Case + description: A clear and concise use case for what problem this feature would solve. + validations: + required: true + + - type: textarea + id: proposed-solution + attributes: + label: Describe Preferred Solution + description: A clear and concise description of how you want this feature to be added to MagicMirror². + + - type: textarea + id: alternatives-considered + attributes: + label: Describe Alternatives + description: A clear and concise description of any alternative solutions or features you have considered. + + - type: textarea + id: related-code + attributes: + label: Related Code + description: If you are able to illustrate the feature request with an example, please provide a sample here. + + - type: textarea + id: additional-information + attributes: + label: Additional Information + description: List any other information that is relevant to your issue. Related issues, suggestions on how to implement, Stack Overflow links, forum links, etc. + + - type: checkboxes + attributes: + label: Participation + options: + - label: I am willing to submit a pull request for this change. + required: false + + - type: markdown + attributes: + value: Please **do not** open a pull request until this issue has been accepted by the team. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index ace1e864..e3dc2222 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,4 +1,4 @@ -Hello and thank you for wanting to contribute to the MagicMirror² project +Hello and thank you for wanting to contribute to the MagicMirror² project! **Please make sure that you have followed these 4 rules before submitting your Pull Request:**