blob: 385048eacea8622cc82ba1b66dd3f132305f5809 [file] [log] [blame] [view]
mpearsona4b2ac9f2017-06-06 22:06:201# Omnibox Bug Triage Process
2
3*last update: 2017/06/05*
4
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
34 *Unconfirmed* and *Untriaged* omnibox bugs](https://bugs.chromium.org/p/chromium/issues/list?can=2&q=component%3AUI%3EBrowser%3EOmnibox+status%3AUnconfirmed%2CUntriaged+-component%3AUI%3EBrowser%3EOmnibox%3ESecurityIndicators+&colspec=ID+Pri+M+Stars+ReleaseBlock+Component+Status+Owner+Summary+OS+Modified&x=m&y=releaseblock&cells=ids)
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
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
115state; see the *NextAction=01/09/2018* below.
116
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| --- | --- |
141| Performance-Browser | Bugs that affect performance. |
142| 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. |
143| 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. |
144| Hotlist-Refactoring | Bugs related to restructuring existing code without changing its behavior. |
145
146The components that additionally apply to bugs include:
147
148| Component | Description |
149| --- | --- |
150| Enterprise | Bugs that mainly affect enterprise environments: enterprise policies, intranet handling, etc. |
151| Tests>{Disabled,Failed,Missing,Flaky} | Bugs related to failing tests or lack of test coverage. |
152| UI>Browser>Search | Bugs related to web search in general whose effects aren’t limited to the omnibox. |
153
154The subcomponents of omnibox bugs include:
155
156| Subcomponent | Description |
157| --- | --- |
158| UI>Browser>Omnibox>AiS | Answers in Suggest. |
159| UI>Browser>Omnibox>SecurityIndicators | Secure/insecure icons; triaged by another team. |
160| UI>Browser>Omnibox>TabToSearch | Custom search engines, omnibox extensions, etc. (including adding, triggering, ranking, etc. for them). |
161| UI>Browser>Omnibox>ZeroSuggest | Suggestions displayed on omnibox focus (both contextual and non-contextual). |
162
163If the bug is extremely low priority, set the **NextAction field** to
164**01/09/2018** and mention that we will "reassess" the bug next year. This
165NextAction field is for Priority-3 bugs that are somehow less important than
166other *priority-3* bugs. These are bugs we’re sure no one on the team intends
167to fix this year (e.g., really unimportant, or mostly unimportant and hard to
168fix). This label should be applied only when confident the whole team will
169agree with you. When searching the bugs database for things to do, I suggest
170excluding bugs on this hotlist.)
171
172# Appendix
173
174## Example request for chrome://omnibox data
175
176> Please submit chrome://omnibox output for “\_\_\_”. Check both the "show
177> all details" and "show results per provider" boxes. This will help us
178> figure out what's going on.
179>
180> Feel free to paste the results in here unformatted; we’ll be able to
181> decipher them.
182
183## Commonly referenced bugs
184
185* “I want the option to turn off inline autocomplete.” Dup against
186 [crbug/91378](https://bugs.chromium.org/p/chromium/issues/detail?id=91378).
187
188 * Try to understand the motivation of the user making the request. Please
189 ask the user for examples, with chrome://omnibox detail, of times where the
190 omnibox doesn’t do what they want. Ideally we should be able make to make the
191 omnibox smart enough that such a feature isn’t necessary.
192
193* “I typed in something like go/foo and got redirected to a search results page
194 instead.” See
195 [this internal page](https://docs.google.com/document/d/140jmrHfC9BiNUbHEmUF4ajJ8Zpbc7qd5fjTBulH3I5g/edit#).
196 Follow the guidelines there; generally ask about a message about profile
197 corruption. If so, the bug can be dupped against
198 [crbug/665253](https://bugs.chromium.org/p/chromium/issues/detail?id=665253)
199
200 * … and no “Did you mean?” infobar appears. This is likely prerendering; see
201 [crbug/247848](https://bugs.chromium.org/p/chromium/issues/detail?id=247848)
202
203* “I want to disable suggestions from appearing entirely”. Try to find out
204 why. Quote freely from
205 [pkasting’s comment on this bug](https://bugs.chromium.org/p/chromium/issues/detail?id=702850#c16).
206
207# References
208
209[General Chromium bug triage guidelines](http://www.chromium.org/getting-involved/bug-triage)
210
211[Omnibox bugs that we intend/hope to tackle this year](https://bugs.chromium.org/p/chromium/issues/list?can=1&q=component%3AUI%3EBrowser%3EOmnibox+-component%3AUI%3EBrowser%3EOmnibox%3ESecurityIndicators+status%3AAvailable%2CAssigned%2CStarted+NextAction%3C2018%2F1%2F1+OR+component%3AUI%3EBrowser%3EOmnibox+-component%3AUI%3EBrowser%3EOmnibox%3ESecurityIndicators+status%3AAvailable%2CAssigned%2CStarted+-has%3ANextAction+&colspec=ID+Pri+M+Stars+ReleaseBlock+Component+Status+Owner+Summary+OS+Modified&x=m&y=releaseblock&cells=ids),
212broken down:
213
214* [User-facing](https://bugs.chromium.org/p/chromium/issues/list?can=1&q=component%3AUI%3EBrowser%3EOmnibox+-component%3AUI%3EBrowser%3EOmnibox%3ESecurityIndicators+status%3AAvailable%2CAssigned%2CStarted+-Hotlist%3DCodeHealth+-Hotlist%3DRefactoring+-component%3ATest+NextAction%3C2018%2F1%2F1+OR+component%3AUI%3EBrowser%3EOmnibox+-component%3AUI%3EBrowser%3EOmnibox%3ESecurityIndicators+status%3AAvailable%2CAssigned%2CStarted+-Hotlist%3DCodeHealth+-Hotlist%3DRefactoring+-component%3ATest+-has%3ANextAction&colspec=ID+Pri+M+Stars+ReleaseBlock+Component+Status+Owner+Summary+OS+Modified&x=m&y=releaseblock&cells=ids)
215 (everything not tagged as one of the non-user-facing categories below). Some
216 of these can be further categorized: Performance, Polish, Enterprise, Answers
217 in Suggest, Tab To Search, Zero Suggest.
218
219* Non user-facing, divided into these categories:
220
221 * [Code health](https://bugs.chromium.org/p/chromium/issues/list?can=1&q=component%3AUI%3EBrowser%3EOmnibox+-component%3AUI%3EBrowser%3EOmnibox%3ESecurityIndicators+status%3AAvailable%2CAssigned%2CStarted+NextAction%3C2018%2F1%2F1+OR+component%3AUI%3EBrowser%3EOmnibox+-component%3AUI%3EBrowser%3EOmnibox%3ESecurityIndicators+status%3AAvailable%2CAssigned%2CStarted+-has%3ANextAction+&colspec=ID+Pri+M+Stars+ReleaseBlock+Component+Status+Owner+Summary+OS+Modified&x=m&y=releaseblock&cells=ids)
222
223 * [Refactoring](https://bugs.chromium.org/p/chromium/issues/list?can=1&q=component%3AUI%3EBrowser%3EOmnibox+-component%3AUI%3EBrowser%3EOmnibox%3ESecurityIndicators+status%3AAvailable%2CAssigned%2CStarted+Hotlist%3DRefactoring+NextAction%3C2018%2F1%2F1+OR+component%3AUI%3EBrowser%3EOmnibox+-component%3AUI%3EBrowser%3EOmnibox%3ESecurityIndicators+status%3AAvailable%2CAssigned%2CStarted+Hotlist%3DRefactoring+-has%3ANextAction&colspec=ID+Pri+M+Stars+ReleaseBlock+Component+Status+Owner+Summary+OS+Modified&x=m&y=releaseblock&cells=ids)
224
225 * [Testing](https://bugs.chromium.org/p/chromium/issues/list?can=1&q=component%3AUI%3EBrowser%3EOmnibox+-component%3AUI%3EBrowser%3EOmnibox%3ESecurityIndicators+status%3AAvailable%2CAssigned%2CStarted+component%3ATests+NextAction%3C2018%2F1%2F1+OR+component%3AUI%3EBrowser%3EOmnibox+-component%3AUI%3EBrowser%3EOmnibox%3ESecurityIndicators+status%3AAvailable%2CAssigned%2CStarted+component%3ATests+-has%3ANextAction&colspec=ID+Pri+M+Stars+ReleaseBlock+Component+Status+Owner+Summary+OS+Modified&x=m&y=releaseblock&cells=ids)