{"action":"created","issue":{"url":"https://api.github.com/repos/mirage/mirage/issues/399","repository_url":"https://api.github.com/repos/mirage/mirage","labels_url":"https://api.github.com/repos/mirage/mirage/issues/399/labels{/name}","comments_url":"https://api.github.com/repos/mirage/mirage/issues/399/comments","events_url":"https://api.github.com/repos/mirage/mirage/issues/399/events","html_url":"https://github.com/mirage/mirage/issues/399","id":73391219,"number":399,"title":"Improve the Channel API","user":{"login":"samoht","id":103693,"avatar_url":"https://avatars.githubusercontent.com/u/103693?v=3","gravatar_id":"","url":"https://api.github.com/users/samoht","html_url":"https://github.com/samoht","followers_url":"https://api.github.com/users/samoht/followers","following_url":"https://api.github.com/users/samoht/following{/other_user}","gists_url":"https://api.github.com/users/samoht/gists{/gist_id}","starred_url":"https://api.github.com/users/samoht/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/samoht/subscriptions","organizations_url":"https://api.github.com/users/samoht/orgs","repos_url":"https://api.github.com/users/samoht/repos","events_url":"https://api.github.com/users/samoht/events{/privacy}","received_events_url":"https://api.github.com/users/samoht/received_events","type":"User","site_admin":false},"labels":[{"id":71378113,"url":"https://api.github.com/repos/mirage/mirage/labels/breaks%20compatibility","name":"breaks compatibility","color":"fbca04","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/mirage/mirage/milestones/8","html_url":"https://github.com/mirage/mirage/milestone/8","labels_url":"https://api.github.com/repos/mirage/mirage/milestones/8/labels","id":2006527,"number":8,"title":"mirage 3.0.0","description":"","creator":{"login":"yomimono","id":4086825,"avatar_url":"https://avatars.githubusercontent.com/u/4086825?v=3","gravatar_id":"","url":"https://api.github.com/users/yomimono","html_url":"https://github.com/yomimono","followers_url":"https://api.github.com/users/yomimono/followers","following_url":"https://api.github.com/users/yomimono/following{/other_user}","gists_url":"https://api.github.com/users/yomimono/gists{/gist_id}","starred_url":"https://api.github.com/users/yomimono/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yomimono/subscriptions","organizations_url":"https://api.github.com/users/yomimono/orgs","repos_url":"https://api.github.com/users/yomimono/repos","events_url":"https://api.github.com/users/yomimono/events{/privacy}","received_events_url":"https://api.github.com/users/yomimono/received_events","type":"User","site_admin":false},"open_issues":26,"closed_issues":22,"state":"open","created_at":"2016-09-15T11:49:46Z","updated_at":"2016-12-10T13:52:51Z","due_on":null,"closed_at":null},"comments":7,"created_at":"2015-05-05T18:27:41Z","updated_at":"2016-12-10T13:52:51Z","closed_at":"2016-12-10T13:52:51Z","body":"- [x] create a separate project to host `mirage-tcpip/channel`\n- [ ] remove API inconsistencies (see https://github.com/mirage/mirage-dev/pull/69#issuecomment-99161560)\n\n> from @talex5: I wonder if we should track these problems in case they indicate a bad API. In the channel API's read_until it seems that there are three outcomes:\n> \n> The character is found and the string up to there is returned (true, result)\n> The character is not found yet, but there will be more input later, so check again (false, nonempty_buf)\n> The character will never be found, so give up (false, empty_buf)\n> Perhaps we should represent this with three variants? (e.g. Found of buffer | Cont of buffer | End_of_file) Although that does introduce an \"impossible\" result of (Cont empty_buffer).\n"},"comment":{"url":"https://api.github.com/repos/mirage/mirage/issues/comments/266210003","html_url":"https://github.com/mirage/mirage/issues/399#issuecomment-266210003","issue_url":"https://api.github.com/repos/mirage/mirage/issues/399","id":266210003,"user":{"login":"hannesm","id":228456,"avatar_url":"https://avatars.githubusercontent.com/u/228456?v=3","gravatar_id":"","url":"https://api.github.com/users/hannesm","html_url":"https://github.com/hannesm","followers_url":"https://api.github.com/users/hannesm/followers","following_url":"https://api.github.com/users/hannesm/following{/other_user}","gists_url":"https://api.github.com/users/hannesm/gists{/gist_id}","starred_url":"https://api.github.com/users/hannesm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hannesm/subscriptions","organizations_url":"https://api.github.com/users/hannesm/orgs","repos_url":"https://api.github.com/users/hannesm/repos","events_url":"https://api.github.com/users/hannesm/events{/privacy}","received_events_url":"https://api.github.com/users/hannesm/received_events","type":"User","site_admin":false},"created_at":"2016-12-10T13:52:51Z","updated_at":"2016-12-10T13:52:51Z","body":"fixed in #702 AFAICS"}}
{"actor":{"display_login":"hannesm"}}