blob: 3c41bb802dfe1dff98203a922e21db0a18d74d33 [file] [log] [blame] [view]
mpearsona4b2ac9f2017-06-06 22:06:201# Omnibox Bug Triage Process
2
Justin Donnelly6f5c7792017-07-12 00:11:073*last update: 2017/07/11*
mpearsona4b2ac9f2017-06-06 22:06:204
5*The current triage process owner is `mpearson@`.*
6
7Instructions for Chrome omnibox engineers serving an assigned bug triage
8rotation.
9
10[TOC]
11
12## Goal of the process
13
14Every omnibox bug is triaged, preferably within a week of being filed. This
15means making the issue clear, marking it as a dup if necessary, revising the
16status, setting a priority, labeling/categorizing as appropriate (or handing off
17to another component), and (possibly) assigning an owner. The only reason bugs
18should remain untriaged (i.e., *status=Unconfirmed* or *status=Untriaged*) is
19because of they need additional information from someone. These bugs should be
20labeled 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
mpearsonf9295c32017-06-28 21:05:2534 *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)
mpearsona4b2ac9f2017-06-06 22:06:2035 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
47Other team members are welcome to triage a bug if they see it before the the
48triage engineer. The triager owner will cycle among team members by
49arrangement.
50
51## How to triage
52
53### Purpose
54
55The purpose of labels, components, and priority are to make it easy for omnibox
56team members to identify bugs at a glance that affect a particular area. In
57other words, this bug management process is intended to make the team more
58efficient and provide better visibility for team members to identify what’s
59important to work on in particular areas.
60
61### Identifying the issue
62
63If the bug isn’t clear, or the desired outcome is unclear, please apply the
64label *Needs-Feedback* and courteously ask for clarification. This is
65appropriate both for external bug filers, Chromium developers on other teams,
66or Googlers. The label is merely an indication that this bug needs information
67from someone outside the team in order to make progress. It’s also an
68indication that someone on the team needs to follow-up if feedback is not
69forthcoming.
70
71Often the appropriate request includes a request for chrome://omnibox data;
72[an example such request](#Example-request-for-chrome_omnibox-data) is below.
73
74Also, if the bug is clear, try to reproduce. If it cannot be reproduced or you
75lack the necessary setup, either ask the reporter for clarification or add the
76label *Needs-TestConfirmation* as appropriate.
77
78Some bugs are feature requests. Marks these as Feature, not Bug. It’s likely a
79feature may have been requested before. Search the bugs database and dup
80appropriately.
81
82Some [commonly requested features and
83commonly reported bugs](#Commonly-referenced-bugs) are listed below.
84
85### Status
86
87Set the Status field to the following value depending on the triage action
88taken:
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
111Follow [standard Chromium
112policies](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 Pearson1190fc6d2018-01-19 01:40:32115state; see the *NextAction=01/08/2019* below.
mpearsona4b2ac9f2017-06-06 22:06:20116
117### Owners
118
119Generally only assign someone else to own a bug if the bug is *Priority-2* or
120better. *Priority-3* bugs are not likely to be completed soon; for these bugs,
121don’t assign an owner to merely sit on the bug. To draw someone’s attention to
122a bug, explicitly CC them.
123
124### Categorization
125
126Omnibox bugs use a combination of labels (including hotlists) and subcomponents
127to indicate their topic.
128
129Most omnibox bugs should be in the main omnibox component. A few will fall
130directly into a subcomponent instead; the available subcomponents are listed
131below.
132
133Add all the labels, components, and next actions dates that seem appropriate to
134the issue. The main ones encountered by omnibox issues are listed below; feel
135free to use additional suitable ones as well.
136
137The main labels that apply to bugs include:
138
139| Label | Description |
140| --- | --- |
Mark Pearson13c0ad02017-07-19 22:48:26141| 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.) |
mpearsona4b2ac9f2017-06-06 22:06:20144| 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 Pearson13c0ad02017-07-19 22:48:26147| Performance-Browser | Bugs that affect performance. |
mpearsona4b2ac9f2017-06-06 22:06:20148
149The 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
157The 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
166If the bug is extremely low priority, set the **NextAction field** to
Mark Pearson1190fc6d2018-01-19 01:40:32167**01/08/2019** and mention that we will "reassess" the bug next year. This
mpearsona4b2ac9f2017-06-06 22:06:20168NextAction field is for Priority-3 bugs that are somehow less important than
169other *priority-3* bugs. These are bugs we’re sure no one on the team intends
170to fix this year (e.g., really unimportant, or mostly unimportant and hard to
171fix). This label should be applied only when confident the whole team will
172agree with you. When searching the bugs database for things to do, I suggest
173excluding bugs on this hotlist.)
174
175# Appendix
176
177## Example request for chrome://omnibox data
178
Justin Donnelly6f5c7792017-07-12 00:11:07179NOTE: If you ask someone for chrome://omnibox data on a public bug, label the
180bug with Restrict-View-Google so that any personal data from the reporter's
181chrome://omnibox output is not made public. Do this *before* they respond.
182As the original reporter, they should still have access to the bug even with the
183restrict applied.
184
185Example request:
186
mpearsona4b2ac9f2017-06-06 22:06:20187> 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 Donnelly6f5c7792017-07-12 00:11:07200 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.
mpearsona4b2ac9f2017-06-06 22:06:20203
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
mpearsonf9295c32017-06-28 21:05:25222[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),
mpearsona4b2ac9f2017-06-06 22:06:20223broken down:
224
Justin Donnelly6f5c7792017-07-12 00:11:07225* [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)
mpearsona4b2ac9f2017-06-06 22:06:20226 (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
mpearsonf9295c32017-06-28 21:05:25232 * [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)
mpearsona4b2ac9f2017-06-06 22:06:20233
mpearsonf9295c32017-06-28 21:05:25234 * [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)
mpearsona4b2ac9f2017-06-06 22:06:20235
mpearsonf9295c32017-06-28 21:05:25236 * [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)