diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index d923854d7b2..eeda1f865d9 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -2,23 +2,68 @@ name: 🐛 Bug Report description: Report a reproducible bug or regression in React Native. labels: ["Needs: Triage :mag:"] body: + - type: markdown + attributes: + value: "## Reporting a bug to React Native" - type: markdown attributes: value: | - Please provide all the information requested. Issues that do not follow this format are likely to stall. + Thank you for taking the time to report an issue for React Native, your contribution will help + make the framework better for everyone. + + Before you continue: + * If you're using **Expo** and you're noticing a bug, [report it here](https://github.com/expo/expo/issues). + * If you're found a problem with our **documentation**, [report it here](https://github.com/facebook/react-native-website/issues/). + * If you're having an issue with **Metro** (the bundler), [report it here](https://github.com/facebook/metro/issues/). + * If you're using an external library, report the issue to the **library first**. + * Please [search for similar issues](https://github.com/facebook/react-native/issues) in our issue tracker. + + Make sure that your issue: + * Have a **valid reproducer** (either a [Expo Snack](https://snack.expo.dev/) or a [empty project from template](https://github.com/react-native-community/reproducer-react-native). + * Is tested against the [**latest stable**](https://github.com/facebook/react-native/releases/) of React Native. + + Due to the extreme number of bugs we receive, we will be looking **ONLY** into issues with a reproducer, and on [supported versions](https://github.com/reactwg/react-native-releases#which-versions-are-currently-supported) of React Native. - type: textarea id: description attributes: label: Description - description: Please provide a clear and concise description of what the bug is. Include screenshots if needed. Test using the [latest React Native release](https://github.com/facebook/react-native/releases/latest) to make sure your issue has not already been fixed. + description: A clear and concise description of what the bug is. + validations: + required: true + - type: textarea + id: reproduction + attributes: + label: Steps to reproduce + description: The list of steps that reproduce the issue. + placeholder: | + 1. Install the application with `yarn android` + 2. Click on the button on the Home + 3. Notice the crash validations: required: true - type: input id: version attributes: label: React Native Version - description: What is the latest version of react-native that this issue reproduces on? Please only list the highest version you tested. Bear in mind that only issues on [supported versions](https://github.com/reactwg/react-native-releases#which-versions-are-currently-supported) will be looked into. - placeholder: ex. 0.71.0 + description: The version of react-native that this issue reproduces on. Bear in mind that only issues on [supported versions](https://github.com/reactwg/react-native-releases#which-versions-are-currently-supported) will be looked into. + placeholder: "0.73.0" + validations: + required: true + - type: dropdown + id: platforms + attributes: + label: Affected Platforms + description: Please select which platform you're developing to, and which OS you're using for building. + multiple: true + options: + - Runtime - Android + - Runtime - iOS + - Runtime - Web + - Runtime - Desktop + - Build - MacOS + - Build - Windows + - Build - Linux + - Other (please specify) validations: required: true - type: textarea @@ -26,23 +71,53 @@ body: attributes: label: Output of `npx react-native info` description: Run `npx react-native info` in your terminal, copy and paste the results here. + placeholder: | + Paste the output of `npx react-native info` here. The output looks like: + ... + System: + OS: macOS 14.1.1 + CPU: (10) arm64 Apple M1 Max + Memory: 417.81 MB / 64.00 GB + Shell: + version: "5.9" + path: /bin/zsh + Binaries: + Node: ... + version: 18.14.0 + ... + render: text validations: required: true - type: textarea - id: reproduction + id: stacktrace attributes: - label: Steps to reproduce - description: Provide a detailed list of steps that reproduce the issue. + label: Stacktrace or Logs + description: Please provide a stacktrace or a log of your crash or failure + render: text + placeholder: | + Paste your stacktraces and logs here. They might look like: + + java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libfabricjni.so caused by: com.facebook.react.fabric.StateWrapperImpl result: 0 + at com.facebook.soloader.SoLoader.g(Unknown Source:341) + at com.facebook.soloader.SoLoader.t(Unknown Source:124) + at com.facebook.soloader.SoLoader.s(Unknown Source:2) + at com.facebook.soloader.SoLoader.q(Unknown Source:42) + at com.facebook.soloader.SoLoader.p(Unknown Source:1) + ... + validations: + required: true + - type: input + id: reproducer + attributes: + label: Reproducer + description: A link to a Expo Snack or a public repository that reproduces this bug, using [this template](https://github.com/react-native-community/reproducer-react-native). Reproducers are **mandatory**. + placeholder: "https://github.com//" validations: required: true - type: textarea id: extra attributes: - label: Snack, screenshot, or link to a repository + label: Screenshots and Videos description: | - Please provide a Snack (https://snack.expo.dev/), a link to a repository on GitHub that reproduces the problem. - You may provide a screenshot of the application if you think it is relevant to your bug report. - Here are some tips for providing a minimal example: https://stackoverflow.com/help/mcve - Please note that a reproducer is **mandatory**. Issues without reproducer are more likely to stall and will be closed. - validations: - required: true + Please provide screenshot or a video of your bug if relevant. + Issues with videos and screenshots are more likely to **get prioritized**. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 7eef039fb2f..3dc8f247185 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,12 +1,16 @@ blank_issues_enabled: false contact_links: + - name: 🚀 Expo Issue + url: https://github.com/expo/expo/issues/new + about: | + If you're using Expo in your project, please report the issue first in the Expo issue tracker. + - name: 📃 Documentation Issue + url: https://github.com/facebook/react-native-website/issues + about: Please report documentation issues in the React Native website repository. - name: 📦 Metro Issue url: https://github.com/facebook/metro/issues/new about: | If you've encountered a module resolution problem, e.g. "Error: Unable to resolve module ...", or something else that might be related to Metro, please open an issue in the Metro repo instead. - - name: 📃 Documentation Issue - url: https://github.com/facebook/react-native-website/issues - about: Please report documentation issues in the React Native website repository. - name: 🤔 Questions and Help url: https://reactnative.dev/help about: Looking for help with your app? Please refer to the React Native community's support resources. diff --git a/.github/ISSUE_TEMPLATE/new_architecture_bug_report.yml b/.github/ISSUE_TEMPLATE/new_architecture_bug_report.yml index f0ac968d807..452c7899eab 100644 --- a/.github/ISSUE_TEMPLATE/new_architecture_bug_report.yml +++ b/.github/ISSUE_TEMPLATE/new_architecture_bug_report.yml @@ -1,29 +1,81 @@ name: 💫 New Architecture - Bug Report description: Report a reproducible bug or a build issue when using the New Architecture (Fabric & TurboModules) in React Native. labels: ["Needs: Triage :mag:", "Type: New Architecture"] + body: + - type: markdown + attributes: + value: "## New Architecture Related Bugs" - type: markdown attributes: value: | - Please provide all the information requested. Issues that do not follow this format are going to be closed. - This issue report is reserved to bug & build issues for users on the New Architecture. If you're not using - the New Architecture, please don't open issues on this category. + Thank you for taking the time to report an issue for [the New Architecture of React Native](https://reactnative.dev/docs/the-new-architecture/landing-page), + your contribution will help make the framework better for everyone. + + If you're **NOT** using the New Architecture, please use this [other bug type](https://github.com/facebook/react-native/issues/new?template=bug_report.yml). + Do not attempt to open a bug in this category if you're not using the New Architecture as your bug will be closed. + + Make sure that your issue: + * Have a **valid reproducer** (either a [Expo Snack](https://snack.expo.dev/) or a [empty project from template](https://github.com/react-native-community/reproducer-react-native). + * Is tested against the [**latest stable**](https://github.com/facebook/react-native/releases/) of React Native. + + Due to the extreme number of bugs we receive, we will be looking **ONLY** into issues with a reproducer, and on [supported versions](https://github.com/reactwg/react-native-releases#which-versions-are-currently-supported) of React Native. - type: textarea id: description attributes: label: Description - description: | - Please provide a clear and concise description of what the bug or issue is. Include screenshots if needed. - Please make sure you check the New Architecture documentation first, as your issue might - already be answered there - https://reactnative.dev/docs/next/new-architecture-intro + description: A clear and concise description of what the bug is. + validations: + required: true + - type: textarea + id: reproduction + attributes: + label: Steps to reproduce + description: The list of steps that reproduce the issue. + placeholder: | + 1. Install the application with `yarn android` + 2. Click on the button on the Home + 3. Notice the crash validations: required: true - type: input id: version attributes: label: React Native Version - description: What is the latest version of react-native that this issue reproduces on? Please test against the latest stable version, and list only the highest version you tested. Bug reports against older versions are more likely to stall. - placeholder: ex. 0.71.0 + description: The version of react-native that this issue reproduces on. Bear in mind that only issues on [supported versions](https://github.com/reactwg/react-native-releases#which-versions-are-currently-supported) will be looked into. + placeholder: "0.73.0" + validations: + required: true + - type: dropdown + id: platforms + attributes: + label: Affected Platforms + description: Please select which platform you're developing to, and which OS you're using for building. + multiple: true + options: + - Runtime - Android + - Runtime - iOS + - Runtime - Web + - Runtime - Desktop + - Build - MacOS + - Build - Windows + - Build - Linux + - Other (please specify) + validations: + required: true + - type: dropdown + id: areas + attributes: + label: Areas + description: Which areas of the New Architecture are affected by this bug report? + multiple: true + options: + - Fabric - The New Renderer + - TurboModule - The New Native Module System + - JSI - Javascript Interface + - Bridgeless - The New Initialization Flow + - Codegen + - Other (please specify) validations: required: true - type: textarea @@ -31,23 +83,53 @@ body: attributes: label: Output of `npx react-native info` description: Run `npx react-native info` in your terminal, copy and paste the results here. + placeholder: | + Paste the output of `npx react-native info` here. The output looks like: + ... + System: + OS: macOS 14.1.1 + CPU: (10) arm64 Apple M1 Max + Memory: 417.81 MB / 64.00 GB + Shell: + version: "5.9" + path: /bin/zsh + Binaries: + Node: ... + version: 18.14.0 + ... + render: text validations: required: true - type: textarea - id: reproduction + id: stacktrace attributes: - label: Steps to reproduce - description: Provide a detailed list of steps that reproduce the issue. + label: Stacktrace or Logs + description: Please provide a stacktrace or a log of your crash or failure + render: text + placeholder: | + Paste your stacktraces and logs here. They might look like: + + java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libfabricjni.so caused by: com.facebook.react.fabric.StateWrapperImpl result: 0 + at com.facebook.soloader.SoLoader.g(Unknown Source:341) + at com.facebook.soloader.SoLoader.t(Unknown Source:124) + at com.facebook.soloader.SoLoader.s(Unknown Source:2) + at com.facebook.soloader.SoLoader.q(Unknown Source:42) + at com.facebook.soloader.SoLoader.p(Unknown Source:1) + ... + validations: + required: true + - type: input + id: reproducer + attributes: + label: Reproducer + description: A link to a Expo Snack or a public repository that reproduces this bug, using [this template](https://github.com/react-native-community/reproducer-react-native). Reproducers are **mandatory**. + placeholder: "https://github.com//" validations: required: true - type: textarea id: extra attributes: - label: Snack, code example, screenshot, or link to a repository + label: Screenshots and Videos description: | - Please provide a Snack (https://snack.expo.dev/), a link to a repository on GitHub, or provide a minimal code example that reproduces the problem. - You may provide a screenshot of the application if you think it is relevant to your bug report. - Here are some tips for providing a minimal example: https://stackoverflow.com/help/mcve - Please note that a reproducer is **mandatory**. Issues without reproducer are more likely to stall and will be closed. - validations: - required: true + Please provide screenshot or a video of your bug if relevant. + Issues with videos and screenshots are more likely to **get prioritized**. diff --git a/.github/ISSUE_TEMPLATE/upgrade-regression-form.yml b/.github/ISSUE_TEMPLATE/upgrade-regression-form.yml deleted file mode 100644 index 967c92b921b..00000000000 --- a/.github/ISSUE_TEMPLATE/upgrade-regression-form.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: ⬆️ Upgrade - Build Regression -description: If you are upgrading to a new React Native version (stable or pre-release) and encounter a build regression. -labels: ["Needs: Triage :mag:", "Type: Upgrade Issue"] -body: - - type: markdown - attributes: - value: | - Please use this form to file an issue if you have upgraded or are upgrading to [latest stable release](https://github.com/facebook/react-native/releases/latest) and have experienced a regression (something that used to work in previous version). - - type: input - id: new-version - attributes: - label: New Version - description: This is the version you are attempting to upgrade to. - placeholder: ex. 0.66.1 - validations: - required: true - - type: input - id: old-version - attributes: - label: Old Version - description: This is the version you were on where the behavior was working. - placeholder: ex. 0.65.1 - validations: - required: true - - type: input - id: target - attributes: - label: Build Target(s) - description: What target(s) are encountering this issue? - placeholder: iOS simulator in release flavor - validations: - required: true - - type: textarea - id: react-native-info - attributes: - label: Output of `react-native info` - description: Run `react-native info` in your terminal, copy and paste the results here. - validations: - required: true - - type: textarea - id: reproduction - attributes: - label: Issue and Reproduction Steps - description: Please describe the issue and list out commands run to reproduce. - validations: - required: true diff --git a/.github/ISSUE_TEMPLATE/upgrade_regression_form.yml b/.github/ISSUE_TEMPLATE/upgrade_regression_form.yml new file mode 100644 index 00000000000..ed559395ecb --- /dev/null +++ b/.github/ISSUE_TEMPLATE/upgrade_regression_form.yml @@ -0,0 +1,133 @@ +name: ⬆️ Upgrade - Build Regression +description: If you are upgrading to a new React Native version (stable or pre-release) and encounter a build regression. +labels: ["Needs: Triage :mag:", "Type: Upgrade Issue"] + +body: + - type: markdown + attributes: + value: "## Upgrade Issues" + - type: markdown + attributes: + value: | + Please use this form to file an issue if you have upgraded or are upgrading to [latest stable release](https://github.com/facebook/react-native/releases/latest) and have experienced a regression (something that used to work in previous version). + + If you're **NOT** upgrading the React Native version, please use this [other bug type](https://github.com/facebook/react-native/issues/new?template=bug_report.yml). + + Before you continue: + * If you're using **Expo** and having problems updating it, [report it here](https://github.com/expo/expo/issues). + * If you're found a problem with our **documentation**, [report it here](https://github.com/facebook/react-native-website/issues/). + * If you're having an issue with **Metro** (the bundler), [report it here](https://github.com/facebook/metro/issues/). + * If you're using an external library, report the issue to the **library first**. + * Please [search for similar issues](https://github.com/facebook/react-native/issues) in our issue tracker. + + Make sure that your issue: + * Have a **valid reproducer** with an [empty project from template](https://github.com/react-native-community/reproducer-react-native). + * Is upgrading to the [**latest stable**](https://github.com/facebook/react-native/releases/) of React Native. + + Due to the extreme number of bugs we receive, we will be looking **ONLY** into issues with a reproducer, and on [supported versions](https://github.com/reactwg/react-native-releases#which-versions-are-currently-supported) of React Native. + - type: input + id: old-version + attributes: + label: Old Version + description: The version of react-native that you're upgrading from. + placeholder: "0.72.0" + validations: + required: true + - type: input + id: new-version + attributes: + label: New Version + description: The version of react-native that you're upgrading to. Bear in mind that only issues that are upgrading to the [latest stable](https://github.com/facebook/react-native/releases/) will be looked into. + placeholder: "0.73.0" + validations: + required: true + - type: textarea + id: description + attributes: + label: Description + description: A clear and concise description of what the bug is. + validations: + required: true + - type: textarea + id: reproduction + attributes: + label: Steps to reproduce + description: The list of steps and commands to reproduce the issue. + placeholder: | + 1. Install the application with `yarn android` + 2. Click on the button on the Home + 3. Notice the crash + validations: + required: true + - type: dropdown + id: platforms + attributes: + label: Affected Platforms + description: Please select which platform you're developing to, and which OS you're using for building. + multiple: true + options: + - Runtime - Android + - Runtime - iOS + - Runtime - Web + - Runtime - Desktop + - Build - MacOS + - Build - Windows + - Build - Linux + - Other (please specify) + validations: + required: true + - type: textarea + id: react-native-info + attributes: + label: Output of `npx react-native info` + description: Run `npx react-native info` in your terminal, copy and paste the results here. + placeholder: | + Paste the output of `npx react-native info` here. The output looks like: + ... + System: + OS: macOS 14.1.1 + CPU: (10) arm64 Apple M1 Max + Memory: 417.81 MB / 64.00 GB + Shell: + version: "5.9" + path: /bin/zsh + Binaries: + Node: ... + version: 18.14.0 + ... + render: text + validations: + required: true + - type: textarea + id: stacktrace + attributes: + label: Stacktrace or Logs + description: Please provide a stacktrace or a log of your crash or failure + render: text + placeholder: | + Paste your stacktraces and logs here. They might look like: + + java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libfabricjni.so caused by: com.facebook.react.fabric.StateWrapperImpl result: 0 + at com.facebook.soloader.SoLoader.g(Unknown Source:341) + at com.facebook.soloader.SoLoader.t(Unknown Source:124) + at com.facebook.soloader.SoLoader.s(Unknown Source:2) + at com.facebook.soloader.SoLoader.q(Unknown Source:42) + at com.facebook.soloader.SoLoader.p(Unknown Source:1) + ... + validations: + required: true + - type: input + id: reproducer + attributes: + label: Reproducer + description: A link to a Expo Snack or a public repository that reproduces this bug, using [this template](https://github.com/react-native-community/reproducer-react-native). Reproducers are **mandatory**. + placeholder: "https://github.com//" + validations: + required: true + - type: textarea + id: extra + attributes: + label: Screenshots and Videos + description: | + Please provide screenshot or a video of your bug if relevant. + Issues with videos and screenshots are more likely to **get prioritized**.