Merge branch 'main' into avm99963-monorail
Merged commit 4137ed7879acadbf891e8c471108acb874dae886.
GitOrigin-RevId: b6100ffc5b1da355a35f37b13fcaaf746ee8b307
diff --git a/static_src/react/issue-wizard/IssueWizardConfig.ts b/static_src/react/issue-wizard/IssueWizardConfig.ts
new file mode 100644
index 0000000..b7f1c17
--- /dev/null
+++ b/static_src/react/issue-wizard/IssueWizardConfig.ts
@@ -0,0 +1,470 @@
+// Copyright 2022 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// TODO: create a `monorail/frontend/config/` folder to store all the feature config file
+import {IssueCategory, IssueWizardPersona, CustomQuestionType} from "./IssueWizardTypes.tsx";
+
+// Customer Question convert to related labels
+export const LABELS_PREFIX = 'LABELS: ';
+
+export const ISSUE_WIZARD_QUESTIONS: IssueCategory[] = [
+ {
+ name: 'UI',
+ description: 'Problems with the user interface (e.g. tabs, context menus, etc...)',
+ persona: IssueWizardPersona.EndUser,
+ enabled: true,
+ component: 'Cr-UI',
+ customQuestions: [],
+ },
+ {
+ name: 'Network / Downloading',
+ description: 'Problems with accessing remote content',
+ persona: IssueWizardPersona.EndUser,
+ enabled: true,
+ component: 'Cr-Internals-Network',
+ customQuestions: [
+ {
+ type: CustomQuestionType.Input,
+ question: "What specific URL can reproduce the problem?",
+ answerPrefix: "Example URL: ",
+ },
+ ],
+ },
+ {
+ name: 'Audio / Video',
+ description: 'Problems playing back sound or movies',
+ persona: IssueWizardPersona.EndUser,
+ enabled: true,
+ component: 'Cr-Internals-Media',
+ customQuestions: [
+ {
+ type: CustomQuestionType.Input,
+ question: "What specific URL can reproduce the problem?",
+ answerPrefix: "Example URL: ",
+ },
+ {
+ type: CustomQuestionType.Select,
+ question: "Does this feature work correctly in other browsers?",
+ answerPrefix: "Does this work in other browsers?\n",
+ options: ["Not sure - I don't know", "Yes - This is just a Chromium problem", "No - I can reproduce the problem in another browser"],
+ subQuestions: [
+ null,
+ null,
+ {
+ type:CustomQuestionType.Input,
+ question: "Which other browsers (including versions) also have the problem?",
+ }],
+ },
+ {
+ type: CustomQuestionType.Text,
+ question: "Please open chrome://gpu in a new Chrome tab and paste the report here.",
+ answerPrefix: "Contents of chrome://gpu: \n",
+ }
+ ],
+ },
+ {
+ name: 'Content',
+ description: "Problems with webpages not working correctly",
+ persona: IssueWizardPersona.EndUser,
+ enabled: true,
+ component: '',
+ customQuestions: [
+ {
+ type: CustomQuestionType.Input,
+ question: "What specific URL has a problem?",
+ answerPrefix: "Example URL: ",
+ },
+ {
+ type: CustomQuestionType.Select,
+ question: "Does the problem occur on multiple sites?",
+ answerPrefix: LABELS_PREFIX,
+ options: ["Not sure - I don't know", "Yes - Please describe below", "No - Just that one URL"],
+ subQuestions: [null,null,null],
+ },
+ {
+ type: CustomQuestionType.Select,
+ question: "Is it a problem with a plugin?",
+ answerPrefix: "Is it a problem with a plugin? ",
+ options: ["Not sure - I don't know", "Yes - Those darn plugins", "No - It's the browser itself"],
+ subQuestions: [
+ null,
+ {
+ type:CustomQuestionType.Input,
+ question: "Which plugin?",
+ },
+ null],
+ },
+ {
+ type: CustomQuestionType.Select,
+ question: "Does this feature work correctly in other browsers?",
+ answerPrefix: "Does this work in other browsers? ",
+ options: ["Not sure - I don't know", "Yes - This is just a Chromium problem", "No - I can reproduce the problem in another browser"],
+ subQuestions: [
+ null,
+ null,
+ {
+ type:CustomQuestionType.Input,
+ question: "Which other browsers (including versions) also have the problem?",
+ }],
+ },
+ ],
+ },
+ {
+ name: 'Apps',
+ description: 'Issues with Webstore apps',
+ persona: IssueWizardPersona.EndUser,
+ enabled: true,
+ component: 'Cr-Platform-Apps',
+ customQuestions: [
+ {
+ type: CustomQuestionType.Input,
+ question: "What is the link to that software in <a href='https://chrome.google.com/webstore' target='_blank'>the Chrome Webstore </a>?",
+ answerPrefix: "Webstore page: ",
+ }
+ ],
+ },
+ {
+ name: 'Extensions / Themes',
+ description: 'Issues with Webstore extensions and themes',
+ persona: IssueWizardPersona.EndUser,
+ enabled: true,
+ component: 'Cr-Platform-Extensions',
+ customQuestions: [
+ {
+ type: CustomQuestionType.Select,
+ question: "What kind of software had the problem?",
+ answerPrefix: LABELS_PREFIX,
+ options: ["Chrome Extension - Adds new browser functionality", "Chrome Theme - Makes Chrome look awesome"],
+ subQuestions: [
+ null,
+ {
+ type:CustomQuestionType.Input,
+ question: "Do you know the latest version where it worked?",
+ },
+ null],
+ },
+ {
+ type: CustomQuestionType.Input,
+ question: "What is the link to that software in <a href='https://chrome.google.com/webstore' target='_blank'>the Chrome Webstore</a>?",
+ answerPrefix: "WebStore page: ",
+ },
+ ],
+ },
+ {
+ name: 'Webstore',
+ description: 'Problems with the Chrome Webstore itself',
+ persona: IssueWizardPersona.EndUser,
+ enabled: true,
+ component: 'Cr-Webstore',
+ customQuestions: [
+ {
+ type: CustomQuestionType.Input,
+ question: "What is the URL of the Chrome WesStore page that had the problem?",
+ answerPrefix: "Webstore page: ",
+ },
+ ],
+ },
+ {
+ name: 'Sync',
+ description: 'Problems syncing data to a Google account',
+ persona: IssueWizardPersona.EndUser,
+ enabled: true,
+ component: 'Cr-Services-Sync',
+ customQuestions: [],
+ },
+ {
+ name: 'Enterprise',
+ description: 'Policy configuration and deployment issues',
+ persona: IssueWizardPersona.EndUser,
+ enabled: true,
+ component: 'Cr-Enterprise',
+ customQuestions: [],
+ },
+ {
+ name: 'Installation',
+ description: 'Problem installing Chrome',
+ persona: IssueWizardPersona.EndUser,
+ enabled: true,
+ component: 'Cr-Internals-Installer',
+ customQuestions: [],
+ },
+ {
+ name: 'Crashes',
+ description: 'The browser closes abruptly or I see "Aw, Snap!" pages',
+ persona: IssueWizardPersona.EndUser,
+ enabled: true,
+ tip: 'Please read the instructions on <a href="https://sites.google.com/a/chromium.org/dev/for-testers/bug-reporting-guidelines/reporting-crash-bug" target="_blank">reporting a crash issue</a>',
+ component: '',
+ customQuestions: [
+ {
+ type: CustomQuestionType.Input,
+ question: "Do you have a Report ID from chrome://crashes?",
+ answerPrefix: "Crashed report ID: ",
+ },
+ {
+ type: CustomQuestionType.Select,
+ question: "How severe is the crash?",
+ options: ["Just one tab", "Just one plugin", "The whole browser"],
+ answerPrefix: "How much crashed? ",
+ subQuestions: null,
+ },
+ {
+ type: CustomQuestionType.Select,
+ question: "Is it a problem with a plugin?",
+ answerPrefix: "Is it a problem with a plugin? ",
+ options: ["Not sure - I don't know", "Yes - Those darn plugins", "No - It's the browser itself"],
+ subQuestions: [
+ null,
+ {
+ type:CustomQuestionType.Input,
+ question: "Which plugin?",
+ },
+ null],
+ },
+ ],
+ labels: ['Stability-Crash'],
+ },
+ {
+ name: 'Security',
+ description: 'Problems with the browser security',
+ persona: IssueWizardPersona.EndUser,
+ enabled: true,
+ tip: 'Please follow the instructions for <a href="https://www.chromium.org/Home/chromium-security/reporting-security-bugs" target="_blank">reporting security issues</a>.',
+ component: '',
+ customQuestions: [],
+ labels: ['Restrict-View-SecurityTeam'],
+ },
+ {
+ name: 'Other',
+ description: 'Something not listed here',
+ persona: IssueWizardPersona.EndUser,
+ enabled: true,
+ component: '',
+ customQuestions: [
+ {
+ type: CustomQuestionType.Select,
+ question: "Please select a label to classify your issue:",
+ answerPrefix: LABELS_PREFIX,
+ options: [
+ "Not sure - I don't know",
+ "Type-Feature - Request for new or improved features",
+ "Type-Bug-Regression - Used to work, now broken",
+ "Type-Bug - Software not working correctly",
+ "Cr-UI-I18N - Issue in translating UI to other languages"
+ ],
+ subQuestions: null,
+ },
+ ],
+ },
+ {
+ name: 'API',
+ description: 'Problems with a browser API',
+ persona: IssueWizardPersona.Developer,
+ enabled: true,
+ component: '',
+ customQuestions: [
+ {
+ type:CustomQuestionType.Select,
+ question:"Which <a href='https://bugs.chromium.org/p/chromium/adminComponents' target='_blank'>component</a> does this fall under?",
+ answerPrefix: LABELS_PREFIX,
+ options: [
+ "Not sure - I don't know",
+ "Blink>Animation",
+ "Blink>BackgroundSync",
+ "Blink>Bindings",
+ "Blink>Bluetooth",
+ "Blink>Canvas",
+ "Blink>Compositing",
+ "Blink>CSS",
+ "Blink>DataTransfer",
+ "Blink>DOM",
+ "Blink>Editing",
+ "Blink>FileAPI",
+ "Blink>Focus",
+ "Blink>Fonts",
+ "Blink>Forms",
+ "Blink>Fullscreen",
+ "Blink>GamepadAPI",
+ "Blink>GetUserMedia",
+ "Blink>HitTesting",
+ "Blink>HTML",
+ "Blink>Image",
+ "Blink>Input",
+ "Blink>Internals",
+ "Blink>Javascript",
+ "Blink>Layout",
+ "Blink>Loader",
+ "Blink>Location",
+ "Blink>Media",
+ "Blink>MediaStream",
+ "Blink>MemoryAllocator",
+ "Blink>Messaging",
+ "Blink>Network",
+ "Blink>Paint",
+ "Blink>Payments",
+ "Blink>PerformanceAPIs",
+ "Blink>PermissionsAPI",
+ "Blink>PresentationAPI",
+ "Blink>PushAPI",
+ "Blink>SavePage",
+ "Blink>Scheduling",
+ "Blink>Scroll",
+ "Blink>SecurityFeature",
+ "Blink>ServiceWorker",
+ "Blink>Speech",
+ "Blink>Storage",
+ "Blink>SVG",
+ "Blink>TextAutosize",
+ "Blink>TextEncoding",
+ "Blink>TextSelection",
+ "Blink>USB",
+ "Blink>Vibration",
+ "Blink>ViewSource",
+ "Blink>WebAudio",
+ "Blink>WebComponents",
+ "Blink>WebCrypto",
+ "Blink>WebFonts",
+ "Blink>WebGL",
+ "Blink>WebGPU",
+ "Blink>WebMIDI",
+ "Blink>WebRTC",
+ "Blink>WebShare",
+ "Blink>WebVR",
+ "Blink>WindowDialog",
+ "Blink>Workers",
+ "Blink>XML",
+ ],
+ subQuestions: null,
+ },
+ {
+ type: CustomQuestionType.Select,
+ question: "Does this feature work correctly in other browsers?",
+ answerPrefix: "Does this work in other browsers? ",
+ tip: "Tip: Use <a href='https://www.browserstack.com/' target='_blank'>browserstack.com</a> to compare behavior on different browser versions.",
+ options: ["Not sure - I don't know", "Yes - This is just a Chrome problem", "No - I can reproduce the problem in another browser"],
+ subQuestions: [
+ null,
+ null,
+ {
+ type:CustomQuestionType.Text,
+ question: "Details of interop issue",
+ tip: "Please describe what the behavior is on other browsers and link to any <a href='https://browser-issue-tracker-search.appspot.com/' target='_blank'>existing bugs.</a>",
+ }
+ ],
+ },
+ ]
+ },
+ {
+ name: 'JavaScript',
+ description: 'Problems with the JavaScript interpreter',
+ persona: IssueWizardPersona.Developer,
+ enabled: true,
+ component: 'Cr-Blink',
+ customQuestions: [],
+ },
+ {
+ name: 'Developer Tools',
+ description: 'Problems with the Developer tool chain/inspector',
+ persona: IssueWizardPersona.Developer,
+ enabled: true,
+ component: 'Cr-Platform-DevTools',
+ customQuestions: [],
+ },
+];
+
+export const OS_LIST = [
+ {
+ name: 'Android',
+ description: '',
+ },
+ {
+ name: 'Chrome OS',
+ description: '',
+ },
+ {
+ name: 'iOS',
+ description: '',
+ },
+ {
+ name: 'Linux',
+ description: '',
+ },
+ {
+ name: 'Mac OS',
+ description: '',
+ },
+ {
+ name: 'Windows',
+ description: '',
+ },
+ {
+ name: 'Unknown/Other',
+ description: '',
+ },
+]
+
+// possible user os channel
+export const OS_CHANNEL_LIST = [
+ {
+ name: 'Not sure',
+ description: '',
+ },
+ {
+ name: 'Stable',
+ description: '',
+ },
+ {
+ name: 'Beta',
+ description: '',
+ },
+ {
+ name: 'Dev',
+ description: '',
+ },
+ {
+ name: 'Canary',
+ description: '',
+ },
+]
+
+export const BROWSER_LIST = [
+ {
+ name: 'Apple Safari',
+ description: '',
+ },
+ {
+ name: 'Google Chrome or Chromium',
+ description: '',
+ },
+ {
+ name: 'Mozilla Firefox',
+ description: '',
+ },
+ {
+ name: 'Microsoft Edge (Chromium)',
+ description: '',
+ },
+ {
+ name: 'Microsoft Edge (Legacy)',
+ description: '',
+ },
+ {
+ name: 'Microsoft Internet Explorer',
+ description: '',
+ },
+ {
+ name: 'Opera',
+ description: '',
+ },
+ {
+ name: 'Samsung Internet',
+ description: '',
+ },
+ {
+ name: 'Unknown / Other',
+ description: '',
+ },
+]
+
+export const ISSUE_REPRODUCE_PLACEHOLDER = '1.\n2.\n3.';