{"action":"created","issue":{"url":"https://api.github.com/repos/ReactiveX/rxjs/issues/2234","repository_url":"https://api.github.com/repos/ReactiveX/rxjs","labels_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/2234/labels{/name}","comments_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/2234/comments","events_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/2234/events","html_url":"https://github.com/ReactiveX/rxjs/pull/2234","id":198253363,"number":2234,"title":"fix(Subscription): Limit Subscription::closed public accessibility to readonly","user":{"login":"kwonoj","id":1210596,"avatar_url":"https://avatars.githubusercontent.com/u/1210596?v=3","gravatar_id":"","url":"https://api.github.com/users/kwonoj","html_url":"https://github.com/kwonoj","followers_url":"https://api.github.com/users/kwonoj/followers","following_url":"https://api.github.com/users/kwonoj/following{/other_user}","gists_url":"https://api.github.com/users/kwonoj/gists{/gist_id}","starred_url":"https://api.github.com/users/kwonoj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kwonoj/subscriptions","organizations_url":"https://api.github.com/users/kwonoj/orgs","repos_url":"https://api.github.com/users/kwonoj/repos","events_url":"https://api.github.com/users/kwonoj/events{/privacy}","received_events_url":"https://api.github.com/users/kwonoj/received_events","type":"User","site_admin":false},"labels":[{"id":509832816,"url":"https://api.github.com/repos/ReactiveX/rxjs/labels/PR:%20BREAKING%20CHANGE","name":"PR: BREAKING CHANGE","color":"e99695","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2017-01-01T01:37:13Z","updated_at":"2017-01-04T01:21:18Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ReactiveX/rxjs/pulls/2234","html_url":"https://github.com/ReactiveX/rxjs/pull/2234","diff_url":"https://github.com/ReactiveX/rxjs/pull/2234.diff","patch_url":"https://github.com/ReactiveX/rxjs/pull/2234.patch"},"body":"<!--\r\nThank you very much for your pull request!\r\n\r\nIf your PR is the addition of a new operator, please make sure all these boxes are ticked with an x:\r\n\r\n- [ ] Add the operator to Rx\r\n- [ ] It must have a `-spec.ts` tests file covering the canonical corner cases, with marble diagram tests\r\n- [ ] If possible, write a `asDiagram` test case too, for PNG diagram generation purposes\r\n- [ ] The spec file should have a type definition test at the end of the spec to verify type definition for various use cases\r\n- [ ] The operator must be documented in JSDoc style in the implementation file, including also the PNG marble diagram image\r\n- [ ] The operator should be listed in `doc/operators.md` in a category of operators\r\n- [ ] It should also be inserted in the operator decision tree file `doc/decision-tree-widget/tree.yml`\r\n- [ ] You may need to update `MIGRATION.md` if the operator differs from the corresponding one in RxJS v4\r\n-->\r\n\r\n**Description:**\r\n\r\nThis PR changes the signature of `ISubscription::closed` to `readonly`. \r\nCurrently, it is allowed to change state of `closed` as well as `unsubscribe()` but those two are causing different outcome by `unsubscribe` actually does necessary teardown for unsubscription, while `closed` flag only changes state flag. Instead, this PR explicitly makes given flag as getter only to read state, otherwise let use `unsubscribe()` if needed.\r\n\r\nThis is indeed breaking change if anyone has been using `closed` to control subscription state, it won't work anymore. For now, I have targeted this to master until gets reviewed and approved.\r\n\r\nBREAKING CHANGE: Cannot change closed state without unsubscribe()\r\n\r\n**Related issue (if exists):**\r\n"},"comment":{"url":"https://api.github.com/repos/ReactiveX/rxjs/issues/comments/270272283","html_url":"https://github.com/ReactiveX/rxjs/pull/2234#issuecomment-270272283","issue_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/2234","id":270272283,"user":{"login":"blesh","id":1540597,"avatar_url":"https://avatars.githubusercontent.com/u/1540597?v=3","gravatar_id":"","url":"https://api.github.com/users/blesh","html_url":"https://github.com/blesh","followers_url":"https://api.github.com/users/blesh/followers","following_url":"https://api.github.com/users/blesh/following{/other_user}","gists_url":"https://api.github.com/users/blesh/gists{/gist_id}","starred_url":"https://api.github.com/users/blesh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blesh/subscriptions","organizations_url":"https://api.github.com/users/blesh/orgs","repos_url":"https://api.github.com/users/blesh/repos","events_url":"https://api.github.com/users/blesh/events{/privacy}","received_events_url":"https://api.github.com/users/blesh/received_events","type":"User","site_admin":false},"created_at":"2017-01-04T01:21:18Z","updated_at":"2017-01-04T01:21:18Z","body":"I'm not sure why this change is necessary. How does it effect perf?"}}
{"actor":{"display_login":"blesh"}}