{"action":"closed","issue":{"url":"https://api.github.com/repos/nteract/nteract/issues/497","repository_url":"https://api.github.com/repos/nteract/nteract","labels_url":"https://api.github.com/repos/nteract/nteract/issues/497/labels{/name}","comments_url":"https://api.github.com/repos/nteract/nteract/issues/497/comments","events_url":"https://api.github.com/repos/nteract/nteract/issues/497/events","html_url":"https://github.com/nteract/nteract/issues/497","id":156305864,"number":497,"title":"Clean up execution subscription","user":{"login":"rgbkrk","id":836375,"avatar_url":"https://avatars.githubusercontent.com/u/836375?v=3","gravatar_id":"","url":"https://api.github.com/users/rgbkrk","html_url":"https://github.com/rgbkrk","followers_url":"https://api.github.com/users/rgbkrk/followers","following_url":"https://api.github.com/users/rgbkrk/following{/other_user}","gists_url":"https://api.github.com/users/rgbkrk/gists{/gist_id}","starred_url":"https://api.github.com/users/rgbkrk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rgbkrk/subscriptions","organizations_url":"https://api.github.com/users/rgbkrk/orgs","repos_url":"https://api.github.com/users/rgbkrk/repos","events_url":"https://api.github.com/users/rgbkrk/events{/privacy}","received_events_url":"https://api.github.com/users/rgbkrk/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-05-23T15:48:17Z","updated_at":"2016-08-20T22:21:11Z","closed_at":"2016-08-20T22:21:11Z","body":"Execution per cell needs to be cleaned up whenever\r\n\r\n* [x] new code is run (#498)\r\n* [x] cell is deleted (#617)\r\n* [ ] kernel is restarted\r\n\r\nWe've got a great assist via these cancellable action generating Observables via `redux-observable`.\r\n\r\nExample setup:\r\n\r\n```js\r\ndispatch({ type: 'ABORT_EXECUTION', id });\r\ndispatch(\r\n  (actions) =>\r\n    agendas.executeCell(channels, id, source)\r\n      .takeUntil(\r\n        actions.filter(x => x.type === 'ABORT_EXECUTION' && x.id === id)\r\n      )\r\n);\r\n```"}}
{"actor":{"display_login":"rgbkrk"}}