diff --git a/src/platforms/GitHub/DOMHelper.ts b/src/platforms/GitHub/DOMHelper.ts index c83a764..7ff7b6c 100644 --- a/src/platforms/GitHub/DOMHelper.ts +++ b/src/platforms/GitHub/DOMHelper.ts @@ -27,7 +27,8 @@ export function isInRepoPage() { export function isInCodePage() { const branchListSelector = ['#branch-select-menu', '.branch-select-menu'].join() - return Boolean($(branchListSelector)) + // The element may still exist in DOM for PR pages, but not visible + return Boolean($(branchListSelector, e => e.offsetWidth > 0 && e.offsetHeight > 0)) } export function getIssueTitle() { @@ -259,3 +260,7 @@ export function getPath() { .slice(1) // the first is the repo's name return path } + +export function isNativePRFileTreeShown() { + return $('file-tree[data-target="diff-layout.fileTree"]') +} diff --git a/src/platforms/GitHub/index.ts b/src/platforms/GitHub/index.ts index 136ee8c..4401621 100644 --- a/src/platforms/GitHub/index.ts +++ b/src/platforms/GitHub/index.ts @@ -168,7 +168,7 @@ export const GitHub: Platform = { return await getRepositoryTreeData(metaData, path, recursive, accessToken) }, shouldShow() { - return Boolean(DOMHelper.isInCodePage() || URLHelper.isInPullPage()) + return Boolean(DOMHelper.isInCodePage() || (URLHelper.isInPullPage() && !DOMHelper.isNativePRFileTreeShown())) }, shouldExpandAll() { return Boolean(URLHelper.isInPullPage())