summaryrefslogtreecommitdiff
path: root/source/features
diff options
context:
space:
mode:
Diffstat (limited to 'source/features')
-rw-r--r--source/features/hide-own-stars.tsx4
-rw-r--r--source/features/linkify-branch-refs.tsx5
-rw-r--r--source/features/mark-unread.tsx4
-rw-r--r--source/features/more-dropdown.tsx5
-rw-r--r--source/features/releases-tab.tsx4
-rw-r--r--source/features/remove-projects-tab.tsx4
-rw-r--r--source/features/resolve-conflicts.tsx5
-rw-r--r--source/features/sort-issues-by-update-time.tsx4
-rw-r--r--source/features/trending-menu-item.tsx4
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;
}