Browse Source

Improve GitHub PR and issue templates

jean-robin medori 1 tháng trước cách đây
mục cha
commit
2574f6ad59

+ 51 - 51
.github/ISSUE_TEMPLATE/bug-report.yml

@@ -1,55 +1,56 @@
 name: "🐛 Bug Report"
-description: I would like to report a bug.
-title: "[🐛 BUG] <write a small description here>"
-labels: ["💥Malfunction"]
+description: Report a bug in Taipy.
+title: "[🐛 BUG] <Provide a brief description here>"
+labels: ["💥 Malfunction"]
 body:
   - type: markdown
     attributes:
       value: |
-        - Thank you for using Taipy and taking the time to report a bug! 😄
-        - Please try to spend some time to understand the bug and reproduce it.
-        - Take a look at our template and try to add as much detail as possible.
-        - The more details we have, the easier it would be to fix it.
-        - If any heading is not applicable, please set it to `NA`.
+        ### 👋 Thank you for using Taipy and reporting a bug!
+        - Please take time to understand and reproduce the bug before submitting.
+        - Fill in as many details as possible to help us diagnose the issue.
+        - If a section is not applicable, enter `N/A`.
 
   - type: textarea
     id: something_wrong
     attributes:
-      label: "What went wrong? 🤔"
-      description: Please provide a detailed description of the issue you encountered. Be clear and concise in explaining what is not working as expected.
-      placeholder: The description of the issue you experienced in detail, including any relevant information or context.
+      label: "🔍 What went wrong?"
+      description: Provide a **clear, detailed** description of the issue.
+      placeholder: Describe the issue, unexpected behavior, or errors encountered.
     validations:
       required: true
 
   - type: textarea
     id: expected_behavior
     attributes:
-      label: "Expected Behavior"
-      description: Please describe how you expected the system to behave when you encountered the issue.
-      placeholder: The description of the behavior that you expected to see when encountering the issue.
+      label: "Expected Behavior"
+      description: Describe what **should** have happened instead.
+      placeholder: Explain the expected outcome.
 
   - type: textarea
     id: reproduction_steps
     attributes:
-      label: "Steps to Reproduce Issue"
-      description: If possible, please share the steps to reproduce the issue.
+      label: "🔄 Steps to Reproduce"
+      description: Provide steps to reproduce the issue.
       placeholder: |
-        1. A code fragment
-        2. And/or configuration files or code
-        3. And/or Taipy GUI Markdown or HTML files
+        1. Provide a minimal reproducible code snippet (if applicable).
+        2. Attach relevant configuration files, Taipy GUI Markdown, or HTML files.
+        3. Describe the sequence of actions that lead to the issue.
 
   - type: textarea
     id: solution_proposed
     attributes:
-      label: "Solution Proposed"
-      description: Any ideas on how this should be solved
-      placeholder: The potential solution to solve this issue
+      label: "💡 Possible Solution (Optional)"
+      description: If you have an idea for a fix, share it here.
+      placeholder: Describe a possible approach to resolve this issue.
+    validations:
+      required: false
 
   - type: textarea
     id: screenshot
     attributes:
-      label: "Screenshots"
-      description: If applicable, add screenshots to help explain your problem.
+      label: "🖼️ Screenshots (Optional)"
+      description: Attach screenshots or screen recordings if they help illustrate the issue.
       placeholder: ![DESCRIPTION](LINK.png)
     validations:
       required: false
@@ -57,8 +58,8 @@ body:
   - type: input
     id: environment
     attributes:
-      label: "Runtime Environment"
-      description: You can specify your operating system and version, web browser and version, or any other software that may be related to the issue.
+      label: "💻 Runtime Environment"
+      description: Specify your OS, browser, or other relevant software versions.
       placeholder: ex. Windows 10, Chrome 91.0.4472.124
     validations:
       required: false
@@ -66,8 +67,8 @@ body:
   - type: dropdown
     id: browsers
     attributes:
-      label: "Browsers"
-      description: What browser(s) are you seeing the problem on?
+      label: "🌐 Browser (if applicable)"
+      description: Select the browser(s) where the issue occurs.
       multiple: true
       options:
         - Chrome
