mpearson | a4b2ac9f | 2017-06-06 22:06:20 | [diff] [blame] | 1 | # Omnibox Bug Triage Process |
| 2 | |
Justin Donnelly | 6f5c779 | 2017-07-12 00:11:07 | [diff] [blame] | 3 | *last update: 2017/07/11* |
mpearson | a4b2ac9f | 2017-06-06 22:06:20 | [diff] [blame] | 4 | |
| 5 | *The current triage process owner is `mpearson@`.* |
| 6 | |
| 7 | Instructions for Chrome omnibox engineers serving an assigned bug triage |
| 8 | rotation. |
| 9 | |
| 10 | [TOC] |
| 11 | |
| 12 | ## Goal of the process |
| 13 | |
| 14 | Every omnibox bug is triaged, preferably within a week of being filed. This |
| 15 | means making the issue clear, marking it as a dup if necessary, revising the |
| 16 | status, setting a priority, labeling/categorizing as appropriate (or handing off |
| 17 | to another component), and (possibly) assigning an owner. The only reason bugs |
| 18 | should remain untriaged (i.e., *status=Unconfirmed* or *status=Untriaged*) is |
| 19 | because of they need additional information from someone. These bugs should be |
| 20 | labeled as such (*Needs=Feedback* or *Needs=TestConfirmation*). |
| 21 | |
| 22 | ### Non-goals |
| 23 | |
| 24 | * Ensure high priority bugs or regressions are making progress / ping bug owners |
| 25 | for progress updates on other important bugs. (Trust your teammates to work |
| 26 | on assigned bugs.) |
| 27 | * Monitor for changes outside of the bugs database (e.g., UMA regressions, crash |
| 28 | database). (The Speed team monitors UMA for performance regressions and the |
| 29 | Stability team monitors the crash database. Both file bugs as appropriate.) |
| 30 | |
| 31 | ## Process |
| 32 | |
| 33 | * Every other day (weekend excluded), the triage engineer looks over [all |
mpearson | f9295c3 | 2017-06-28 21:05:25 | [diff] [blame] | 34 | *Unconfirmed* and *Untriaged* omnibox bugs (without *Needs=Feedback*)](https://bugs.chromium.org/p/chromium/issues/list?can=2&q=component%3AUI%3EBrowser%3EOmnibox+status%3AUnconfirmed%2CUntriaged+-component%3AUI%3EBrowser%3EOmnibox%3ESecurityIndicators+-Needs%3DFeedback&colspec=ID+Pri+M+Stars+ReleaseBlock+Component+Status+Owner+Summary+OS+Modified&x=m&y=releaseblock&cells=ids) |
mpearson | a4b2ac9f | 2017-06-06 22:06:20 | [diff] [blame] | 35 | and triages them. |
| 36 | * Every week on Tuesday, the triage engineer looks over [all *Unconfirmed* and |
| 37 | *Untriaged* bugs filed that aren’t categorized as omnibox yet have relevant |
| 38 | terms](https://bugs.chromium.org/p/chromium/issues/list?can=2&q=omnibox+-component%3AUI%3EBrowser%3EOmnibox+status%3AUnconfirmed%2CUntriaged+-has%3Aowner+OR+%E2%80%9Comni+box%E2%80%9D+-component%3AUI%3EBrowser%3EOmnibox+status%3AUnconfirmed%2CUntriaged+-has%3Aowner+OR+omnibar+-component%3AUI%3EBrowser%3EOmnibox+status%3AUnconfirmed%2CUntriaged+-has%3Aowner+OR+%E2%80%9Comni+bar%E2%80%9D+-component%3AUI%3EBrowser%3EOmnibox+status%3AUnconfirmed%2CUntriaged+-has%3Aowner+OR+locationbar+-component%3AUI%3EBrowser%3EOmnibox+status%3AUnconfirmed%2CUntriaged+-has%3Aowner+OR+%E2%80%9Clocation+bar%E2%80%9D+-component%3AUI%3EBrowser%3EOmnibox+status%3AUnconfirmed%2CUntriaged+-has%3Aowner+OR+addressbar+-component%3AUI%3EBrowser%3EOmnibox+status%3AUnconfirmed%2CUntriaged+-has%3Aowner+OR+%E2%80%9Caddress+bar%E2%80%9D+-component%3AUI%3EBrowser%3EOmnibox+status%3AUnconfirmed%2CUntriaged+-has%3Aowner&colspec=ID+Pri+M+Stars+ReleaseBlock+Component+Status+Owner+Summary+OS+Modified&x=m&y=releaseblock&cells=ids) |
| 39 | to see if any should be moved to the omnibox component and triaged. (This |
| 40 | scan can be limited to those filed in the last week, i.e., since the last |
| 41 | check.) |
| 42 | * Every month (the first Thursday of the month), the triage engineer should |
| 43 | look over [all bugs with *Needs=Feedback*](https://bugs.chromium.org/p/chromium/issues/list?can=2&q=component%3AUI%3EBrowser%3EOmnibox+Needs%3DFeedback+&colspec=ID+Pri+M+Stars+ReleaseBlock+Component+Status+Owner+Summary+OS+Modified&x=m&y=releaseblock&cells=ids) |
| 44 | and should take action on those that have been sitting for too long (ping the |
| 45 | reporter, close if unactionable, etc.). |
| 46 | |
| 47 | Other team members are welcome to triage a bug if they see it before the the |
| 48 | triage engineer. The triager owner will cycle among team members by |
| 49 | arrangement. |
| 50 | |
| 51 | ## How to triage |
| 52 | |
| 53 | ### Purpose |
| 54 | |
| 55 | The purpose of labels, components, and priority are to make it easy for omnibox |
| 56 | team members to identify bugs at a glance that affect a particular area. In |
| 57 | other words, this bug management process is intended to make the team more |
| 58 | efficient and provide better visibility for team members to identify what’s |
| 59 | important to work on in particular areas. |
| 60 | |
| 61 | ### Identifying the issue |
| 62 | |
| 63 | If the bug isn’t clear, or the desired outcome is unclear, please apply the |
| 64 | label *Needs-Feedback* and courteously ask for clarification. This is |
| 65 | appropriate both for external bug filers, Chromium developers on other teams, |
| 66 | or Googlers. The label is merely an indication that this bug needs information |
| 67 | from someone outside the team in order to make progress. It’s also an |
| 68 | indication that someone on the team needs to follow-up if feedback is not |
| 69 | forthcoming. |
| 70 | |
| 71 | Often the appropriate request includes a request for chrome://omnibox data; |
| 72 | [an example such request](#Example-request-for-chrome_omnibox-data) is below. |
| 73 | |
| 74 | Also, if the bug is clear, try to reproduce. If it cannot be reproduced or you |
| 75 | lack the necessary setup, either ask the reporter for clarification or add the |
| 76 | label *Needs-TestConfirmation* as appropriate. |
| 77 | |
| 78 | Some bugs are feature requests. Marks these as Feature, not Bug. It’s likely a |
| 79 | feature may have been requested before. Search the bugs database and dup |
| 80 | appropriately. |
| 81 | |
| 82 | Some [commonly requested features and |
| 83 | commonly reported bugs](#Commonly-referenced-bugs) are listed below. |
| 84 | |
| 85 | ### Status |
| 86 | |
| 87 | Set the Status field to the following value depending on the triage action |
| 88 | taken: |
| 89 | |
| 90 | * *Available*: The typical state for bugs exiting the triage process, assuming |
| 91 | none of the other states below apply. |
| 92 | * *Assigned*: *Available* bugs with Owners; see |
| 93 | [section on assigning owners](#Owners). |
| 94 | * *ExternalDependency*: Bugs that turn out to be in another project's code and |
| 95 | you've contacted that other project. Typically this is problems with |
| 96 | Google-sourced suggestions, an IME, or a Chrome extension. In all cases, |
| 97 | file a bug or contact the appropriate team and post information about this |
| 98 | outreach (e.g., a bug number) in a comment on the Chromium bug. |
| 99 | * *Duplicate*: This issue has been reported in another bug or shares the same |
| 100 | root cause as another bug and will certainly be fixed simultaneously. |
| 101 | * *WontFix*: Anything working by design. Also applies to old non-reproducible |
| 102 | bugs or bugs lacking feedback per |
| 103 | [standard Chromium policies](http://www.chromium.org/getting-involved/bug-triage#TOC-Cleaning-up-old-bugs). |
| 104 | * *Unconfirmed* or *Untriaged*: These labels are generally only appropriate |
| 105 | if you labeled the bug with *Needs-Feedback* or *Needs-TestConfirmation*, |
| 106 | otherwise in effect you're kicking the can down the road to the next triage |
| 107 | engineer. |
| 108 | |
| 109 | ### Priority |
| 110 | |
| 111 | Follow [standard Chromium |
| 112 | policies](https://www.chromium.org/for-testers/bug-reporting-guidelines/triage-best-practices). |
| 113 | *Priority-2* represents wanted for this release but can be punted for a release. |
| 114 | *Priority-3* are bugs not time sensitive. There is an even-lower-priority |
Mark Pearson | 1190fc6d | 2018-01-19 01:40:32 | [diff] [blame] | 115 | state; see the *NextAction=01/08/2019* below. |
mpearson | a4b2ac9f | 2017-06-06 22:06:20 | [diff] [blame] | 116 | |
| 117 | ### Owners |
| 118 | |
| 119 | Generally only assign someone else to own a bug if the bug is *Priority-2* or |
| 120 | better. *Priority-3* bugs are not likely to be completed soon; for these bugs, |
| 121 | don’t assign an owner to merely sit on the bug. To draw someone’s attention to |
| 122 | a bug, explicitly CC them. |
| 123 | |
| 124 | ### Categorization |
| 125 | |
| 126 | Omnibox bugs use a combination of labels (including hotlists) and subcomponents |
| 127 | to indicate their topic. |
| 128 | |
| 129 | Most omnibox bugs should be in the main omnibox component. A few will fall |
| 130 | directly into a subcomponent instead; the available subcomponents are listed |
| 131 | below. |
| 132 | |
| 133 | Add all the labels, components, and next actions dates that seem appropriate to |
| 134 | the issue. The main ones encountered by omnibox issues are listed below; feel |
| 135 | free to use additional suitable ones as well. |
| 136 | |
| 137 | The main labels that apply to bugs include: |
| 138 | |
| 139 | | Label | Description | |
| 140 | | --- | --- | |
Mark Pearson | 13c0ad0 | 2017-07-19 22:48:26 | [diff] [blame] | 141 | | Hotlist-OmniboxFocus | Bugs about focus, including not having focus when it should, focussing on the wrong end of the URL, etc. (Note: label does not appear in the Hotlist completion dropdown.) | |
| 142 | | Hotlist-OmniboxKeyboardShortcuts | Bugs related to handling of keyboard shortcuts, including both incorrectly handling real omnibox shortcuts and preventing other Chrome shortcuts from working when focus is in the omnibox. (Note: label does not appear in the Hotlist completion dropdown.) | |
| 143 | | Hotlist-OmniboxRanking | Bugs related to which suggestions are considered matches against the input and how relevance scores are assigned. (Note: label does not appear in the Hotlist completion dropdown.) | |
mpearson | a4b2ac9f | 2017-06-06 22:06:20 | [diff] [blame] | 144 | | Hotlist-CodeHealth | Bugs about the making the code base easy to work with such as quality of comments. Refactoring efforts can also be included when for that purpose. | |
| 145 | | Hotlist-Polish | Bugs about how a feature looks and feels: not whether the feature works or not; instead, more of whether it appears the feature was created with attention to detail. Often user-visible edge cases fit in this category. | |
| 146 | | Hotlist-Refactoring | Bugs related to restructuring existing code without changing its behavior. | |
Mark Pearson | 13c0ad0 | 2017-07-19 22:48:26 | [diff] [blame] | 147 | | Performance-Browser | Bugs that affect performance. | |
mpearson | a4b2ac9f | 2017-06-06 22:06:20 | [diff] [blame] | 148 | |
| 149 | The components that additionally apply to bugs include: |
| 150 | |
| 151 | | Component | Description | |
| 152 | | --- | --- | |
| 153 | | Enterprise | Bugs that mainly affect enterprise environments: enterprise policies, intranet handling, etc. | |
| 154 | | Tests>{Disabled,Failed,Missing,Flaky} | Bugs related to failing tests or lack of test coverage. | |
| 155 | | UI>Browser>Search | Bugs related to web search in general whose effects aren’t limited to the omnibox. | |
| 156 | |
| 157 | The subcomponents of omnibox bugs include: |
| 158 | |
| 159 | | Subcomponent | Description | |
| 160 | | --- | --- | |
| 161 | | UI>Browser>Omnibox>AiS | Answers in Suggest. | |
| 162 | | UI>Browser>Omnibox>SecurityIndicators | Secure/insecure icons; triaged by another team. | |
| 163 | | UI>Browser>Omnibox>TabToSearch | Custom search engines, omnibox extensions, etc. (including adding, triggering, ranking, etc. for them). | |
| 164 | | UI>Browser>Omnibox>ZeroSuggest | Suggestions displayed on omnibox focus (both contextual and non-contextual). | |
| 165 | |
| 166 | If the bug is extremely low priority, set the **NextAction field** to |
Mark Pearson | 1190fc6d | 2018-01-19 01:40:32 | [diff] [blame] | 167 | **01/08/2019** and mention that we will "reassess" the bug next year. This |
mpearson | a4b2ac9f | 2017-06-06 22:06:20 | [diff] [blame] | 168 | NextAction field is for Priority-3 bugs that are somehow less important than |
| 169 | other *priority-3* bugs. These are bugs we’re sure no one on the team intends |
| 170 | to fix this year (e.g., really unimportant, or mostly unimportant and hard to |
| 171 | fix). This label should be applied only when confident the whole team will |
| 172 | agree with you. When searching the bugs database for things to do, I suggest |
| 173 | excluding bugs on this hotlist.) |
| 174 | |
| 175 | # Appendix |
| 176 | |
| 177 | ## Example request for chrome://omnibox data |
| 178 | |
Justin Donnelly | 6f5c779 | 2017-07-12 00:11:07 | [diff] [blame] | 179 | NOTE: If you ask someone for chrome://omnibox data on a public bug, label the |
| 180 | bug with Restrict-View-Google so that any personal data from the reporter's |
| 181 | chrome://omnibox output is not made public. Do this *before* they respond. |
| 182 | As the original reporter, they should still have access to the bug even with the |
| 183 | restrict applied. |
| 184 | |
| 185 | Example request: |
| 186 | |
mpearson | a4b2ac9f | 2017-06-06 22:06:20 | [diff] [blame] | 187 | > Please submit chrome://omnibox output for “\_\_\_”. Check both the "show |
| 188 | > all details" and "show results per provider" boxes. This will help us |
| 189 | > figure out what's going on. |
| 190 | > |
| 191 | > Feel free to paste the results in here unformatted; we’ll be able to |
| 192 | > decipher them. |
| 193 | |
| 194 | ## Commonly referenced bugs |
| 195 | |
| 196 | * “I want the option to turn off inline autocomplete.” Dup against |
| 197 | [crbug/91378](https://bugs.chromium.org/p/chromium/issues/detail?id=91378). |
| 198 | |
| 199 | * Try to understand the motivation of the user making the request. Please |
Justin Donnelly | 6f5c779 | 2017-07-12 00:11:07 | [diff] [blame] | 200 | ask the user for examples, with chrome://omnibox detail (see above), of times |
| 201 | where the omnibox doesn’t do what they want. Ideally we should be able make |
| 202 | to make the omnibox smart enough that such a feature isn’t necessary. |
mpearson | a4b2ac9f | 2017-06-06 22:06:20 | [diff] [blame] | 203 | |
| 204 | * “I typed in something like go/foo and got redirected to a search results page |
| 205 | instead.” See |
| 206 | [this internal page](https://docs.google.com/document/d/140jmrHfC9BiNUbHEmUF4ajJ8Zpbc7qd5fjTBulH3I5g/edit#). |
| 207 | Follow the guidelines there; generally ask about a message about profile |
| 208 | corruption. If so, the bug can be dupped against |
| 209 | [crbug/665253](https://bugs.chromium.org/p/chromium/issues/detail?id=665253) |
| 210 | |
| 211 | * … and no “Did you mean?” infobar appears. This is likely prerendering; see |
| 212 | [crbug/247848](https://bugs.chromium.org/p/chromium/issues/detail?id=247848) |
| 213 | |
| 214 | * “I want to disable suggestions from appearing entirely”. Try to find out |
| 215 | why. Quote freely from |
| 216 | [pkasting’s comment on this bug](https://bugs.chromium.org/p/chromium/issues/detail?id=702850#c16). |
| 217 | |
| 218 | # References |
| 219 | |
| 220 | [General Chromium bug triage guidelines](http://www.chromium.org/getting-involved/bug-triage) |
| 221 | |
mpearson | f9295c3 | 2017-06-28 21:05:25 | [diff] [blame] | 222 | [Omnibox bugs that we intend/hope to tackle this year](https://bugs.chromium.org/p/chromium/issues/list?can=1&q=component:UI%3EBrowser%3EOmnibox%20-component:UI%3EBrowser%3EOmnibox%3ESecurityIndicators%20status:Available,Assigned,Started%20NextAction%3C2018/1/1%20OR%20component:UI%3EBrowser%3EOmnibox%20-component:UI%3EBrowser%3EOmnibox%3ESecurityIndicators%20status:Available,Assigned,Started%20-has:NextAction%20&sort=pri&colspec=ID%20Pri%20M%20Stars%20ReleaseBlock%20Component%20Status%20Owner%20Summary%20OS%20Modified), |
mpearson | a4b2ac9f | 2017-06-06 22:06:20 | [diff] [blame] | 223 | broken down: |
| 224 | |
Justin Donnelly | 6f5c779 | 2017-07-12 00:11:07 | [diff] [blame] | 225 | * [User-facing](https://bugs.chromium.org/p/chromium/issues/list?can=1&q=component:UI%3EBrowser%3EOmnibox%20-component:UI%3EBrowser%3EOmnibox%3ESecurityIndicators%20status:Available,Assigned,Started%20-Hotlist=CodeHealth%20-Hotlist=Refactoring%20-component:Test%20NextAction%3C2018/1/1%20OR%20component:UI%3EBrowser%3EOmnibox%20-component:UI%3EBrowser%3EOmnibox%3ESecurityIndicators%20status:Available,Assigned,Started%20-Hotlist=CodeHealth%20-Hotlist=Refactoring%20-component:Test%20-has:NextAction&sort=pri&colspec=ID%20Pri%20M%20Stars%20ReleaseBlock%20Component%20Status%20Owner%20Summary%20OS%20Modified) |
mpearson | a4b2ac9f | 2017-06-06 22:06:20 | [diff] [blame] | 226 | (everything not tagged as one of the non-user-facing categories below). Some |
| 227 | of these can be further categorized: Performance, Polish, Enterprise, Answers |
| 228 | in Suggest, Tab To Search, Zero Suggest. |
| 229 | |
| 230 | * Non user-facing, divided into these categories: |
| 231 | |
mpearson | f9295c3 | 2017-06-28 21:05:25 | [diff] [blame] | 232 | * [Code health](https://bugs.chromium.org/p/chromium/issues/list?can=1&q=component:UI%3EBrowser%3EOmnibox%20-component:UI%3EBrowser%3EOmnibox%3ESecurityIndicators%20status:Available,Assigned,Started%20NextAction%3C2018/1/1%20OR%20component:UI%3EBrowser%3EOmnibox%20-component:UI%3EBrowser%3EOmnibox%3ESecurityIndicators%20status:Available,Assigned,Started%20-has:NextAction%20&sort=pri&colspec=ID%20Pri%20M%20Stars%20ReleaseBlock%20Component%20Status%20Owner%20Summary%20OS%20Modified) |
mpearson | a4b2ac9f | 2017-06-06 22:06:20 | [diff] [blame] | 233 | |
mpearson | f9295c3 | 2017-06-28 21:05:25 | [diff] [blame] | 234 | * [Refactoring](https://bugs.chromium.org/p/chromium/issues/list?can=1&q=component:UI%3EBrowser%3EOmnibox%20-component:UI%3EBrowser%3EOmnibox%3ESecurityIndicators%20status:Available,Assigned,Started%20Hotlist=Refactoring%20NextAction%3C2018/1/1%20OR%20component:UI%3EBrowser%3EOmnibox%20-component:UI%3EBrowser%3EOmnibox%3ESecurityIndicators%20status:Available,Assigned,Started%20Hotlist=Refactoring%20-has:NextAction&sort=pri&colspec=ID%20Pri%20M%20Stars%20ReleaseBlock%20Component%20Status%20Owner%20Summary%20OS%20Modified) |
mpearson | a4b2ac9f | 2017-06-06 22:06:20 | [diff] [blame] | 235 | |
mpearson | f9295c3 | 2017-06-28 21:05:25 | [diff] [blame] | 236 | * [Testing](https://bugs.chromium.org/p/chromium/issues/list?can=1&q=component:UI%3EBrowser%3EOmnibox%20-component:UI%3EBrowser%3EOmnibox%3ESecurityIndicators%20status:Available,Assigned,Started%20component:Tests%20NextAction%3C2018/1/1%20OR%20component:UI%3EBrowser%3EOmnibox%20-component:UI%3EBrowser%3EOmnibox%3ESecurityIndicators%20status:Available,Assigned,Started%20component:Tests%20-has:NextAction&sort=pri&colspec=ID%20Pri%20M%20Stars%20ReleaseBlock%20Component%20Status%20Owner%20Summary%20OS%20Modified) |