{"action":"created","issue":{"url":"https://api.github.com/repos/angular/angular/issues/13029","repository_url":"https://api.github.com/repos/angular/angular","labels_url":"https://api.github.com/repos/angular/angular/issues/13029/labels{/name}","comments_url":"https://api.github.com/repos/angular/angular/issues/13029/comments","events_url":"https://api.github.com/repos/angular/angular/issues/13029/events","html_url":"https://github.com/angular/angular/issues/13029","id":191013692,"number":13029,"title":"Observable.timeout Zone interference","user":{"login":"tiagoroldao","id":1634026,"avatar_url":"https://avatars.githubusercontent.com/u/1634026?v=3","gravatar_id":"","url":"https://api.github.com/users/tiagoroldao","html_url":"https://github.com/tiagoroldao","followers_url":"https://api.github.com/users/tiagoroldao/followers","following_url":"https://api.github.com/users/tiagoroldao/following{/other_user}","gists_url":"https://api.github.com/users/tiagoroldao/gists{/gist_id}","starred_url":"https://api.github.com/users/tiagoroldao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tiagoroldao/subscriptions","organizations_url":"https://api.github.com/users/tiagoroldao/orgs","repos_url":"https://api.github.com/users/tiagoroldao/repos","events_url":"https://api.github.com/users/tiagoroldao/events{/privacy}","received_events_url":"https://api.github.com/users/tiagoroldao/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-11-22T13:56:22Z","updated_at":"2016-11-23T10:26:35Z","closed_at":"2016-11-23T00:27:09Z","body":"**I'm submitting a ...**  (check one with \"x\")\r\n```\r\n[x] bug report => search github for a similar issue or PR before submitting\r\n[ ] feature request\r\n[ ] support request => Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question\r\n```\r\n\r\n**Current behavior**\r\nWhen using `Observable.timeout` the inherent subscription is caught by the angularZone, and isn't cleaned up after the original source is closed. \r\nAs a result, if a timeout of 10s is in an Observable chain, the app is marked untestable during that period, regardless of wether or not the Observable has resolved and finished before that time.\r\n\r\n**Expected behavior**\r\nAfter the original source closes, application should be stable regardless of timeout status.\r\n\r\n**Minimal reproduction of the problem with instructions**\r\nPlunkr showing problem: https://plnkr.co/edit/3QA9lGuFBq5yuAFdJ32E?p=preview\r\n\r\nTick `Subscription with Late Timeout` to see it happening, in a subscription for a 1 second timer, and a timeout of 5 seconds\r\n\r\n**What is the motivation / use case for changing the behavior?**\r\n- Timeout is used frequently for asynchronous calls. \r\n- Behaviour prevents proper testing due to protractor timeouts, and isn't easily solvable through `runOutsideAngular` as the source Observable is often intended to run within the app\r\n\r\n**Please tell us about your environment:**\r\nMacOS, tested in Chrome\r\n\r\n* **Angular version:** 2.2.1\r\n\r\n* **Browser:** presumed all (only tested in Chrome, not browser-specific)\r\n \r\n* **Language:** TypeScript\r\n\r\n* **Notes:**\r\nThis is due to how RxJS currently works - this operator starts their own subscription, that cancels the original source if it is not closed when it resolves. \r\nTested with the angular required version, but upon looking at `rxjs`'s source, is still an issue with the latest RC candidate."},"comment":{"url":"https://api.github.com/repos/angular/angular/issues/comments/262478209","html_url":"https://github.com/angular/angular/issues/13029#issuecomment-262478209","issue_url":"https://api.github.com/repos/angular/angular/issues/13029","id":262478209,"user":{"login":"gdi2290","id":1016365,"avatar_url":"https://avatars.githubusercontent.com/u/1016365?v=3","gravatar_id":"","url":"https://api.github.com/users/gdi2290","html_url":"https://github.com/gdi2290","followers_url":"https://api.github.com/users/gdi2290/followers","following_url":"https://api.github.com/users/gdi2290/following{/other_user}","gists_url":"https://api.github.com/users/gdi2290/gists{/gist_id}","starred_url":"https://api.github.com/users/gdi2290/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gdi2290/subscriptions","organizations_url":"https://api.github.com/users/gdi2290/orgs","repos_url":"https://api.github.com/users/gdi2290/repos","events_url":"https://api.github.com/users/gdi2290/events{/privacy}","received_events_url":"https://api.github.com/users/gdi2290/received_events","type":"User","site_admin":false},"created_at":"2016-11-23T10:26:35Z","updated_at":"2016-11-23T10:26:35Z","body":"actually, this won't be fixed until rxjs releases their fix and angular updates their peer dep but I'll mention this is another issue"}}
{"actor":{"display_login":"gdi2290"}}