fregante / notifications-preview-github

Browser Extension: preview GitHub notifications with same page pop-overs
https://chrome.google.com/webstore/detail/github-notifications-prev/kgilejfahkjidpaclkepbdoeioeohfmj?hl=en&gl=IN
MIT License
144 stars 15 forks source link

[Symbol.iterator] is not a function #41

Closed Kikobeats closed 7 years ago

Kikobeats commented 7 years ago

Hello, when I tried to hover in the bell, it failed:

index.js:50 Uncaught (in promise) TypeError: elFrom.getAttributeNames(...)[Symbol.iterator] is not a function
    at copyAttributes (index.js:50)
    at updateUnreadIndicator (index.js:59)
    at fetchNotifications (index.js:131)
    at <anonymous>

I'm using Chrome v60

fregante commented 7 years ago

Can you pause on the exception and send me the value of elFrom?

It should be one of these two elements:

notification-indicator mail-status

Kikobeats commented 7 years ago

Thanks for provide the way!

Looks like .getAttributeNames is not available in el

screen shot 2017-09-15 at 13 09 28 screen shot 2017-09-15 at 13 09 43
Kikobeats commented 7 years ago

I'm seeing from your screen the selector is different. Could be this dependient of the GitHub Build?

Kikobeats commented 7 years ago

My bell HTML is

<ul class="user-nav d-flex flex-items-center list-style-none" id="user-links">
  <li class="dropdown js-menu-container js-header-notifications">
    <span class="d-inline-block  px-2">

      <a href="/notifications" aria-label="You have unread notifications" class="notification-indicator tooltipped tooltipped-s js-socket-channel js-notification-indicator" data-channel="notification-changed:2096101" data-ga-click="Header, go to notifications, icon:unread" data-hotkey="g n">
          <span class="mail-status unread"></span>
          <svg aria-hidden="true" class="octicon octicon-bell" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M14 12v1H0v-1l.73-.58c.77-.77.81-2.55 1.19-4.42C2.69 3.23 6 2 6 2c0-.55.45-1 1-1s1 .45 1 1c0 0 3.39 1.23 4.16 5 .38 1.88.42 3.66 1.19 4.42l.66.58H14zm-7 4c1.11 0 2-.89 2-2H5c0 1.11.89 2 2 2z"></path></svg>
</a>

        <div id="NPG-opener" class="js-menu-target"></div>
        <div id="NPG" class="dropdown-menu-content js-menu-content">
            <div id="NPG-dropdown" class="dropdown-menu dropdown-menu-sw notifications-list">
            </div>
        </div>
    </span>
  </li>

  <li class="dropdown js-menu-container">
    <details class="dropdown-details js-dropdown-details d-flex px-2 flex-items-center">
      <summary class="HeaderNavlink" aria-label="Create new…" data-ga-click="Header, create new, icon:add">
        <svg aria-hidden="true" class="octicon octicon-plus float-left mr-1 mt-1" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 9H7v5H5V9H0V7h5V2h2v5h5z"></path></svg>
        <span class="dropdown-caret mt-1"></span>
      </summary>

      <ul class="dropdown-menu dropdown-menu-sw">

<a class="dropdown-item" href="/new" data-ga-click="Header, create new repository">
  New repository
</a>

  <a class="dropdown-item" href="/new/import" data-ga-click="Header, import a repository">
    Import repository
  </a>

<a class="dropdown-item" href="https://gist.github.com/" data-ga-click="Header, create new gist">
  New gist
</a>

  <a class="dropdown-item" href="/organizations/new" data-ga-click="Header, create new organization">
    New organization
  </a>

  <div class="dropdown-divider"></div>
  <div class="dropdown-header">
    <span title="tanmayrajani/notifications-preview-github">This repository</span>
  </div>
    <a class="dropdown-item" href="/tanmayrajani/notifications-preview-github/issues/new" data-ga-click="Header, create new issue">
      New issue
    </a>

      </ul>
    </details>
  </li>

  <li class="dropdown js-menu-container">

    <details class="dropdown-details js-dropdown-details d-flex pl-2 flex-items-center">
      <summary class="HeaderNavlink name mt-1" aria-label="View profile and more" data-ga-click="Header, show menu, icon:avatar">
        <img alt="@Kikobeats" class="avatar float-left mr-1" src="https://avatars0.githubusercontent.com/u/2096101?v=4&amp;s=40" height="20" width="20">
        <span class="dropdown-caret"></span>
      </summary>

      <ul class="dropdown-menu dropdown-menu-sw">
        <li class="dropdown-header header-nav-current-user css-truncate">
          Signed in as <strong class="css-truncate-target">Kikobeats</strong>
        </li>

        <li class="dropdown-divider"></li>

        <li><a class="dropdown-item" href="/Kikobeats" data-ga-click="Header, go to profile, text:your profile">
          Your profile
        </a></li>
        <li><a class="dropdown-item" href="/Kikobeats?tab=stars" data-ga-click="Header, go to starred repos, text:your stars">
          Your stars
        </a></li>
          <li><a class="dropdown-item" href="https://gist.github.com/" data-ga-click="Header, your gists, text:your gists">Your Gists</a></li>

        <li class="dropdown-divider"></li>

        <li><a class="dropdown-item" href="https://help.github.com" data-ga-click="Header, go to help, text:help">
          Help
        </a></li>

        <li><a class="dropdown-item" href="/settings/profile" data-ga-click="Header, go to settings, icon:settings">
          Settings
        </a></li>

        <li><!-- '"` --><!-- </textarea></xmp> --><form accept-charset="UTF-8" action="/logout" class="logout-form" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓"><input name="authenticity_token" type="hidden" value="O575aXZKfx7khT7N77EWlcyHvlBkvJ96ngIDGn7p/7DlLki2u5wKpk1UYWGKqgTHQkeAAT9DKQkzTAI+1nFpVA=="></div>
          <button type="submit" class="dropdown-item dropdown-signout" data-ga-click="Header, sign out, icon:logout">
            Sign out
          </button>
        </form></li>
      </ul>
    </details>
  </li>
</ul>
tanmayrajani commented 7 years ago

As per MDN, getAttributeNames is available from Chrome 61. :cry:

fregante commented 7 years ago

Yep, fixing

fregante commented 7 years ago

Should be fixed by a2acc85 in v0.10.4

Wait for the publish :) (~20 minutes)

Kikobeats commented 7 years ago

awesome!