From 7f9288c275ba89e2a8b9d5986fd76ee0f862b29b Mon Sep 17 00:00:00 2001 From: OutdatedGuy Date: Sun, 2 Nov 2025 10:56:30 +0530 Subject: [PATCH] feat: add issue templates for bug reports and feature requests --- .github/ISSUE_TEMPLATE/bug_report.yml | 177 +++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 11 ++ .github/ISSUE_TEMPLATE/feature_request.yml | 213 +++++++++++++++++++++ 3 files changed, 401 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..769db9c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,177 @@ +name: 🐛 Bug Report +description: Report a bug or issue with internet_connection_checker_plus +title: "[Bug]: " +labels: ["bug", "needs-triage"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to report this bug! Please provide as much detail as possible to help us investigate and fix the issue quickly. + + **Before submitting**, please search for existing issues to avoid duplicates. + + - type: checkboxes + id: prerequisites + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the bug you encountered. + options: + - label: I have searched the existing issues + required: true + + - type: textarea + id: description + attributes: + label: Bug Description + description: A clear and concise description of what the bug is. + placeholder: Describe what happened and what you expected to happen... + validations: + required: true + + - type: textarea + id: steps_to_reproduce + attributes: + label: Steps to Reproduce + description: Detailed steps to reproduce the behavior + placeholder: | + 1. Go to '...' + 2. Click on '...' + 3. Scroll down to '...' + 4. See error + validations: + required: true + + - type: textarea + id: expected_behavior + attributes: + label: Expected Behavior + description: A clear and concise description of what you expected to happen. + placeholder: What should have happened instead? + validations: + required: true + + - type: textarea + id: actual_behavior + attributes: + label: Actual Behavior + description: What actually happened instead? + placeholder: What actually happened? + validations: + required: true + + - type: input + id: package_version + attributes: + label: Package Version + description: Which version of internet_connection_checker_plus are you using? + placeholder: "e.g., 2.0.0" + validations: + required: true + + - type: dropdown + id: platforms + attributes: + label: Platform(s) + description: Which platform(s) are affected? + multiple: true + options: + - Android + - iOS + - Web + - Windows + - macOS + - Linux + validations: + required: true + + - type: dropdown + id: flutter_channel + attributes: + label: Flutter Channel + description: Which Flutter channel are you using? + options: + - stable + - beta + - master/main + - unknown + validations: + required: true + + - type: textarea + id: flutter_doctor + attributes: + label: Flutter Doctor Output + description: | + Please run `flutter doctor -v` and paste the complete output below. + This helps us understand your development environment. + placeholder: Paste the output of `flutter doctor -v` here... + render: shell + validations: + required: true + + - type: textarea + id: sample_code + attributes: + label: Minimal Reproduction Code + description: | + Please provide a minimal, complete, and verifiable example that reproduces the issue. + This is crucial for us to debug the problem effectively. + + **Note:** Remove any sensitive information like API keys or personal data. + placeholder: | + ```dart + // Paste your minimal reproduction code here + import 'package:flutter/material.dart'; + import 'package:internet_connection_checker_plus/internet_connection_checker_plus.dart'; + + // Your code that reproduces the issue... + ``` + render: dart + validations: + required: true + + - type: textarea + id: logs + attributes: + label: Relevant Log Output + description: | + Please copy and paste any relevant log output. This will be automatically formatted into code. + Include console output, error messages, stack traces, etc. + placeholder: Paste your log output here... + render: shell + + - type: textarea + id: device_info + attributes: + label: Device/Network Information + description: | + Please provide details about the device(s) and network conditions where the issue occurs. + placeholder: | + **Device Model:** (e.g., iPhone 14, Pixel 7, etc.) + **OS Version:** (e.g., iOS 16.1, Android 13, etc.) + **Network Type:** (e.g., Wi-Fi, Mobile Data, etc.) + **ISP/Network Provider:** (if relevant) + **Browser (if Web):** (e.g., Chrome 108, Safari 16, etc.) + render: markdown + + - type: textarea + id: additional_context + attributes: + label: Additional Context + description: | + Add any other context about the problem here. Screenshots, video recordings, + or links to similar issues can be very helpful. + + **Tip:** You can attach images or files by clicking this area to highlight it and then dragging files in. + placeholder: Any additional information that might help us understand the issue better... + + - type: checkboxes + id: volunteer + attributes: + label: Would you like to work on this issue? + description: | + We welcome contributions! If you're interested in working on this issue, let us know. + Check out our [contribution guide](../CONTRIBUTING.md) for more information. + options: + - label: I'm interested in working on this issue + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..0e5609e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +blank_issues_enabled: false +contact_links: + - name: 📚 Documentation & Getting Started + url: https://github.com/OutdatedGuy/internet_connection_checker_plus/blob/main/README.md + about: Check out our comprehensive documentation and getting started guide + - name: 💬 Community Discussion + url: https://github.com/OutdatedGuy/internet_connection_checker_plus/discussions + about: Ask questions, share ideas, and discuss with the community + - name: 🆘 Need Help? + url: https://stackoverflow.com/questions/tagged/flutter+internet-connection + about: Get help from the Flutter community on Stack Overflow diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..187b409 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,213 @@ +name: ✨ Feature Request +description: Suggest a new feature or enhancement for internet_connection_checker_plus +title: "[Feature]: " +labels: ["enhancement", "needs-triage"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to suggest a new feature! We appreciate your input in making internet_connection_checker_plus better. + + **Before submitting**, please search for existing feature requests to avoid duplicates and consider if this could be implemented as a separate package. + + - type: checkboxes + id: prerequisites + attributes: + label: Is there an existing issue for this? + description: Please search to see if a feature request already exists for what you're proposing. + options: + - label: I have searched the existing issues + required: true + + - type: textarea + id: summary + attributes: + label: Feature Summary + description: A clear and concise description of the feature you'd like to see added. + placeholder: Briefly describe the feature you're requesting... + validations: + required: true + + - type: textarea + id: problem + attributes: + label: Problem Statement + description: | + What problem does this feature solve? Is your feature request related to a problem you're facing? + Help us understand the context and motivation behind this request. + placeholder: | + I'm always frustrated when... + Currently, it's difficult to... + Users often need to... + validations: + required: true + + - type: textarea + id: proposed_solution + attributes: + label: Proposed Solution + description: | + Describe the solution you'd like to see implemented. Be as detailed as possible. + Consider the API design, user experience, and implementation approach. + placeholder: | + I would like to see... + The API could work like... + Users would be able to... + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Alternatives Considered + description: | + Describe any alternative solutions or features you've considered. + This helps us understand the design space and evaluate different approaches. + placeholder: | + Alternative 1: ... + Alternative 2: ... + I also considered... + + - type: dropdown + id: platforms + attributes: + label: Target Platform(s) + description: Which platform(s) should this feature target? + multiple: true + options: + - Android + - iOS + - Web + - Windows + - macOS + - Linux + - All platforms + validations: + required: true + + - type: dropdown + id: feature_type + attributes: + label: Feature Type + description: What type of feature is this? + options: + - New API/Method + - Performance improvement + - Developer experience enhancement + - Platform-specific feature + - Breaking change/API redesign + - Other + validations: + required: true + + - type: textarea + id: use_cases + attributes: + label: Use Cases + description: | + Provide specific use cases where this feature would be beneficial. + Real-world examples help us understand the practical value. + placeholder: | + Use case 1: When building an app that needs offline support... + Use case 2: For monitoring network quality... + Use case 3: In applications where real-time connectivity is critical... + validations: + required: true + + - type: textarea + id: api_design + attributes: + label: Proposed API Design (Optional) + description: | + If you have ideas about how the API should look, please share them here. + Include method signatures, property names, or usage examples. + placeholder: | + ```dart + // Example API usage: + final connection = InternetConnection.createInstance( + // Your proposed new parameters... + ); + + // New methods or properties: + connection.newMethod(); + connection.newProperty = value; + ``` + render: dart + + - type: textarea + id: breaking_changes + attributes: + label: Breaking Changes + description: | + Would this feature require any breaking changes to the existing API? + If yes, please describe what would break and suggest migration strategies. + placeholder: | + This feature would require breaking changes to... + Migration strategy: ... + Or: No breaking changes required. + + - type: dropdown + id: priority + attributes: + label: Priority + description: How important is this feature to you and your use case? + options: + - Low - Nice to have + - Medium - Would significantly improve my workflow + - High - Blocking my use case + - Critical - Cannot use the package without this + validations: + required: true + + - type: textarea + id: research + attributes: + label: Research & References + description: | + Have you found similar implementations in other packages or platforms? + Include links to documentation, examples, or related discussions. + placeholder: | + - Similar feature in package X: [link] + - Native iOS/Android API: [link] + - Related discussion: [link] + - Documentation: [link] + + - type: textarea + id: additional_context + attributes: + label: Additional Context + description: | + Add any other context, screenshots, mockups, or examples that help explain your feature request. + + **Tip:** You can attach images or files by clicking this area to highlight it and then dragging files in. + placeholder: Any additional information, mockups, or examples that would help us understand the feature better... + + - type: checkboxes + id: implementation + attributes: + label: Implementation + description: | + Are you willing to contribute to the implementation of this feature? + Check out our [contribution guide](../CONTRIBUTING.md) for more information. + options: + - label: I'm willing to implement this feature and submit a PR + required: false + - label: I can help with testing and feedback + required: false + - label: I can help with documentation + required: false + + - type: checkboxes + id: community + attributes: + label: Community Impact + description: Help us understand the broader impact of this feature. + options: + - label: This feature would benefit many users of the package + required: false + - label: This feature addresses a common pain point + required: false + - label: This feature would improve accessibility + required: false + - label: This feature would improve performance for most use cases + required: false