JavaScript:Bugzilla
This page explains how the JavaScript Team uses Bugzilla.
Bugzilla components
- Core::JavaScript Engine
- Core::JavaScript Engine: JIT
- Core::JavaScript: GC
- Core::JavaScript: Internationalization API
- Core::JavaScript: Standard Library
- Core::Javascript: Web Assembly
- Core::js-ctypes
Review flags
The JS team uses the review flags the same way as the rest of Gecko developer. The only difference is the lack of "r-" when a review needs to be revisited, instead the review request is canceled with comments. The "r-" flag is used only in a few cases where multiple reviewers are requested on the same patch, and one of them is opposed to the changes.
Whiteboard flags
A few whiteboard flags are used today in the JS components:
- [#jsapi:crashes-retriage] Used for crash-stat crashes which might be harder to investigate alone. This whiteboard tag is used to cluster the analysis of crash-stat reports. (Owner: Ted Campbell)
- [qf] Used for any performance regression/improvement which can be part of the Quantum Flow effort of fixing known bugs. (Owner: Kannan Vijayan) These bugs are later sorted by the performance team into [qf:p1], [qf:p2] and [qf:p3]
- [arm64:m...] Used to track milestone blocker bugs for ARM64 Fennec and GeckoView.
- [lang={c++,py,js}] Is used in tandem with the good-first-bugs keyword to list this bug as in BugsAhoy!.
As a convention, anybody can follow the following naming for using the whiteboard to improve Bugzilla searches. However, note that whiteboard searches are not indexed in Bugzilla databases and this might lead to performance issues.
- [:nick:...] Used by the user :nick for managing bugs.
- [#channel:...] Used by members of the IRC #channel for managing bugs.
Priority Flags
Priority flags are set based on the current goals. The list of goals can be found in the JS Team document which list all the goals. The addon bugzilla triage helper can be used to set the P1, P2, P3 and P5 (no P4) flags
- P1: P1 goals or blockers, Security issues. (to be fixed ASAP)
- P2: P2 goals or blockers. (scheduled to be fixed in an upcoming version)
- P3: P3 goals or blockers. (backlog; to be fixed one day)
- P5: (not a priority for Firefox product; might never be fixed)
The Firefox Bug Handling page describes the logic to follow to set the priority flag and status flags.
Triage
The triage effort is currently held by the triage owners, and supported by Jason Orendorff and Nicolas B. Pierron. They mainly work off the following lists:
- List of non-prioritized bugs - This list is used to set the missing priority flags and whiteboard flags to the corresponding bugs and sometimes needinfo? people.
- Are We Triaged Yet - Scroll down to the bottom, under "Pending Untriaged (defects only)". This reports per-component the number of bugs which need to be triaged.
- Regressions - The queries there are used by the regression triage meeting. Convenient summary query for 67-68-69 regressions
- Security bugs - Also, this query is the same but not limited to sec-high and sec-critical bugs
P1 re-triage
A weekly meeting is held every Thursday to re-triage P1 which have seen no activity for a while. The following searches are lists of non-meta and non-stalled P1 issues affecting Firefox VV.
In this case affecting means: status-firefoxVV == affected || (status-firefoxVV is-empty && creation-date <= betaVV-merge-date). To avoid re-iterating over iterating every weeks over the same bugs, we filter out bugs which have been changed in the last 10 days.
- List of P1 affecting Firefox 75
- List of P1 affecting Firefox 74
- List of P1 affecting Firefox 70
- List of P1 affecting Firefox 67
- List of P1 affecting Firefox 66
- List of P1 affecting Firefox 65
- List of P1 affecting Firefox 64
- List of P1 affecting Firefox 63
- List of P1 affecting Firefox 62
- List of P1 affecting Firefox 61
- List of P1 affecting Firefox 60