From 9b09cc66e40489d34796dc43de89a71aa1ba818d Mon Sep 17 00:00:00 2001 From: James Graham Date: Thu, 25 Jun 2026 17:30:17 +0100 Subject: [PATCH] Don't file perfherder bugs in `Web Compatibility :: Site Reports` This component is only for site reports, any perf regression must have come from an intervention, so put the bugs in the right component for interventions. This adds a generic mechanism for overridding the product/component of bugs, in case this same use case comes up in another context. --- ui/perfherder/alerts/StatusDropdown.jsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ui/perfherder/alerts/StatusDropdown.jsx b/ui/perfherder/alerts/StatusDropdown.jsx index e69f56b88f0..e38c69ec3ca 100644 --- a/ui/perfherder/alerts/StatusDropdown.jsx +++ b/ui/perfherder/alerts/StatusDropdown.jsx @@ -154,13 +154,14 @@ export default class StatusDropdown extends React.Component { if (!culpritDetails.failureStatus) { let cc = culpritDetails.ccList.add(result.cc_list); + const [product, component] = this.getBugComponent(culpritDetails); cc = Array.from(cc); defaultParams = { ...defaultParams, cc, needinfo_from: culpritDetails.needinfoFrom, - component: culpritDetails.component, - product: culpritDetails.product, + component: component, + product: product, regressed_by: culpritId, }; } @@ -188,6 +189,13 @@ export default class StatusDropdown extends React.Component { }; }; + getBugComponent= (culpritDetails) => { + const overrides = new Map(); + overrides.set(["Web Compatbility", "Site Reports"], ["Web Compatbility", "Interventions"]); + const inputs = [culpritDetails.product, culpritDetails.component]; + return overrides.get(inputs) ?? inputs; + } + getTemplateArgs( frameworks, alertSummary,