{"action":"opened","number":56,"pull_request":{"url":"https://api.github.com/repos/llomgui/OceanProject-Bot/pulls/56","id":86632370,"html_url":"https://github.com/llomgui/OceanProject-Bot/pull/56","diff_url":"https://github.com/llomgui/OceanProject-Bot/pull/56.diff","patch_url":"https://github.com/llomgui/OceanProject-Bot/pull/56.patch","issue_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/issues/56","number":56,"state":"open","locked":false,"title":"Fix: Socket::read() not returning a packet when $force is true","user":{"login":"XeR","id":1497203,"avatar_url":"https://avatars.githubusercontent.com/u/1497203?v=3","gravatar_id":"","url":"https://api.github.com/users/XeR","html_url":"https://github.com/XeR","followers_url":"https://api.github.com/users/XeR/followers","following_url":"https://api.github.com/users/XeR/following{/other_user}","gists_url":"https://api.github.com/users/XeR/gists{/gist_id}","starred_url":"https://api.github.com/users/XeR/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/XeR/subscriptions","organizations_url":"https://api.github.com/users/XeR/orgs","repos_url":"https://api.github.com/users/XeR/repos","events_url":"https://api.github.com/users/XeR/events{/privacy}","received_events_url":"https://api.github.com/users/XeR/received_events","type":"User","site_admin":false},"body":"In certain cases, Socket::read() may not return a packet, even though\r\n$force is set to true.\r\n\r\nThis happens when packets are relatively large (typically > 1500 bytes,\r\nheaders included). Xat's server's IP stack fragments the packet in two\r\nor more packets.\r\n\r\nIf we're lucky enough, our kernel will already have reassembled the\r\nfragmented packets when we're calling read(). Even though this is what\r\nhappens most of the time, we may call read() between two packets.\r\nThe script will therefore read the first parts of a fragmented packet.\r\n\r\nThe workaround is to wait for the socket's buffer to have a NULL byte\r\n(which is used to separate packets in xat's protocol)\r\n\r\n(This time with strpos instead of substr)","created_at":"2016-09-24T22:08:26Z","updated_at":"2016-09-24T22:08:26Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/pulls/56/commits","review_comments_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/pulls/56/comments","review_comment_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/pulls/comments{/number}","comments_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/issues/56/comments","statuses_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/statuses/31305bc6c8cb2c3e2b964237248d5c4f17a2b17f","head":{"label":"XeR:master","ref":"master","sha":"31305bc6c8cb2c3e2b964237248d5c4f17a2b17f","user":{"login":"XeR","id":1497203,"avatar_url":"https://avatars.githubusercontent.com/u/1497203?v=3","gravatar_id":"","url":"https://api.github.com/users/XeR","html_url":"https://github.com/XeR","followers_url":"https://api.github.com/users/XeR/followers","following_url":"https://api.github.com/users/XeR/following{/other_user}","gists_url":"https://api.github.com/users/XeR/gists{/gist_id}","starred_url":"https://api.github.com/users/XeR/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/XeR/subscriptions","organizations_url":"https://api.github.com/users/XeR/orgs","repos_url":"https://api.github.com/users/XeR/repos","events_url":"https://api.github.com/users/XeR/events{/privacy}","received_events_url":"https://api.github.com/users/XeR/received_events","type":"User","site_admin":false},"repo":{"id":69129297,"name":"OceanProject-Bot","full_name":"XeR/OceanProject-Bot","owner":{"login":"XeR","id":1497203,"avatar_url":"https://avatars.githubusercontent.com/u/1497203?v=3","gravatar_id":"","url":"https://api.github.com/users/XeR","html_url":"https://github.com/XeR","followers_url":"https://api.github.com/users/XeR/followers","following_url":"https://api.github.com/users/XeR/following{/other_user}","gists_url":"https://api.github.com/users/XeR/gists{/gist_id}","starred_url":"https://api.github.com/users/XeR/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/XeR/subscriptions","organizations_url":"https://api.github.com/users/XeR/orgs","repos_url":"https://api.github.com/users/XeR/repos","events_url":"https://api.github.com/users/XeR/events{/privacy}","received_events_url":"https://api.github.com/users/XeR/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/XeR/OceanProject-Bot","description":"OceanProject's bot in PHP","fork":true,"url":"https://api.github.com/repos/XeR/OceanProject-Bot","forks_url":"https://api.github.com/repos/XeR/OceanProject-Bot/forks","keys_url":"https://api.github.com/repos/XeR/OceanProject-Bot/keys{/key_id}","collaborators_url":"https://api.github.com/repos/XeR/OceanProject-Bot/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/XeR/OceanProject-Bot/teams","hooks_url":"https://api.github.com/repos/XeR/OceanProject-Bot/hooks","issue_events_url":"https://api.github.com/repos/XeR/OceanProject-Bot/issues/events{/number}","events_url":"https://api.github.com/repos/XeR/OceanProject-Bot/events","assignees_url":"https://api.github.com/repos/XeR/OceanProject-Bot/assignees{/user}","branches_url":"https://api.github.com/repos/XeR/OceanProject-Bot/branches{/branch}","tags_url":"https://api.github.com/repos/XeR/OceanProject-Bot/tags","blobs_url":"https://api.github.com/repos/XeR/OceanProject-Bot/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/XeR/OceanProject-Bot/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/XeR/OceanProject-Bot/git/refs{/sha}","trees_url":"https://api.github.com/repos/XeR/OceanProject-Bot/git/trees{/sha}","statuses_url":"https://api.github.com/repos/XeR/OceanProject-Bot/statuses/{sha}","languages_url":"https://api.github.com/repos/XeR/OceanProject-Bot/languages","stargazers_url":"https://api.github.com/repos/XeR/OceanProject-Bot/stargazers","contributors_url":"https://api.github.com/repos/XeR/OceanProject-Bot/contributors","subscribers_url":"https://api.github.com/repos/XeR/OceanProject-Bot/subscribers","subscription_url":"https://api.github.com/repos/XeR/OceanProject-Bot/subscription","commits_url":"https://api.github.com/repos/XeR/OceanProject-Bot/commits{/sha}","git_commits_url":"https://api.github.com/repos/XeR/OceanProject-Bot/git/commits{/sha}","comments_url":"https://api.github.com/repos/XeR/OceanProject-Bot/comments{/number}","issue_comment_url":"https://api.github.com/repos/XeR/OceanProject-Bot/issues/comments{/number}","contents_url":"https://api.github.com/repos/XeR/OceanProject-Bot/contents/{+path}","compare_url":"https://api.github.com/repos/XeR/OceanProject-Bot/compare/{base}...{head}","merges_url":"https://api.github.com/repos/XeR/OceanProject-Bot/merges","archive_url":"https://api.github.com/repos/XeR/OceanProject-Bot/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/XeR/OceanProject-Bot/downloads","issues_url":"https://api.github.com/repos/XeR/OceanProject-Bot/issues{/number}","pulls_url":"https://api.github.com/repos/XeR/OceanProject-Bot/pulls{/number}","milestones_url":"https://api.github.com/repos/XeR/OceanProject-Bot/milestones{/number}","notifications_url":"https://api.github.com/repos/XeR/OceanProject-Bot/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/XeR/OceanProject-Bot/labels{/name}","releases_url":"https://api.github.com/repos/XeR/OceanProject-Bot/releases{/id}","deployments_url":"https://api.github.com/repos/XeR/OceanProject-Bot/deployments","created_at":"2016-09-24T21:45:59Z","updated_at":"2016-09-24T21:46:00Z","pushed_at":"2016-09-24T22:05:11Z","git_url":"git://github.com/XeR/OceanProject-Bot.git","ssh_url":"git@github.com:XeR/OceanProject-Bot.git","clone_url":"https://github.com/XeR/OceanProject-Bot.git","svn_url":"https://github.com/XeR/OceanProject-Bot","homepage":null,"size":407,"stargazers_count":0,"watchers_count":0,"language":"PHP","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"llomgui:master","ref":"master","sha":"25cbe9c3389a56d7451ba0ec847353ce9e4d8c79","user":{"login":"llomgui","id":14892748,"avatar_url":"https://avatars.githubusercontent.com/u/14892748?v=3","gravatar_id":"","url":"https://api.github.com/users/llomgui","html_url":"https://github.com/llomgui","followers_url":"https://api.github.com/users/llomgui/followers","following_url":"https://api.github.com/users/llomgui/following{/other_user}","gists_url":"https://api.github.com/users/llomgui/gists{/gist_id}","starred_url":"https://api.github.com/users/llomgui/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/llomgui/subscriptions","organizations_url":"https://api.github.com/users/llomgui/orgs","repos_url":"https://api.github.com/users/llomgui/repos","events_url":"https://api.github.com/users/llomgui/events{/privacy}","received_events_url":"https://api.github.com/users/llomgui/received_events","type":"User","site_admin":false},"repo":{"id":61479953,"name":"OceanProject-Bot","full_name":"llomgui/OceanProject-Bot","owner":{"login":"llomgui","id":14892748,"avatar_url":"https://avatars.githubusercontent.com/u/14892748?v=3","gravatar_id":"","url":"https://api.github.com/users/llomgui","html_url":"https://github.com/llomgui","followers_url":"https://api.github.com/users/llomgui/followers","following_url":"https://api.github.com/users/llomgui/following{/other_user}","gists_url":"https://api.github.com/users/llomgui/gists{/gist_id}","starred_url":"https://api.github.com/users/llomgui/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/llomgui/subscriptions","organizations_url":"https://api.github.com/users/llomgui/orgs","repos_url":"https://api.github.com/users/llomgui/repos","events_url":"https://api.github.com/users/llomgui/events{/privacy}","received_events_url":"https://api.github.com/users/llomgui/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/llomgui/OceanProject-Bot","description":"OceanProject's bot in PHP","fork":false,"url":"https://api.github.com/repos/llomgui/OceanProject-Bot","forks_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/forks","keys_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/keys{/key_id}","collaborators_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/teams","hooks_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/hooks","issue_events_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/issues/events{/number}","events_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/events","assignees_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/assignees{/user}","branches_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/branches{/branch}","tags_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/tags","blobs_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/git/refs{/sha}","trees_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/git/trees{/sha}","statuses_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/statuses/{sha}","languages_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/languages","stargazers_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/stargazers","contributors_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/contributors","subscribers_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/subscribers","subscription_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/subscription","commits_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/commits{/sha}","git_commits_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/git/commits{/sha}","comments_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/comments{/number}","issue_comment_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/issues/comments{/number}","contents_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/contents/{+path}","compare_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/compare/{base}...{head}","merges_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/merges","archive_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/downloads","issues_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/issues{/number}","pulls_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/pulls{/number}","milestones_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/milestones{/number}","notifications_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/labels{/name}","releases_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/releases{/id}","deployments_url":"https://api.github.com/repos/llomgui/OceanProject-Bot/deployments","created_at":"2016-06-19T12:50:29Z","updated_at":"2016-09-13T22:40:38Z","pushed_at":"2016-09-24T22:01:34Z","git_url":"git://github.com/llomgui/OceanProject-Bot.git","ssh_url":"git@github.com:llomgui/OceanProject-Bot.git","clone_url":"https://github.com/llomgui/OceanProject-Bot.git","svn_url":"https://github.com/llomgui/OceanProject-Bot","homepage":null,"size":407,"stargazers_count":5,"watchers_count":5,"language":"PHP","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":7,"mirror_url":null,"open_issues_count":2,"forks":7,"open_issues":2,"watchers":5,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/llomgui/OceanProject-Bot/pulls/56"},"html":{"href":"https://github.com/llomgui/OceanProject-Bot/pull/56"},"issue":{"href":"https://api.github.com/repos/llomgui/OceanProject-Bot/issues/56"},"comments":{"href":"https://api.github.com/repos/llomgui/OceanProject-Bot/issues/56/comments"},"review_comments":{"href":"https://api.github.com/repos/llomgui/OceanProject-Bot/pulls/56/comments"},"review_comment":{"href":"https://api.github.com/repos/llomgui/OceanProject-Bot/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/llomgui/OceanProject-Bot/pulls/56/commits"},"statuses":{"href":"https://api.github.com/repos/llomgui/OceanProject-Bot/statuses/31305bc6c8cb2c3e2b964237248d5c4f17a2b17f"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":8,"deletions":6,"changed_files":1}}
{"actor":{"display_login":"XeR"}}