{"action":"created","issue":{"url":"https://api.github.com/repos/OctoLinker/browser-extension/issues/100","repository_url":"https://api.github.com/repos/OctoLinker/browser-extension","labels_url":"https://api.github.com/repos/OctoLinker/browser-extension/issues/100/labels{/name}","comments_url":"https://api.github.com/repos/OctoLinker/browser-extension/issues/100/comments","events_url":"https://api.github.com/repos/OctoLinker/browser-extension/issues/100/events","html_url":"https://github.com/OctoLinker/browser-extension/pull/100","id":160532474,"number":100,"title":"Add Firefox support","user":{"login":"stefanbuck","id":1393946,"avatar_url":"https://avatars.githubusercontent.com/u/1393946?v=3","gravatar_id":"","url":"https://api.github.com/users/stefanbuck","html_url":"https://github.com/stefanbuck","followers_url":"https://api.github.com/users/stefanbuck/followers","following_url":"https://api.github.com/users/stefanbuck/following{/other_user}","gists_url":"https://api.github.com/users/stefanbuck/gists{/gist_id}","starred_url":"https://api.github.com/users/stefanbuck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stefanbuck/subscriptions","organizations_url":"https://api.github.com/users/stefanbuck/orgs","repos_url":"https://api.github.com/users/stefanbuck/repos","events_url":"https://api.github.com/users/stefanbuck/events{/privacy}","received_events_url":"https://api.github.com/users/stefanbuck/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2016-06-15T21:51:27Z","updated_at":"2016-06-18T08:03:06Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/OctoLinker/browser-extension/pulls/100","html_url":"https://github.com/OctoLinker/browser-extension/pull/100","diff_url":"https://github.com/OctoLinker/browser-extension/pull/100.diff","patch_url":"https://github.com/OctoLinker/browser-extension/pull/100.patch"},"body":"![](https://media2.giphy.com/media/BmJafHlSK4J6o/200w.gif)\r\n\r\nThis PR adds the Firefox version of the OctoLinker extension. To build the Firefox version run `npm run build-firefox`. To build a release version run `npm run dist-firefox` or `npm run dist-all` to build Chrome + Firefox.\r\n\r\nIn order to make the Firefox version working some changes in the request layer were needed. Firefox behaves a bit different in terms of [CSP](https://developer.mozilla.org/en-US/docs/Web/Security/CSP) than Chrome. By that, a request to the [OctoLinker server](https://githublinker.herokuapp.com/) wasn't possible from the [content script](http://stackoverflow.com/a/12972014). Luckily the reuqest can still be made with a background script. Therefore I dropped the `try-load` package and move the logic from there to `background.js`. To keep it consistent and easy, all requests (even in Chrome) are using the background script to load data. "},"comment":{"url":"https://api.github.com/repos/OctoLinker/browser-extension/issues/comments/226928437","html_url":"https://github.com/OctoLinker/browser-extension/pull/100#issuecomment-226928437","issue_url":"https://api.github.com/repos/OctoLinker/browser-extension/issues/100","id":226928437,"user":{"login":"stefanbuck","id":1393946,"avatar_url":"https://avatars.githubusercontent.com/u/1393946?v=3","gravatar_id":"","url":"https://api.github.com/users/stefanbuck","html_url":"https://github.com/stefanbuck","followers_url":"https://api.github.com/users/stefanbuck/followers","following_url":"https://api.github.com/users/stefanbuck/following{/other_user}","gists_url":"https://api.github.com/users/stefanbuck/gists{/gist_id}","starred_url":"https://api.github.com/users/stefanbuck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stefanbuck/subscriptions","organizations_url":"https://api.github.com/users/stefanbuck/orgs","repos_url":"https://api.github.com/users/stefanbuck/repos","events_url":"https://api.github.com/users/stefanbuck/events{/privacy}","received_events_url":"https://api.github.com/users/stefanbuck/received_events","type":"User","site_admin":false},"created_at":"2016-06-18T08:03:06Z","updated_at":"2016-06-18T08:03:06Z","body":"@josephfrazier found the problem why the extension was hanging after a click.  `chrome.runtime.onMessage.hasListeners` is not supported in the WebExtension API. Removed the function and implemented a flag to determine if the eventHandler is already added or not."}}
{"actor":{"display_login":"stefanbuck"}}