diff --git a/.github/ISSUE_TEMPLATE/--automatic-crash.yml b/.github/ISSUE_TEMPLATE/--automatic-crash.yml new file mode 100644 index 000000000000..b5db580f5793 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/--automatic-crash.yml @@ -0,0 +1,44 @@ +name: ⚠️ Automatic crash report +description: Do not use this template for bug reports. This template is only for automatic crash reports. +body: + - type: textarea + id: description + attributes: + label: Describe what you were doing when the crash happened + description: Add more details to the crash report if you can. + - type: textarea + id: reproduction_steps + attributes: + label: Steps to reproduce + description: | + * Please include a link to a game if possible! + * If applicable, add screenshots to help explain your problem. + placeholder: | + 1. Go to '...' + 2. Click on '...' + 3. Scroll down to '...' + 4. See error + - type: input + id: gdevelop_version + attributes: + label: GDevelop version + description: | + The version of GDevelop used. Leave the prefilled value. + validations: + required: true + - type: textarea + id: platform_info + attributes: + label: Platform info + description: | + The platform you are using GDevelop on. Leave the prefilled value. + - type: textarea + id: error_stack + attributes: + label: Additional component context + description: Additonal context about the problem. Leave the prefilled value. + - type: textarea + id: component_stack + attributes: + label: Additional component context + description: Additonal context about the problem. Leave the prefilled value. diff --git a/newIDE/app/src/UI/ErrorBoundary.js b/newIDE/app/src/UI/ErrorBoundary.js index ab4d7fd83dd5..4acff6f56526 100644 --- a/newIDE/app/src/UI/ErrorBoundary.js +++ b/newIDE/app/src/UI/ErrorBoundary.js @@ -106,19 +106,12 @@ export const ErrorFallbackComponent = ({ label={Report the issue on GitHub} primary onClick={() => { - const templateFile = '--bug-report.yml'; + const templateFile = '--automatic-crash.yml'; const title = 'Crash while using an editor'; - const description = + const errorStack = error && error.stack ? `${error.stack.slice(0, 600)}...` : 'No error found'; - const reproductionSteps = 'Fill me with the steps to reproduce'; - const platform = - isWindows() || isMacLike() - ? 'Desktop' - : isMobile() || isNativeMobileApp() - ? 'Mobile' - : 'Web'; const gdevelopVersion = getIDEVersionWithHash(); const platformInfo = `System Version: ${getSystemVersion()}, Arch: ${getArch()}, User Agent: ${getUserAgent()}, Platform: ${getPlatformName()}`; const additionalContext = componentStack @@ -131,13 +124,10 @@ export const ErrorFallbackComponent = ({ baseUrl.searchParams.set('template', templateFile); baseUrl.searchParams.set('title', title); baseUrl.searchParams.set('labels', 'bug'); - baseUrl.searchParams.set('searched_issues', 'true'); - baseUrl.searchParams.set('description', description); - baseUrl.searchParams.set('reproduction_steps', reproductionSteps); - baseUrl.searchParams.set('platform', platform); baseUrl.searchParams.set('gdevelop_version', gdevelopVersion); baseUrl.searchParams.set('platform_info', platformInfo); - baseUrl.searchParams.set('additional_context', additionalContext); + baseUrl.searchParams.set('error_stack', errorStack); + baseUrl.searchParams.set('component_stack', additionalContext); Window.openExternalURL(baseUrl.href); }}