{"action":"created","issue":{"url":"https://api.github.com/repos/ReactiveX/rxjs/issues/2135","repository_url":"https://api.github.com/repos/ReactiveX/rxjs","labels_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/2135/labels{/name}","comments_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/2135/comments","events_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/2135/events","html_url":"https://github.com/ReactiveX/rxjs/pull/2135","id":189551045,"number":2135,"title":"Cancel scheduled timeout work, if no longer needed","user":{"login":"jayphelps","id":762949,"avatar_url":"https://avatars.githubusercontent.com/u/762949?v=3","gravatar_id":"","url":"https://api.github.com/users/jayphelps","html_url":"https://github.com/jayphelps","followers_url":"https://api.github.com/users/jayphelps/followers","following_url":"https://api.github.com/users/jayphelps/following{/other_user}","gists_url":"https://api.github.com/users/jayphelps/gists{/gist_id}","starred_url":"https://api.github.com/users/jayphelps/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jayphelps/subscriptions","organizations_url":"https://api.github.com/users/jayphelps/orgs","repos_url":"https://api.github.com/users/jayphelps/repos","events_url":"https://api.github.com/users/jayphelps/events{/privacy}","received_events_url":"https://api.github.com/users/jayphelps/received_events","type":"User","site_admin":false},"labels":[{"id":449077953,"url":"https://api.github.com/repos/ReactiveX/rxjs/labels/PR:%20DO%20NOT%20MERGE%20YET%20PLZ","name":"PR: DO NOT MERGE YET PLZ","color":"e11d21","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2016-11-16T00:47:09Z","updated_at":"2016-11-29T08:56:21Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ReactiveX/rxjs/pulls/2135","html_url":"https://github.com/ReactiveX/rxjs/pull/2135","diff_url":"https://github.com/ReactiveX/rxjs/pull/2135.diff","patch_url":"https://github.com/ReactiveX/rxjs/pull/2135.patch"},"body":"Fixes #2134\r\n\r\nThis ties the action subscription returned from a call to `schedule()` to the lifespan of the subscriber, so it handles error/complete. On reschedules it more explicitly cancels, if there's an existing.\r\n\r\n***\r\n\r\nI _think_ this fixes it, but to be honest, I can't be sure. It's not immediately clear _how_ to test it. At first glance, it doesn't appear we're testing this possible bug in the other operators which could have similar problems. e.g. debounceTime. So other operators could be hiding the fact that they don't clean up properly, because of guards in their work callback, or the subscriptions that protect against values continuing after error/complete.\r\n\r\nI tried peeking into the internals of TestScheduler to see if maybe I could grab a reference to the `VirtualAction` and check `action.pending`, but _because_ it's entirely virtual, the action comes and goes only inside a `testScheduler.flush()`.\r\n\r\nPerhaps @trxcllnt aka Mr. Scheduler can halp?"},"comment":{"url":"https://api.github.com/repos/ReactiveX/rxjs/issues/comments/263512579","html_url":"https://github.com/ReactiveX/rxjs/pull/2135#issuecomment-263512579","issue_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/2135","id":263512579,"user":{"login":"trxcllnt","id":178183,"avatar_url":"https://avatars.githubusercontent.com/u/178183?v=3","gravatar_id":"","url":"https://api.github.com/users/trxcllnt","html_url":"https://github.com/trxcllnt","followers_url":"https://api.github.com/users/trxcllnt/followers","following_url":"https://api.github.com/users/trxcllnt/following{/other_user}","gists_url":"https://api.github.com/users/trxcllnt/gists{/gist_id}","starred_url":"https://api.github.com/users/trxcllnt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trxcllnt/subscriptions","organizations_url":"https://api.github.com/users/trxcllnt/orgs","repos_url":"https://api.github.com/users/trxcllnt/repos","events_url":"https://api.github.com/users/trxcllnt/events{/privacy}","received_events_url":"https://api.github.com/users/trxcllnt/received_events","type":"User","site_admin":false},"created_at":"2016-11-29T08:56:21Z","updated_at":"2016-11-29T08:56:21Z","body":"@jayphelps I fixed the lint, rebased, tried and failed to push straight to this PR ref (GH doesn't like that), so I re-PR'd to your timeout branch. "}}
{"actor":{"display_login":"trxcllnt"}}