From 61c27d4a174a2b4888369e7dee190cd53e787e31 Mon Sep 17 00:00:00 2001 From: Sebastien Ahkrin <30870051+Sebastien-Ahkrin@users.noreply.github.com> Date: Sat, 8 Aug 2026 22:37:21 +0200 Subject: [PATCH 1/2] fix(clean-conversation-headers): wait for both branch tags Closes: https://github.com/refined-github/refined-github/issues/9952 --- source/features/clean-conversation-headers.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/features/clean-conversation-headers.tsx b/source/features/clean-conversation-headers.tsx index e5154fd6af9c..d46f0651e7d9 100644 --- a/source/features/clean-conversation-headers.tsx +++ b/source/features/clean-conversation-headers.tsx @@ -122,7 +122,7 @@ async function cleanPrHeader(summaryRow: HTMLElement): Promise { async function init(signal: AbortSignal): Promise { observe( - '.d-flex[class*="PullRequestHeaderSummary"]', + '.d-flex[class*="PullRequestHeaderSummary"]:has([class^="PullRequestBranchName"] ~ div [class^="PullRequestBranchName"])', cleanPrHeader, {signal}, ); From 6a088b0a60a9e5ebe5e2908b7e1df21abe11bf09 Mon Sep 17 00:00:00 2001 From: Sebastien Ahkrin <30870051+Sebastien-Ahkrin@users.noreply.github.com> Date: Sun, 9 Aug 2026 12:12:26 +0200 Subject: [PATCH 2/2] refactor: change observe to be faster than using :has --- source/features/clean-conversation-headers.tsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/source/features/clean-conversation-headers.tsx b/source/features/clean-conversation-headers.tsx index d46f0651e7d9..a7e1342a3da7 100644 --- a/source/features/clean-conversation-headers.tsx +++ b/source/features/clean-conversation-headers.tsx @@ -4,7 +4,7 @@ import React from 'dom-chef'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; import ArrowLeftIcon from 'octicons-plain-react/ArrowLeft'; -import {$, closestElementOptional} from 'select-dom'; +import {$, closestElement, closestElementOptional} from 'select-dom'; import features from '../feature-manager.js'; import getDefaultBranch from '../github-helpers/get-default-branch.js'; @@ -90,7 +90,8 @@ function replaceFromWithArrow(base: HTMLElement): void { ); } -async function cleanPrHeader(summaryRow: HTMLElement): Promise { +async function cleanPrHeader(headRef: HTMLElement): Promise { + const summaryRow = closestElement('.d-flex[class*="PullRequestHeaderSummary"]', headRef); summaryRow.classList.add('rgh-clean-conversation-headers'); if (isStickyHeader(summaryRow)) { @@ -122,7 +123,7 @@ async function cleanPrHeader(summaryRow: HTMLElement): Promise { async function init(signal: AbortSignal): Promise { observe( - '.d-flex[class*="PullRequestHeaderSummary"]:has([class^="PullRequestBranchName"] ~ div [class^="PullRequestBranchName"])', + '[class^="PullRequestBranchName"] ~ div [class^="PullRequestBranchName"]', cleanPrHeader, {signal}, );