{"action":"created","issue":{"url":"https://api.github.com/repos/fivetanley/ember-promise-helpers/issues/8","repository_url":"https://api.github.com/repos/fivetanley/ember-promise-helpers","labels_url":"https://api.github.com/repos/fivetanley/ember-promise-helpers/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/fivetanley/ember-promise-helpers/issues/8/comments","events_url":"https://api.github.com/repos/fivetanley/ember-promise-helpers/issues/8/events","html_url":"https://github.com/fivetanley/ember-promise-helpers/pull/8","id":142243298,"number":8,"title":"Correctness and performance improvements","user":{"login":"ef4","id":319282,"avatar_url":"https://avatars.githubusercontent.com/u/319282?v=3","gravatar_id":"","url":"https://api.github.com/users/ef4","html_url":"https://github.com/ef4","followers_url":"https://api.github.com/users/ef4/followers","following_url":"https://api.github.com/users/ef4/following{/other_user}","gists_url":"https://api.github.com/users/ef4/gists{/gist_id}","starred_url":"https://api.github.com/users/ef4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ef4/subscriptions","organizations_url":"https://api.github.com/users/ef4/orgs","repos_url":"https://api.github.com/users/ef4/repos","events_url":"https://api.github.com/users/ef4/events{/privacy}","received_events_url":"https://api.github.com/users/ef4/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-03-21T03:15:35Z","updated_at":"2016-03-21T03:25:36Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/fivetanley/ember-promise-helpers/pulls/8","html_url":"https://github.com/fivetanley/ember-promise-helpers/pull/8","diff_url":"https://github.com/fivetanley/ember-promise-helpers/pull/8.diff","patch_url":"https://github.com/fivetanley/ember-promise-helpers/pull/8.patch"},"body":"This PR fixes two bugs and one performance issue.\r\n\r\n 1. When passed a non-promise value, the `await` helper stayed unsettled forever.\r\n\r\n 2. When passed any promise that isn't a pure RSVP.Promise, the wrapping caused by `Promise.resolve()` was causing the equality check in `allowUpdates` to fail, so the helper output would never update.\r\n\r\n 3. The `recompute` in `_unsettle` was unnecessary and it triggered an avoidable re-render. Recompute is only needed when the output needs to change while the input is not changing. An actual \"unsettle\" only happens when the input promise has changed, so we're already in the middle of recomputing anyway."},"comment":{"url":"https://api.github.com/repos/fivetanley/ember-promise-helpers/issues/comments/199097049","html_url":"https://github.com/fivetanley/ember-promise-helpers/pull/8#issuecomment-199097049","issue_url":"https://api.github.com/repos/fivetanley/ember-promise-helpers/issues/8","id":199097049,"user":{"login":"jrjohnson","id":349624,"avatar_url":"https://avatars.githubusercontent.com/u/349624?v=3","gravatar_id":"","url":"https://api.github.com/users/jrjohnson","html_url":"https://github.com/jrjohnson","followers_url":"https://api.github.com/users/jrjohnson/followers","following_url":"https://api.github.com/users/jrjohnson/following{/other_user}","gists_url":"https://api.github.com/users/jrjohnson/gists{/gist_id}","starred_url":"https://api.github.com/users/jrjohnson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrjohnson/subscriptions","organizations_url":"https://api.github.com/users/jrjohnson/orgs","repos_url":"https://api.github.com/users/jrjohnson/repos","events_url":"https://api.github.com/users/jrjohnson/events{/privacy}","received_events_url":"https://api.github.com/users/jrjohnson/received_events","type":"User","site_admin":false},"created_at":"2016-03-21T03:25:36Z","updated_at":"2016-03-21T03:25:36Z","body":"I'm guessing this will fix the issue I just found with passing in a hasMany ember data relationship or anything that uses PromiseArray - sweet!"}}