@@ -83,8 +84,8 @@ body:
   - type: dropdown
     id: os
     attributes:
-      label: "OS"
-      description: Please select the operating system(s) on which you are experiencing the issue from the dropdown list provided.
+      label: "🖥️ Operating System"
+      description: Select the OS where the issue occurs.
       multiple: true
       options:
         - Windows
@@ -99,45 +100,44 @@ body:
   - type: input
     id: version_taipy
     attributes:
-      label: "Version of Taipy"
-      description: Please provide the version number of taipy you are using (if applicable) in the text field provided. This can help developers determine if the issue has already been solved in a newer version of the software.
+      label: "📦 Taipy Version"
+      description: Provide the version number of Taipy you are using.
       placeholder: ex. 3.0.1
     validations:
-      required: false
+      required: true
 
   - type: textarea
     id: additional_context
     attributes:
-      label: "Additional Context"
-      description: If you have any additional context or information that may help us understand the problem better, please provide it here.
-      placeholder: This can include any relevant logs, error messages, or other information that may be useful in diagnosing the issue.
+      label: "📋 Additional Context (Optional)"
+      description: Provide any relevant logs, error messages, or details.
+      placeholder: Paste logs or error messages here.
       render: bash
     validations:
       required: false
 
-  - type: textarea
-    id: acceptance_criteria
-    attributes:
-      label: "Acceptance Criteria"
-      description: Do not edit the text area below.
-      value: |
-        - [ ] A unit test reproducing the bug is added.
-        - [ ] Any new code is covered by a unit tested.
-        - [ ] Check code coverage is at least 90%.
-        - [ ] The bug reporter validated the fix.
-        - [ ] Related issue(s) in taipy-doc are created for documentation and Release Notes are updated.
-
   - type: checkboxes
     id: terms_checklist_bug
     attributes:
