message: Refactor `conversation-links-on-repo-list` to use `selector-observer`
diff: import React from 'dom-chef';
  import select from 'select-dom';
  +import onetime from 'onetime';
  +import {observe} from 'selector-observer';
  import IssueIcon from 'octicon/issue-opened.svg';
  import * as pageDetect from 'github-url-detection';
  import PullRequestIcon from 'octicon/git-pull-request.svg';
  import features from '.';
  -import observeElement from '../helpers/simplified-element-observer';
  function init(): void {
  - const repositories = select.all<HTMLAnchorElement>([
  + observe([
  '[itemprop="name codeRepository"]:not(.rgh-discussion-links)', // `isUserProfileRepoTab`
  - '[data-hydro-click*=\'"model_name":"Repository"\']' // `isGlobalSearchResults`
  - ]);
  -
  - for (const repositoryLink of repositories) {
  + '[data-hydro-click*=\'"model_name":"Repository"\']:not(.rgh-discussion-links)' // `isGlobalSearchResults`
  + ].join(), {
  + constructor: HTMLAnchorElement,
  + add(repositoryLink) {
  repositoryLink.classList.add('rgh-discussion-links');
  -
  const repository = repositoryLink.closest('li')!;
  // Remove the "X issues need help" link
  @@ -37,6 +37,7 @@ function init(): void {
  </a>
  );
  }
  + });
  }
  void features.add({
  @@ -46,15 +47,8 @@ void features.add({
  }, {
  include: [
  pageDetect.isUserProfileRepoTab,
  - pageDetect.isGlobalSearchResults
  - ],
  - init
  -}, {
  - include: [
  + pageDetect.isGlobalSearchResults,
  pageDetect.isUserProfileRepoTab
  ],
  - init() {
  - observeElement('#user-repositories-list', init);
  - return false;
  - }
  + init: onetime(init)
  });
  