diff options
Diffstat (limited to 'source/features')
-rw-r--r-- | source/features/hide-own-stars.tsx | 4 | ||||
-rw-r--r-- | source/features/linkify-branch-refs.tsx | 5 | ||||
-rw-r--r-- | source/features/mark-unread.tsx | 4 | ||||
-rw-r--r-- | source/features/more-dropdown.tsx | 5 | ||||
-rw-r--r-- | source/features/releases-tab.tsx | 4 | ||||
-rw-r--r-- | source/features/remove-projects-tab.tsx | 4 | ||||
-rw-r--r-- | source/features/resolve-conflicts.tsx | 5 | ||||
-rw-r--r-- | source/features/sort-issues-by-update-time.tsx | 4 | ||||
-rw-r--r-- | source/features/trending-menu-item.tsx | 4 |
9 files changed, 22 insertions, 17 deletions
diff --git a/source/features/hide-own-stars.tsx b/source/features/hide-own-stars.tsx index 9c6443c6..325ecc1d 100644 --- a/source/features/hide-own-stars.tsx +++ b/source/features/hide-own-stars.tsx @@ -1,7 +1,7 @@ import select from 'select-dom'; +import elementReady from 'element-ready'; import features from '../libs/features'; import {getUsername} from '../libs/utils'; -import {safeElementReady} from '../libs/dom-utils'; const observer = new MutationObserver(([{addedNodes}]) => { // Remove events from dashboard @@ -20,7 +20,7 @@ const observer = new MutationObserver(([{addedNodes}]) => { }); async function init(): Promise<void> { - observer.observe((await safeElementReady('#dashboard .news'))!, {childList: true}); + observer.observe((await elementReady('#dashboard .news'))!, {childList: true}); } features.add({ diff --git a/source/features/linkify-branch-refs.tsx b/source/features/linkify-branch-refs.tsx index b1e07a15..cc6254fa 100644 --- a/source/features/linkify-branch-refs.tsx +++ b/source/features/linkify-branch-refs.tsx @@ -1,9 +1,10 @@ import React from 'dom-chef'; import select from 'select-dom'; +import elementReady from 'element-ready'; import features from '../libs/features'; import * as pageDetect from '../libs/page-detect'; import {getOwnerAndRepo} from '../libs/utils'; -import {safeElementReady, wrap} from '../libs/dom-utils'; +import {wrap} from '../libs/dom-utils'; function inPR(): void { let deletedBranch: string | undefined; @@ -47,7 +48,7 @@ function inPR(): void { } async function inQuickPR(): Promise<void> { - const el = await safeElementReady('.branch-name'); + const el = await elementReady('.branch-name'); if (el) { const {ownerName, repoName} = getOwnerAndRepo(); const branchUrl = `/${ownerName}/${repoName}/tree/${el.textContent}`; diff --git a/source/features/mark-unread.tsx b/source/features/mark-unread.tsx index e3a63f4c..fdcdbfce 100644 --- a/source/features/mark-unread.tsx +++ b/source/features/mark-unread.tsx @@ -1,12 +1,12 @@ import './mark-unread.css'; import React from 'dom-chef'; import select from 'select-dom'; +import elementReady from 'element-ready'; import delegate, {DelegateSubscription, DelegateEvent} from 'delegate-it'; import features from '../libs/features'; import observeEl from '../libs/simplified-element-observer'; import * as icons from '../libs/icons'; import * as pageDetect from '../libs/page-detect'; -import {safeElementReady} from '../libs/dom-utils'; import {getUsername, getOwnerAndRepo} from '../libs/utils'; type NotificationType = 'pull-request' | 'issue'; @@ -227,7 +227,7 @@ async function renderNotifications(unreadNotifications: Notification[]): Promise } // Don’t simplify selector, it’s for cross-extension compatibility - let pageList = (await safeElementReady('#notification-center .notifications-list'))!; + let pageList = (await elementReady('#notification-center .notifications-list'))!; if (!pageList) { pageList = <div className="notifications-list"></div>; diff --git a/source/features/more-dropdown.tsx b/source/features/more-dropdown.tsx index 6fec9d1d..c8f9721c 100644 --- a/source/features/more-dropdown.tsx +++ b/source/features/more-dropdown.tsx @@ -1,11 +1,12 @@ import './more-dropdown.css'; import React from 'dom-chef'; import select from 'select-dom'; +import elementReady from 'element-ready'; import features from '../libs/features'; import * as icons from '../libs/icons'; import {getRepoURL} from '../libs/utils'; import {isEnterprise} from '../libs/page-detect'; -import {appendBefore, safeElementReady} from '../libs/dom-utils'; +import {appendBefore} from '../libs/dom-utils'; const repoUrl = getRepoURL(); @@ -25,7 +26,7 @@ function createDropdown(): void { } async function init(): Promise<void> { - await safeElementReady('.pagehead + *'); // Wait for the tab bar to be loaded + await elementReady('.pagehead + *'); // Wait for the tab bar to be loaded if (!select.exists('.reponav-dropdown')) { createDropdown(); } diff --git a/source/features/releases-tab.tsx b/source/features/releases-tab.tsx index c39296e5..d82c5f74 100644 --- a/source/features/releases-tab.tsx +++ b/source/features/releases-tab.tsx @@ -1,10 +1,10 @@ import React from 'dom-chef'; import select from 'select-dom'; +import elementReady from 'element-ready'; import features from '../libs/features'; import * as icons from '../libs/icons'; import * as cache from '../libs/cache'; import {getRepoURL} from '../libs/utils'; -import {safeElementReady} from '../libs/dom-utils'; import {isRepoRoot, isReleasesOrTags} from '../libs/page-detect'; const repoUrl = getRepoURL(); @@ -25,7 +25,7 @@ async function updateReleasesCount(): Promise<number | undefined> { } async function init(): Promise<false | void> { - await safeElementReady('.pagehead + *'); // Wait for the tab bar to be loaded + await elementReady('.pagehead + *'); // Wait for the tab bar to be loaded const count = await updateReleasesCount(); if (count === 0) { return false; diff --git a/source/features/remove-projects-tab.tsx b/source/features/remove-projects-tab.tsx index c5054fe8..8eb33551 100644 --- a/source/features/remove-projects-tab.tsx +++ b/source/features/remove-projects-tab.tsx @@ -1,8 +1,8 @@ import React from 'dom-chef'; import select from 'select-dom'; import onetime from 'onetime'; +import elementReady from 'element-ready'; import features from '../libs/features'; -import {safeElementReady} from '../libs/dom-utils'; import {isUserProfile, isOwnOrganizationProfile, isOrganizationProfile} from '../libs/page-detect'; const addNewProjectLink = onetime(() => { @@ -33,7 +33,7 @@ const addNewProjectLink = onetime(() => { }); async function init(): Promise<false | void> { - await safeElementReady(` + await elementReady(` .orghead + *, .repohead + *, .user-profile-nav + * diff --git a/source/features/resolve-conflicts.tsx b/source/features/resolve-conflicts.tsx index 4cfba5f3..de364abd 100644 --- a/source/features/resolve-conflicts.tsx +++ b/source/features/resolve-conflicts.tsx @@ -4,7 +4,10 @@ import elementReady from 'element-ready'; import features from '../libs/features'; async function init(): Promise<void> { - await elementReady('.CodeMirror'); // *Not* safeElementReady + await elementReady('.CodeMirror', { + stopOnDomReady: false + }); + document.head.append(<script src={browser.runtime.getURL('resolve-conflicts.js')}/>); } diff --git a/source/features/sort-issues-by-update-time.tsx b/source/features/sort-issues-by-update-time.tsx index b22842fc..efdbbb1a 100644 --- a/source/features/sort-issues-by-update-time.tsx +++ b/source/features/sort-issues-by-update-time.tsx @@ -1,7 +1,7 @@ import select from 'select-dom'; +import elementReady from 'element-ready'; import features from '../libs/features'; import {getUsername} from '../libs/utils'; -import {safeElementReady} from '../libs/dom-utils'; function getDefaultQuery(link: HTMLAnchorElement, search: URLSearchParams): string { // Query-less URLs imply some queries. @@ -51,7 +51,7 @@ function init(): void { } async function cleanBar(): Promise<void> { - (await safeElementReady<HTMLInputElement>('.header-search-input'))!.value = ''; + (await elementReady<HTMLInputElement>('.header-search-input'))!.value = ''; } const description = 'Change the default sort order of issues and pull requests to "Recently updated"'; diff --git a/source/features/trending-menu-item.tsx b/source/features/trending-menu-item.tsx index 15322e69..dad817e1 100644 --- a/source/features/trending-menu-item.tsx +++ b/source/features/trending-menu-item.tsx @@ -1,9 +1,9 @@ import React from 'dom-chef'; +import elementReady from 'element-ready'; import features from '../libs/features'; -import {safeElementReady} from '../libs/dom-utils'; async function init(): Promise<false | void> { - const exploreLink = await safeElementReady('.Header-link[href="/explore"]'); + const exploreLink = await elementReady('.Header-link[href="/explore"]'); if (!exploreLink) { return false; } |