-      label: Code of Conduct
+      label: "📜 Code of Conduct"
       description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/Avaiga/taipy/blob/develop/CODE_OF_CONDUCT.md) and [Contributing Guidelines](https://github.com/Avaiga/taipy/blob/develop/CONTRIBUTING.md).
       options:
-        - label: "I have checked the [existing issues](https://github.com/Avaiga/taipy/issues?q=is%3Aissue+)."
+        - label: "I have checked the [existing issues](https://github.com/Avaiga/taipy/issues?q=is%3Aissue+) to avoid duplicates."
           required: true
         - label: "I am willing to work on this issue (optional)"
           required: false
 
+  - type: textarea
+    id: acceptance_criteria
+    attributes:
+      label: "✅ Acceptance Criteria"
+      description: Do not edit the text area below.
+      value: |
+        - [ ] A reproducible unit test is added.
+        - [ ] Code coverage is **at least 90%**.
+        - [ ] The bug reporter validated the fix.
+        - [ ] Relevant **documentation updates** or an issue created in
+
   - type: markdown
     attributes:
-      value: Thank you for taking the time to report the issue! 😄
+      value: "🚀 Thank you for helping improve Taipy!"

+ 25 - 21
.github/ISSUE_TEMPLATE/documentation.yml

@@ -1,42 +1,46 @@
-name: "📋 Documentation"
-description: "Use this form to present your suggestions on how to improve our docs."
-title: "[DOCS] <write a small description here>"
+name: "📋 Documentation Improvement"
+description: "Use this form to suggest improvements or report issues in our documentation."
+title: "[📄 DOCS] <Brief description of the issue>"
 labels: ["📄 Documentation"]
 body:
   - type: markdown
     attributes:
       value: |
-        - Thank you for using Taipy and taking the time to suggest improvements in documentation! 😄
-        - Take a look at our template and try to add as much detail as possible.
-        - If any heading is not applicable, please set it to `NA`.
+        ## 📖 Thank you for helping us improve Taipy’s documentation!
+        - Please provide as much detail as possible for your suggestion.
+        - If a section is **not applicable**, enter `N/A`.
+        - Your feedback helps us maintain high-quality documentation! 🚀
 
   - type: textarea
     id: docs_description
     attributes:
-      label: "Issue Description"
-      description: "Please provide a brief summary of the documentation issue you are experiencing or would like to address."
+      label: "🔍 Issue Description"
+      description: "Provide a **clear, detailed summary** of the issue or improvement suggestion."
+      placeholder: "Describe the documentation problem or missing information."
     validations:
       required: true
 
   - type: textarea
     id: screenshots_examples_docs
     attributes:
-      label: "Screenshots or Examples (if applicable)"
-      description: "Please include relevant screenshots or examples to help illustrate the problem."
+      label: "🖼️ Screenshots or Examples (Optional)"
+      description: "If applicable, include screenshots or examples to illustrate the issue."
+      placeholder: "Attach links or images to highlight the problem."
 
   - type: textarea
     id: proposed_solution_docs
     attributes:
-      label: "Proposed Solution (optional)"
-      description: "If you have a proposed solution for the documentation issue, please provide it here. This can be helpful for speeding up the resolution process."
+      label: "💡 Suggested Improvement (Optional)"
+      description: "If you have a suggested solution, provide it here to speed up resolution."
+      placeholder: "Describe how the documentation can be improved."
 
   - type: checkboxes
     id: terms_checklist_docs
     attributes:
-      label: Code of Conduct
+      label: "📜 Code of Conduct"
       description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/Avaiga/taipy/blob/develop/CODE_OF_CONDUCT.md) and [Contributing Guidelines](https://github.com/Avaiga/taipy/blob/develop/CONTRIBUTING.md).
       options:
-        - label: "I have checked the [existing issues](https://github.com/Avaiga/taipy/issues?q=is%3Aissue+)."
+        - label: "I have checked the [existing issues](https://github.com/Avaiga/taipy/issues?q=is%3Aissue+) to avoid duplicates."
           required: true
         - label: "I am willing to work on this issue (optional)"
           required: false
@@ -44,15 +48,15 @@ body:
   - type: textarea
     id: acceptance_criteria
     attributes:
-      label: "Acceptance Criteria"
+      label: "Acceptance Criteria"
       description: Do not edit the text area below.
       value: |
-        - [ ] The documentation set as been generated without error.
-        - [ ] The new text has been passed to a grammatical tool for review.
-        - [ ] The 100 character length limit has been respected as much as possible.
-        - [ ] The links and cross-references in the documentation are working.
-        - [ ] If applicable, screenshots of the new documentation are added to the pull request.
+        - [ ] The documentation has been generated without errors.
+        - [ ] The new text has been reviewed for grammar and clarity.
+        - [ ] The 90-character line length limit has been followed where possible.
+        - [ ] All links and cross-references in the documentation work correctly.
+        - [ ] If applicable, screenshots of the updated documentation are included in the pull request.
 
   - type: markdown
     attributes:
-      value: Thank you for taking the time to report the issue! 😄
+      value: "🚀 Thank you for contributing to Taipy’s documentation!"

+ 36 - 36
.github/ISSUE_TEMPLATE/feature-request.yml

@@ -1,69 +1,69 @@
-name: 💡 Feature Request
-description: Have any new idea or new feature for Taipy? Please suggest!
-title: "<write a small description here>"
-labels: ["✨New feature"]
+name: "💡 Feature Request"
+description: "Suggest a new feature or improvement for Taipy!"
+title: "[✨ FEATURE] <Brief description of your request>"
+labels: ["✨ New Feature"]
 body:
   - type: markdown
     attributes:
       value: |
-        - Thank you for using Taipy and taking the time to suggest a new feature! 😄
-        - Take a look at our template and try to add as much detail as possible.
-        - If any heading is not applicable, please set it to `NA`.
+        ## 💡 Thank you for contributing to Taipy’s improvement!
+        - Please provide **as much detail as possible** about the feature request.
+        - If a section is **not applicable**, enter `N/A`.
+        - The more context you provide, the easier it is for us to evaluate and implement your idea! 🚀
 
   - type: textarea
     id: description_feature
     attributes:
-      label: "Description"
-      description: Please describe the lacking functionality that this issue would address.
-      placeholder: A detailed description of the new feature request.
+      label: "🔍 Feature Description"
+      description: "What functionality is missing or could be improved? Describe the problem this feature will solve."
+      placeholder: "Explain the need for this feature and its benefits."
     validations:
       required: true
 
   - type: textarea
     id: feature_solution_proposed
     attributes:
-      label: "Solution Proposed"
-      description: A precise description of how you would like to see this functionality implemented.
-      placeholder: Including any relevant materials such as sketches, wireframes, or flowcharts to illustrate your proposal is highly welcomed.
+      label: "💡 Proposed Solution"
+      description: "Describe how you would like this feature to work. If applicable, include sketches, wireframes, or examples."
+      placeholder: "Provide details on how this feature could be implemented."
 
   - type: textarea
     id: feature_impact_solution
     attributes:
-      label: "Impact of Solution"
-      description: What impact could that feature have on the rest of the product, and should be taken special care of?
-      placeholder: Including any relevant info to understand the impact of solution on the rest of the product.
+      label: "📈 Impact of the Feature"
+      description: "How will this feature impact Taipy? Are there any dependencies, risks, or considerations?"
+      placeholder: "Explain any technical or UX considerations."
 
   - type: textarea
     id: additional_context_feature
     attributes:
-      label: "Additional Context"
-      description: If you have any additional context or information that may help us to implement this feature, please provide it here. (workaround, third-party...)
-    validations:
-      required: false
-
-  - type: textarea
-    id: acceptance_criteria
-    attributes:
-      label: "Acceptance Criteria"
-      description: Do not edit the text area below.
-      value: |
-        - [ ] If applicable, a new demo code is provided to show the new feature in action.
-        - [ ] Integration tests exhibiting how the functionality works are added.
-        - [ ] Any new code is covered by a unit tested.
-        - [ ] Check code coverage is at least 90%.
-        - [ ] Related issue(s) in taipy-doc are created for documentation and Release Notes are updated.
+      label: "📎 Additional Context (Optional)"
+      description: "If relevant, provide additional information such as workarounds, third-party references, or alternative solutions."
+      placeholder: "Share any supporting details."
 
   - type: checkboxes
     id: terms_checklist_feature
     attributes:
-      label: Code of Conduct
-      description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/Avaiga/taipy/blob/develop/CODE_OF_CONDUCT.md) and [Contributing Guidelines](https://github.com/Avaiga/taipy/blob/develop/CONTRIBUTING.md).
+      label: "📜 Code of Conduct"
+      description: By submitting this feature request, you agree to follow our [Code of Conduct](https://github.com/Avaiga/taipy/blob/develop/CODE_OF_CONDUCT.md) and [Contributing Guidelines](https://github.com/Avaiga/taipy/blob/develop/CONTRIBUTING.md).
       options:
-        - label: "I have checked the [existing issues](https://github.com/Avaiga/taipy/issues?q=is%3Aissue+)."
+        - label: "I have checked the [existing issues](https://github.com/Avaiga/taipy/issues?q=is%3Aissue+) to avoid duplicates."
           required: true
         - label: "I am willing to work on this issue (optional)"
           required: false
 
+  - type: textarea
+    id: acceptance_criteria
+    attributes:
+      label: "✅ Acceptance Criteria"
+      description: Do not edit the text area below.
+      value: |
+        - [ ] A working demo or example code (if applicable) is provided.
+        - [ ] Integration tests demonstrate the new functionality.
+        - [ ] Any new code is covered by unit tests.
+        - [ ] Code coverage remains at least 90%.
+        - [ ] Related documentation updates and release notes are created.
+
   - type: markdown
     attributes:
-      value: Thank you for taking the time to suggest a feature request! 😄
+      value: "🚀 Thank you for your feature request! We appreciate your contribution to Taipy!"

+ 15 - 12
.github/ISSUE_TEMPLATE/other.yml

@@ -1,33 +1,36 @@
-name: Other
-description: Use this for any other question or issue. Please do not create blank issues.
-title: "[OTHER] <write a small description here>"
+name: "📌 Other"
+description: "Use this for general questions, discussions, or issues that don’t fit other categories."
+title: "[OTHER] <Brief description here>"
 labels: ["discussion"]
 body:
   - type: markdown
     attributes:
       value: |
-        - Thank you for using Taipy and taking the time to submit this issue! 😄 
-        - This is for discussion or any questions you may have.
+        ## 💬 Thank you for reaching out!
+        - Use this template for **general questions, discussions, or issues that don’t fit** other categories.
+        - If your issue relates to bugs, features, or documentation, please use the corresponding template.
+        - Be as clear and detailed as possible! 🚀
 
   - type: textarea
     id: issuedescription
     attributes:
-      label: What would you like to share or ask?
-      description: Provide a clear and concise explanation of your issue.
+      label: "📌 What would you like to share or ask?"
+      description: "Provide a clear and concise explanation of your question or discussion topic."
+      placeholder: "Describe your issue, question, or discussion topic here."
     validations:
       required: true
 
   - type: checkboxes
     id: terms_checklist_discussion
     attributes:
-      label: Code of Conduct
-      description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/Avaiga/taipy/blob/develop/CODE_OF_CONDUCT.md) and [Contributing Guidelines](https://github.com/Avaiga/taipy/blob/develop/CONTRIBUTING.md).
+      label: "📜 Code of Conduct"
+      description: "By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/Avaiga/taipy/blob/develop/CODE_OF_CONDUCT.md) and [Contributing Guidelines](https://github.com/Avaiga/taipy/blob/develop/CONTRIBUTING.md)."
       options:
-        - label: "I have checked the [existing issues](https://github.com/Avaiga/taipy/issues?q=is%3Aissue+)."
+        - label: "I have checked the [existing issues](https://github.com/Avaiga/taipy/issues?q=is%3Aissue+) to avoid duplicates."
           required: true
         - label: "I am willing to work on this issue (optional)"
           required: false
-          
+
   - type: markdown
     attributes:
-      value: Thank you for taking the time to report the issue! 😄
+      value: "🚀 Thank you for your contribution to Taipy!"

+ 25 - 19
.github/ISSUE_TEMPLATE/refactor-code.yml

@@ -1,41 +1,47 @@
-name: 🔧 Refactor Code/Feature Improvement
-description: Use this form for code refactoring tasks or existing feature improvement.
-title: "[Refactor] <write a small description here>"
+name: "🔧 Refactor Code / Feature Improvement"
+description: "Use this form for refactoring tasks or improvements to existing features."
+title: "[Refactor] <Brief description here>"
 labels: ["📈 Improvement"]
 body:
   - type: markdown
     attributes:
       value: |
-        - Thank you for using Taipy and taking the time to suggest feature improvements! 😄
+        ## 🔧 Thank you for helping improve Taipy’s codebase!
+        - Use this template to suggest **refactoring** or **enhancements** to existing features.
+        - Ensure changes **do not introduce breaking changes** to the API or functionality.
+        - Be as detailed as possible to help us understand the proposed improvements. 🚀
 
   - type: textarea
     id: refactor_description
     attributes:
-      label: "Description"
-      description: "Describe what improvements can be made(performance, API...) in the codebase without introducing breaking changes."
+      label: "📌 Description"
+      description: "Describe what improvements can be made (e.g., performance, API enhancements) without introducing breaking changes."
+      placeholder: "Explain the refactoring or feature improvement you propose."
     validations:
       required: true
 
-  - type: textarea
-    id: acceptance_criteria
-    attributes:
-      label: "Acceptance Criteria"
-      description: Do not edit the text area below.
-      value: |
-        - [ ] Any new code is covered by a unit tested.
-        - [ ] Check code coverage is at least 90%.
-
   - type: checkboxes
     id: terms_checklist_refactor
     attributes:
-      label: Code of Conduct
-      description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/Avaiga/taipy/blob/develop/CODE_OF_CONDUCT.md) and [Contributing Guidelines](https://github.com/Avaiga/taipy/blob/develop/CONTRIBUTING.md).
+      label: "📜 Code of Conduct"
+      description: "By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/Avaiga/taipy/blob/develop/CODE_OF_CONDUCT.md) and [Contributing Guidelines](https://github.com/Avaiga/taipy/blob/develop/CONTRIBUTING.md)."
       options:
-        - label: "I have checked the [existing issues](https://github.com/Avaiga/taipy/issues?q=is%3Aissue+)."
+        - label: "I have checked the [existing issues](https://github.com/Avaiga/taipy/issues?q=is%3Aissue+) to avoid duplicates."
           required: true
         - label: "I am willing to work on this issue (optional)"
           required: false
 
+  - type: textarea
+    id: acceptance_criteria
+    attributes:
+      label: "✅ Acceptance Criteria"
+      description: "Do not edit the text area below."
+      value: |
+        - [ ] The refactored code maintains existing functionality without breaking changes.
+        - [ ] Any new code is covered by unit tests.
+        - [ ] Code coverage remains at least 90%.
+        - [ ] Performance improvements are documented, if applicable.
+
   - type: markdown
     attributes:
-      value: Thank you for taking the time to report the issue! 😄
+      value: "🚀 Thank you for contributing to Taipy’s continuous improvement!"

+ 32 - 22
.github/PULL_REQUEST_TEMPLATE.md

@@ -1,22 +1,23 @@
-## What type of PR is this? (check all applicable)
+## What type of PR is this? (Check all that apply)
 
-- [ ] Refactor
-- [ ] Feature
-- [ ] Bug Fix
-- [ ] Optimization
-- [ ] Documentation Update
+- [ ] 🛠 Refactor
+- [ ] Feature
+- [ ] 🐛 Bug Fix
+- [ ] Optimization
+- [ ] 📝 Documentation Update
 
 ## Description
+<!-- Provide a clear and concise description of the changes introduced in this PR. -->
 
 ## Related Tickets & Documents
 
 <!--
-For pull requests that relate or close an issue, please include them
-below.  We like to follow [Github's guidance on linking issues to pull requests](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue).
+For pull requests that relate to or close an issue, please include them below.
+Following [GitHub's guidance on linking issues](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) helps with automation.
 
-For example having the text: "closes #1234" would connect the current pull
-request to issue 1234.  And when we merge the pull request, Github will
-automatically close the issue.
+Example:
+- Closes #1234
+- Related to #5678
 -->
 
 - Related Issue #
@@ -24,17 +25,26 @@ automatically close the issue.
 
 ## How to reproduce the issue
 
-_Please replace this line with instructions on how to reproduce the issue or test the feature._
+<!-- Provide step-by-step instructions to reproduce the issue or test the feature. -->
 
-## Other branches or releases that this needs to be backported
-_Describe which projects this change will impact and that needs to be backported._
+## Backporting
+<!-- Specify any branches or releases this change needs to be backported to. -->
+_This change should be backported to:_
+- [ ] 3.0
+- [ ] 3.1
+- [ ] 4.0
+- [ ] develop
 
 ## Checklist
-_We encourage you to keep the code coverage percentage at 80% and above._
-
-- [ ] This solution meets the acceptance criteria of the related issue.
-- [ ] The related issue checklist is completed.
-- [ ] This PR adds unit tests for the developed code. If not, why?
-- [ ] End-to-End tests have been added or updated. If not, why?
-- [ ] The documentation has been updated, or a dedicated issue created. (If applicable)
-- [ ] The release notes have been updated? (If applicable)
+_We encourage keeping the code coverage percentage at **80% or above**._
+
+- [ ] ✅ This solution meets the acceptance criteria of the related issue.
+- [ ] 📝 The related issue checklist is completed.
+- [ ] 🧪 This PR includes **unit tests** for the developed code.
+    If not, explain why:
+- [ ] 🔄 **End-to-End tests** have been added or updated.
+    If not, explain why:
+- [ ] 📚 The **documentation** has been updated, or a dedicated issue has been created.
+    If not, explain why:
+- [ ] 📌 The **release notes** have been updated.
+    If not, explain why:

+ 1 - 1
taipy/core/taipy.py

@@ -1057,7 +1057,7 @@ def get_cycles_scenarios() -> Dict[Optional[Cycle], List[Scenario]]:
 
 def get_entities_by_config_id(
     config_id: str,
-) -> Union[List, List[Task], List[DataNode], List[Sequence], List[Scenario]]:
+) -> Union[List, List[Task], List[DataNode], List[Scenario]]:
     """Get the entities by its config id.
 
     Arguments: