From 99938664402a9581db4a07c90f1099de80b65c1a Mon Sep 17 00:00:00 2001 From: Uruk Date: Thu, 4 Jul 2024 14:07:23 +0200 Subject: [PATCH 1/2] refactor: complete refactor of issue report and add pull_request_template --- .github/ISSUE_TEMPLATE/bug-report.yaml | 48 -------- .github/ISSUE_TEMPLATE/config.yml | 8 ++ .github/ISSUE_TEMPLATE/issue-report.yml | 155 ++++++++++++++++++++++++ .github/pull_request_template.md | 32 +++++ CONTRIBUTORS.md | 4 + 5 files changed, 199 insertions(+), 48 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug-report.yaml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/issue-report.yml create mode 100644 .github/pull_request_template.md create mode 100644 CONTRIBUTORS.md diff --git a/.github/ISSUE_TEMPLATE/bug-report.yaml b/.github/ISSUE_TEMPLATE/bug-report.yaml deleted file mode 100644 index 55396aa0b..000000000 --- a/.github/ISSUE_TEMPLATE/bug-report.yaml +++ /dev/null @@ -1,48 +0,0 @@ -name: Bug Report -description: File a bug report -title: "[Bug]: " -labels: [bug] -body: - - type: markdown - attributes: - value: | - Thanks for taking the time to fill out this bug report! - - type: input - id: version - attributes: - label: Version of the software - description: What version of the software were you using when the bug occurred? - placeholder: ex. 0.1.0 - validations: - required: true - - type: input - id: os - attributes: - label: Operating system - description: What operating system is your OB2 running on? - placeholder: ex. Windows 10 - validations: - required: true - - type: input - id: browser - attributes: - label: Browser / Native - description: Which browser are you using to access the web interface of OB2? If you are using the native client, just write Native - placeholder: ex. Chrome 91 - validations: - required: true - - type: textarea - id: what-happened - attributes: - label: What happened? - description: Also tell us, what did you expect to happen? - placeholder: Tell us what you see! - value: "A bug happened!" - validations: - required: true - - type: textarea - id: lolicode - attributes: - label: Relevant LoliCode if needed - description: Please copy and paste any relevant LoliCode to reproduce the issue. This will be automatically formatted into code, so no need for backticks. - render: shell diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..73ce28eb8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: false +contact_links: + - name: 📃 Documentation Issue + url: https://github.com/openbullet/openbullet2-docs/issues/new + about: This issue tracker is not for documentation issues. Please file documentation issues here. + - name: 🤔 Questions and Help + url: https://discourse.openbullet.dev/ + about: This issue tracker is not for support questions. Please refer to the OpenBullet community's help and discussion forums. diff --git a/.github/ISSUE_TEMPLATE/issue-report.yml b/.github/ISSUE_TEMPLATE/issue-report.yml new file mode 100644 index 000000000..fe6b11cd6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/issue-report.yml @@ -0,0 +1,155 @@ +name: "🐛 Bug Report" +description: File a bug report +title: "[Bug]: " +labels: [bug] +body: + - type: markdown + id: introduction + attributes: + value: | + Thanks for taking the time to fill out this bug report! + Please keep in mind that OpenBullet is a [free and open-source](https://github.com/openbullet/OpenBullet2) project, made up entirely and exclusively of **volunteers** who donate their free time to the project. + - type: checkboxes + id: before-posting + attributes: + label: "This issue respects the following points:" + description: All conditions are **required**. Failure to comply with any of these conditions may cause your issue to be closed without comment. + options: + - label: This is a **bug**, not a question or a configuration issue; Please visit our forum first to troubleshoot with volunteers, before creating a report. The links can be found [here](https://discourse.openbullet.dev/). + required: true + - label: This issue is **not** already reported on [GitHub](https://github.com/openbullet/OpenBullet2/issues?q=is%3Aissue+is%3Aopen+label%3Abug) _(I've searched it)_. + required: true + - label: I'm using an up to date version of OpenBullet2. We generally do not support previous older versions. If possible, please update to the latest version before opening an issue. + required: true + - label: I agree to follow OpenBullet's [Code of Conduct](https://docs.openbullet.dev/docs/community-standards). + required: true + - label: This report addresses only a single issue; If you encounter multiple issues, kindly create separate reports for each one. + required: true + - type: markdown + id: preliminary-information + attributes: + value: | + ### General preliminary information + + Please keep the following in mind when creating this issue: + + 1. Fill in as much of the template as possible. When you are unsure about the relevancy of a section, do include the information requested in that section. Only leave out information in sections when you are completely sure about it not being relevant. + 2. Provide as much detail as possible. Do not assume other people to know what is going on. + 3. Keep everything readable and structured. Nobody enjoys reading poorly written reports that are difficult to understand. + 4. Keep an eye on your report as long as it is open, your involvement might be requested at a later moment. + 5. Keep the title short and descriptive. The title is not the place to write down a full description of the issue. + 6. When deciding to leave out information in a field, leave it blank and empty. Avoid writing things such as `n/a` for empty fields. + - type: textarea + id: bug-description + attributes: + label: Description of the bug + description: Please provide a detailed description on the bug you encountered, in a readable and comprehensible way. + placeholder: | + After upgrading to version x.y.z of OpenBullet 2, my wordlists aren't being displayed anymore. After testing with both the admin and a guest user, none of them could see any wordlists. I have tried downloading OpenBullet 2 to a clean folder with no `UserData` and I can reliably reproduce the issue. By checking the SQLite database I can see that there are rows pointing to existing files, but they are not being correctly retrieved by the back-end. + validations: + required: true + - type: textarea + id: repro-steps + attributes: + label: Reproduction steps + description: Reproduction steps should be complete and self-contained. Anyone can reproduce this issue by following these steps. Furthermore, the steps should be clear and easy to follow. + placeholder: | + 1. Start OpenBullet 2 web client + 2. Log in as the admin user + 3. Navigate to the Wordlists page + 4. Add a new wordlist + 5. Refresh the page + 6. Nothing is shown in the wordlists table + validations: + required: true + - type: textarea + id: actual-behavior + attributes: + label: What is the current _bug_ behavior? + description: Write down the incorrect behavior that currently happens after following the reproduction steps. + placeholder: | + The wordlists table in the Wordlists section is always empty, regardless of how many wordlists are in the database. + validations: + required: true + - type: textarea + id: expected-behavior + attributes: + label: What is the expected _correct_ behavior? + description: Write down the correct expected behavior that is supposed to happen after following the reproduction steps. + placeholder: | + The wordlists table in the Wordlists section displays the wordlists that the current user has access to. + validations: + required: true + - type: textarea + id: version + attributes: + label: Version of the software + description: What version of OpenBullet2 are you using? + validations: + required: true + - type: dropdown + id: version + attributes: + label: Type of the software + description: Which type of OpenBullet2 are you using? + options: + - Web client + - Native client + default: 0 + validations: + required: true + - type: textarea + id: environment-information + attributes: + label: Environment + description: | + Accurately fill in as much environment details as possible. If a certain environment field is not shown in the template below, but you consider useful information, please include it. + Examples: + - **OS**: [e.g. Debian 12, Windows 11] + - **Virtualization**: [e.g. Docker, KVM, LXC] + - **Browser**: [e.g. Firefox 91, Chrome 93, Safari 13, native client] + value: | + - OS: + - Virtualization: + - Browser: + render: markdown + validations: + required: true + - type: markdown + id: general-information-logs + attributes: + value: | + When providing logs, please keep the following things in mind: + 1. **DO NOT** use external paste services. If logs are too large to paste into the field, upload them as text files. + 2. Please provide complete logs. + - Ensure to capture all relevant information, encompassing both the events leading up to and following the occurrence of the issue. Typically, providing 10 *lines preceding and succeeding* the problem should be adequate. + 3. Please do not run logs through any translation program. We exclusively accept raw, untranslated logs. Particularly exercise caution if your browser automatically translates pages by default. + - **DO NOT** forget to censor out personal information such as public IP addresses. + 4. Please do not include logs as screenshots, with the only exception being client logs in browsers. + - type: textarea + id: openbullet-logs + attributes: + label: OpenBullet2 logs + description: Please copy and paste any relevant log output. The web client log files can be found in the `UserData/Logs` folder in a .txt format. The native client has a crash.log file in the main folder only when a crash happens. + render: shell + - type: textarea + id: browser-logs + attributes: + label: Client / Browser logs + description: Access browser logs by using the F12 to bring up the console. Screenshots are typically easier to read than raw logs. + - type: textarea + id: screenshots + attributes: + label: Relevant screenshots or videos + description: Attach relevant screenshots or videos related to this report. + - type: textarea + id: csharp-code + attributes: + label: Relevant C# code if needed + description: Please copy and paste any relevant C# code to reproduce the issue. This will be automatically formatted into code, so no need for backticks. + render: shell + - type: textarea + id: additional-information + attributes: + label: Additional information + description: Any additional information that might be useful to this issue. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..ed995d7c6 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,32 @@ +# Description + +Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change. + +Fixes # (issue) + +## Type of change + +Please delete options that are not relevant. + +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) +- [ ] This change requires a documentation update + +# How Has This Been Tested? + +Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration + +- [ ] Test A +- [ ] Test B + +# Checklist: + +- [ ] My code follows the style guidelines of this project +- [ ] I have performed a self-review of my code +- [ ] I have commented my code, particularly in hard-to-understand areas +- [ ] I have made corresponding changes to the documentation +- [ ] My changes generate no new warnings +- [ ] I have added tests that prove my fix is effective or that my feature works +- [ ] New and existing unit tests pass locally with my changes +- [ ] Any dependent changes have been merged and published in downstream modules diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md new file mode 100644 index 000000000..f2372f20f --- /dev/null +++ b/CONTRIBUTORS.md @@ -0,0 +1,4 @@ +# OpenBullet2 Contributors + + - [Ruri](https://github.com/openbullet) + - [Gauvino](https://github.com/Gauvino) From d323db23cd59d85b9c956310296ffb93c5b5532a Mon Sep 17 00:00:00 2001 From: Uruk Date: Thu, 4 Jul 2024 14:54:35 +0200 Subject: [PATCH 2/2] refactor: feature request report --- .github/ISSUE_TEMPLATE/feature_request.md | 20 ------ .github/ISSUE_TEMPLATE/feature_request.yml | 79 ++++++++++++++++++++++ 2 files changed, 79 insertions(+), 20 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 9cde18adc..000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: "[REQUEST]" -labels: enhancement -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 000000000..96c442fac --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,79 @@ +name: "🚀 Feature Request" +description: Suggest an idea for this project +title: "[REQUEST]: " +labels: [enhancement] +body: + - type: markdown + id: introduction + attributes: + value: | + Thanks for taking the time to fill out this feature request! + Please keep in mind that OpenBullet is a [free and open-source](https://github.com/openbullet/OpenBullet2) project, made up entirely and exclusively of **volunteers** who donate their free time to the project. + - type: checkboxes + id: before-posting + attributes: + label: "This feature request respects the following points:" + description: All conditions are **required**. Failure to comply with any of these conditions may cause your feature request to be closed without comment. + options: + - label: This is a **feature request**, not a question or a configuration issue; Please visit our forum first to troubleshoot with volunteers, before creating a report. The links can be found [here](https://discourse.openbullet.dev/). + required: true + - label: This issue is **not** already reported on [GitHub](https://github.com/openbullet/OpenBullet2/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement) _(I've searched it)_. + required: true + - label: I'm using an up to date version of OpenBullet2. We generally do not support previous older versions. If possible, please update to the latest version before opening an issue. + required: true + - label: I agree to follow OpenBullet's [Code of Conduct](https://docs.openbullet.dev/docs/community-standards). + required: true + - label: This report addresses only a single feature request; If you have multiple feature request, kindly create separate reports for each one. + required: true + - type: markdown + id: preliminary-information + attributes: + value: | + ### General preliminary information + + Please keep the following in mind when creating this issue: + + 1. Fill in as much of the template as possible. + 2. Provide as much detail as possible. Do not assume other people to know what is going on. + 3. Keep everything readable and structured. Nobody enjoys reading poorly written reports that are difficult to understand. + 4. Keep an eye on your report as long as it is open, your involvement might be requested at a later moment. + 5. Keep the title short and descriptive. The title is not the place to write down a full description of the issue. + 6. When deciding to leave out information in a field, leave it blank and empty. Avoid writing things such as `n/a` for empty fields. + - type: textarea + id: feature-description + attributes: + label: Description of the feature request + description: Please provide a detailed description of the feature request, in a readable and comprehensible way. + placeholder: | + I would like to see a new feature that allows users to [...] + - type: textarea + id: related-problems + attributes: + label: Is your feature request related to a problem + description: A clear and concise description of what the problem is. + placeholder: | + I'm always frustrated when [...] + - type: textarea + id: solution-description + attributes: + label: Describe the solution you'd like + description: A clear and concise description of what you want to happen. + placeholder: | + I would like to see [...] + - type: textarea + id: alternative-description + attributes: + label: Describe alternatives you've considered + description: A clear and concise description of any alternative solutions or features you've considered. + placeholder: | + I've considered [...] + - type: textarea + id: screenshots + attributes: + label: Relevant screenshots or videos + description: Attach relevant screenshots or videos related to this report. + - type: textarea + id: additional-information + attributes: + label: Additional information + description: Any additional information that might be useful to this feature request.