{"action":"created","comment":{"url":"https://api.github.com/repos/novoda/merlin/pulls/comments/228212325","pull_request_review_id":168432801,"id":228212325,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyODIxMjMyNQ==","diff_hunk":"@@ -116,4 +133,21 @@ public String getMobileNetworkSubtypeName() {\n         return networkInfo.getSubtypeName();\n     }\n \n+    /**\n+     * Detects if client is behind a captive portal.\n+     * @param pingerCallback to call with success or failure.\n+     */\n+    public void isCaptivePortal(EndpointPinger.PingerCallback pingerCallback){\n+        pinger.ping(pingerCallback);","path":"core/src/main/java/com/novoda/merlin/MerlinsBeard.java","position":59,"original_position":59,"commit_id":"19769fd72e074af867eb7f09dbd020ac23dab680","original_commit_id":"373e62b9feb732f6dbaf3e7d4cfa5225c5e92673","user":{"login":"Mecharyry","id":3380092,"node_id":"MDQ6VXNlcjMzODAwOTI=","avatar_url":"https://avatars1.githubusercontent.com/u/3380092?v=4","gravatar_id":"","url":"https://api.github.com/users/Mecharyry","html_url":"https://github.com/Mecharyry","followers_url":"https://api.github.com/users/Mecharyry/followers","following_url":"https://api.github.com/users/Mecharyry/following{/other_user}","gists_url":"https://api.github.com/users/Mecharyry/gists{/gist_id}","starred_url":"https://api.github.com/users/Mecharyry/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mecharyry/subscriptions","organizations_url":"https://api.github.com/users/Mecharyry/orgs","repos_url":"https://api.github.com/users/Mecharyry/repos","events_url":"https://api.github.com/users/Mecharyry/events{/privacy}","received_events_url":"https://api.github.com/users/Mecharyry/received_events","type":"User","site_admin":false},"body":"Yes I'm sure. We use this https://github.com/novoda/merlin/blob/release/core/src/main/java/com/novoda/merlin/ResponseCodeValidator.java#L10 which checks for a `204`. In retrospect this method is a bit misleading 🤔 We will change the name and perhaps use a different interface.","created_at":"2018-10-25T15:04:35Z","updated_at":"2018-10-25T15:04:36Z","html_url":"https://github.com/novoda/merlin/pull/177#discussion_r228212325","pull_request_url":"https://api.github.com/repos/novoda/merlin/pulls/177","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/novoda/merlin/pulls/comments/228212325"},"html":{"href":"https://github.com/novoda/merlin/pull/177#discussion_r228212325"},"pull_request":{"href":"https://api.github.com/repos/novoda/merlin/pulls/177"}},"in_reply_to_id":228207446},"pull_request":{"url":"https://api.github.com/repos/novoda/merlin/pulls/177","id":225789622,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI1Nzg5NjIy","html_url":"https://github.com/novoda/merlin/pull/177","diff_url":"https://github.com/novoda/merlin/pull/177.diff","patch_url":"https://github.com/novoda/merlin/pull/177.patch","issue_url":"https://api.github.com/repos/novoda/merlin/issues/177","number":177,"state":"open","locked":false,"title":"Captive portal","user":{"login":"hcmsilva","id":4844875,"node_id":"MDQ6VXNlcjQ4NDQ4NzU=","avatar_url":"https://avatars0.githubusercontent.com/u/4844875?v=4","gravatar_id":"","url":"https://api.github.com/users/hcmsilva","html_url":"https://github.com/hcmsilva","followers_url":"https://api.github.com/users/hcmsilva/followers","following_url":"https://api.github.com/users/hcmsilva/following{/other_user}","gists_url":"https://api.github.com/users/hcmsilva/gists{/gist_id}","starred_url":"https://api.github.com/users/hcmsilva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hcmsilva/subscriptions","organizations_url":"https://api.github.com/users/hcmsilva/orgs","repos_url":"https://api.github.com/users/hcmsilva/repos","events_url":"https://api.github.com/users/hcmsilva/events{/privacy}","received_events_url":"https://api.github.com/users/hcmsilva/received_events","type":"User","site_admin":false},"body":"## Problem\r\n\r\nWhen using MerlinsBeard, clients can request a network state, this network state tells them whether  they are connected to a network but it doesn't tell whether they have an internet connection.\r\n\r\n## Solution\r\n\r\nAdded functionality for captive portal detection, both synchronous and asynchronously.\r\n\r\n### Test(s) added\r\n\r\nYes. Updated MerlinsBeard's tests.\r\n\r\n### Paired with\r\n@Mecharyry \r\n","created_at":"2018-10-25T14:47:45Z","updated_at":"2018-10-25T15:04:36Z","closed_at":null,"merged_at":null,"merge_commit_sha":"28380e6f228c291d5f32ad4e0d6a33a7914259f0","assignee":{"login":"zegnus","id":2845931,"node_id":"MDQ6VXNlcjI4NDU5MzE=","avatar_url":"https://avatars3.githubusercontent.com/u/2845931?v=4","gravatar_id":"","url":"https://api.github.com/users/zegnus","html_url":"https://github.com/zegnus","followers_url":"https://api.github.com/users/zegnus/followers","following_url":"https://api.github.com/users/zegnus/following{/other_user}","gists_url":"https://api.github.com/users/zegnus/gists{/gist_id}","starred_url":"https://api.github.com/users/zegnus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zegnus/subscriptions","organizations_url":"https://api.github.com/users/zegnus/orgs","repos_url":"https://api.github.com/users/zegnus/repos","events_url":"https://api.github.com/users/zegnus/events{/privacy}","received_events_url":"https://api.github.com/users/zegnus/received_events","type":"User","site_admin":false},"assignees":[{"login":"zegnus","id":2845931,"node_id":"MDQ6VXNlcjI4NDU5MzE=","avatar_url":"https://avatars3.githubusercontent.com/u/2845931?v=4","gravatar_id":"","url":"https://api.github.com/users/zegnus","html_url":"https://github.com/zegnus","followers_url":"https://api.github.com/users/zegnus/followers","following_url":"https://api.github.com/users/zegnus/following{/other_user}","gists_url":"https://api.github.com/users/zegnus/gists{/gist_id}","starred_url":"https://api.github.com/users/zegnus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zegnus/subscriptions","organizations_url":"https://api.github.com/users/zegnus/orgs","repos_url":"https://api.github.com/users/zegnus/repos","events_url":"https://api.github.com/users/zegnus/events{/privacy}","received_events_url":"https://api.github.com/users/zegnus/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":696619382,"node_id":"MDU6TGFiZWw2OTY2MTkzODI=","url":"https://api.github.com/repos/novoda/merlin/labels/do-not-merge","name":"do-not-merge","color":"ff0000","default":false},{"id":592219797,"node_id":"MDU6TGFiZWw1OTIyMTk3OTc=","url":"https://api.github.com/repos/novoda/merlin/labels/feature","name":"feature","color":"7BBF6A","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/novoda/merlin/pulls/177/commits","review_comments_url":"https://api.github.com/repos/novoda/merlin/pulls/177/comments","review_comment_url":"https://api.github.com/repos/novoda/merlin/pulls/comments{/number}","comments_url":"https://api.github.com/repos/novoda/merlin/issues/177/comments","statuses_url":"https://api.github.com/repos/novoda/merlin/statuses/19769fd72e074af867eb7f09dbd020ac23dab680","head":{"label":"novoda:MER-Feature-captive-portal-working-branch","ref":"MER-Feature-captive-portal-working-branch","sha":"19769fd72e074af867eb7f09dbd020ac23dab680","user":{"login":"novoda","id":74874,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc0ODc0","avatar_url":"https://avatars2.githubusercontent.com/u/74874?v=4","gravatar_id":"","url":"https://api.github.com/users/novoda","html_url":"https://github.com/novoda","followers_url":"https://api.github.com/users/novoda/followers","following_url":"https://api.github.com/users/novoda/following{/other_user}","gists_url":"https://api.github.com/users/novoda/gists{/gist_id}","starred_url":"https://api.github.com/users/novoda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/novoda/subscriptions","organizations_url":"https://api.github.com/users/novoda/orgs","repos_url":"https://api.github.com/users/novoda/repos","events_url":"https://api.github.com/users/novoda/events{/privacy}","received_events_url":"https://api.github.com/users/novoda/received_events","type":"Organization","site_admin":false},"repo":{"id":9941578,"node_id":"MDEwOlJlcG9zaXRvcnk5OTQxNTc4","name":"merlin","full_name":"novoda/merlin","private":false,"owner":{"login":"novoda","id":74874,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc0ODc0","avatar_url":"https://avatars2.githubusercontent.com/u/74874?v=4","gravatar_id":"","url":"https://api.github.com/users/novoda","html_url":"https://github.com/novoda","followers_url":"https://api.github.com/users/novoda/followers","following_url":"https://api.github.com/users/novoda/following{/other_user}","gists_url":"https://api.github.com/users/novoda/gists{/gist_id}","starred_url":"https://api.github.com/users/novoda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/novoda/subscriptions","organizations_url":"https://api.github.com/users/novoda/orgs","repos_url":"https://api.github.com/users/novoda/repos","events_url":"https://api.github.com/users/novoda/events{/privacy}","received_events_url":"https://api.github.com/users/novoda/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/novoda/merlin","description":"Observes network connection status & gives callbacks","fork":false,"url":"https://api.github.com/repos/novoda/merlin","forks_url":"https://api.github.com/repos/novoda/merlin/forks","keys_url":"https://api.github.com/repos/novoda/merlin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/novoda/merlin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/novoda/merlin/teams","hooks_url":"https://api.github.com/repos/novoda/merlin/hooks","issue_events_url":"https://api.github.com/repos/novoda/merlin/issues/events{/number}","events_url":"https://api.github.com/repos/novoda/merlin/events","assignees_url":"https://api.github.com/repos/novoda/merlin/assignees{/user}","branches_url":"https://api.github.com/repos/novoda/merlin/branches{/branch}","tags_url":"https://api.github.com/repos/novoda/merlin/tags","blobs_url":"https://api.github.com/repos/novoda/merlin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/novoda/merlin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/novoda/merlin/git/refs{/sha}","trees_url":"https://api.github.com/repos/novoda/merlin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/novoda/merlin/statuses/{sha}","languages_url":"https://api.github.com/repos/novoda/merlin/languages","stargazers_url":"https://api.github.com/repos/novoda/merlin/stargazers","contributors_url":"https://api.github.com/repos/novoda/merlin/contributors","subscribers_url":"https://api.github.com/repos/novoda/merlin/subscribers","subscription_url":"https://api.github.com/repos/novoda/merlin/subscription","commits_url":"https://api.github.com/repos/novoda/merlin/commits{/sha}","git_commits_url":"https://api.github.com/repos/novoda/merlin/git/commits{/sha}","comments_url":"https://api.github.com/repos/novoda/merlin/comments{/number}","issue_comment_url":"https://api.github.com/repos/novoda/merlin/issues/comments{/number}","contents_url":"https://api.github.com/repos/novoda/merlin/contents/{+path}","compare_url":"https://api.github.com/repos/novoda/merlin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/novoda/merlin/merges","archive_url":"https://api.github.com/repos/novoda/merlin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/novoda/merlin/downloads","issues_url":"https://api.github.com/repos/novoda/merlin/issues{/number}","pulls_url":"https://api.github.com/repos/novoda/merlin/pulls{/number}","milestones_url":"https://api.github.com/repos/novoda/merlin/milestones{/number}","notifications_url":"https://api.github.com/repos/novoda/merlin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/novoda/merlin/labels{/name}","releases_url":"https://api.github.com/repos/novoda/merlin/releases{/id}","deployments_url":"https://api.github.com/repos/novoda/merlin/deployments","created_at":"2013-05-08T17:03:53Z","updated_at":"2018-10-23T13:49:27Z","pushed_at":"2018-10-25T14:57:09Z","git_url":"git://github.com/novoda/merlin.git","ssh_url":"git@github.com:novoda/merlin.git","clone_url":"https://github.com/novoda/merlin.git","svn_url":"https://github.com/novoda/merlin","homepage":"","size":2457,"stargazers_count":416,"watchers_count":416,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":54,"mirror_url":null,"archived":false,"open_issues_count":12,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":54,"open_issues":12,"watchers":416,"default_branch":"release"}},"base":{"label":"novoda:develop","ref":"develop","sha":"bcdd0798e74f130c8f5b352b71336d021b3b410c","user":{"login":"novoda","id":74874,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc0ODc0","avatar_url":"https://avatars2.githubusercontent.com/u/74874?v=4","gravatar_id":"","url":"https://api.github.com/users/novoda","html_url":"https://github.com/novoda","followers_url":"https://api.github.com/users/novoda/followers","following_url":"https://api.github.com/users/novoda/following{/other_user}","gists_url":"https://api.github.com/users/novoda/gists{/gist_id}","starred_url":"https://api.github.com/users/novoda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/novoda/subscriptions","organizations_url":"https://api.github.com/users/novoda/orgs","repos_url":"https://api.github.com/users/novoda/repos","events_url":"https://api.github.com/users/novoda/events{/privacy}","received_events_url":"https://api.github.com/users/novoda/received_events","type":"Organization","site_admin":false},"repo":{"id":9941578,"node_id":"MDEwOlJlcG9zaXRvcnk5OTQxNTc4","name":"merlin","full_name":"novoda/merlin","private":false,"owner":{"login":"novoda","id":74874,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc0ODc0","avatar_url":"https://avatars2.githubusercontent.com/u/74874?v=4","gravatar_id":"","url":"https://api.github.com/users/novoda","html_url":"https://github.com/novoda","followers_url":"https://api.github.com/users/novoda/followers","following_url":"https://api.github.com/users/novoda/following{/other_user}","gists_url":"https://api.github.com/users/novoda/gists{/gist_id}","starred_url":"https://api.github.com/users/novoda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/novoda/subscriptions","organizations_url":"https://api.github.com/users/novoda/orgs","repos_url":"https://api.github.com/users/novoda/repos","events_url":"https://api.github.com/users/novoda/events{/privacy}","received_events_url":"https://api.github.com/users/novoda/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/novoda/merlin","description":"Observes network connection status & gives callbacks","fork":false,"url":"https://api.github.com/repos/novoda/merlin","forks_url":"https://api.github.com/repos/novoda/merlin/forks","keys_url":"https://api.github.com/repos/novoda/merlin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/novoda/merlin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/novoda/merlin/teams","hooks_url":"https://api.github.com/repos/novoda/merlin/hooks","issue_events_url":"https://api.github.com/repos/novoda/merlin/issues/events{/number}","events_url":"https://api.github.com/repos/novoda/merlin/events","assignees_url":"https://api.github.com/repos/novoda/merlin/assignees{/user}","branches_url":"https://api.github.com/repos/novoda/merlin/branches{/branch}","tags_url":"https://api.github.com/repos/novoda/merlin/tags","blobs_url":"https://api.github.com/repos/novoda/merlin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/novoda/merlin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/novoda/merlin/git/refs{/sha}","trees_url":"https://api.github.com/repos/novoda/merlin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/novoda/merlin/statuses/{sha}","languages_url":"https://api.github.com/repos/novoda/merlin/languages","stargazers_url":"https://api.github.com/repos/novoda/merlin/stargazers","contributors_url":"https://api.github.com/repos/novoda/merlin/contributors","subscribers_url":"https://api.github.com/repos/novoda/merlin/subscribers","subscription_url":"https://api.github.com/repos/novoda/merlin/subscription","commits_url":"https://api.github.com/repos/novoda/merlin/commits{/sha}","git_commits_url":"https://api.github.com/repos/novoda/merlin/git/commits{/sha}","comments_url":"https://api.github.com/repos/novoda/merlin/comments{/number}","issue_comment_url":"https://api.github.com/repos/novoda/merlin/issues/comments{/number}","contents_url":"https://api.github.com/repos/novoda/merlin/contents/{+path}","compare_url":"https://api.github.com/repos/novoda/merlin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/novoda/merlin/merges","archive_url":"https://api.github.com/repos/novoda/merlin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/novoda/merlin/downloads","issues_url":"https://api.github.com/repos/novoda/merlin/issues{/number}","pulls_url":"https://api.github.com/repos/novoda/merlin/pulls{/number}","milestones_url":"https://api.github.com/repos/novoda/merlin/milestones{/number}","notifications_url":"https://api.github.com/repos/novoda/merlin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/novoda/merlin/labels{/name}","releases_url":"https://api.github.com/repos/novoda/merlin/releases{/id}","deployments_url":"https://api.github.com/repos/novoda/merlin/deployments","created_at":"2013-05-08T17:03:53Z","updated_at":"2018-10-23T13:49:27Z","pushed_at":"2018-10-25T14:57:09Z","git_url":"git://github.com/novoda/merlin.git","ssh_url":"git@github.com:novoda/merlin.git","clone_url":"https://github.com/novoda/merlin.git","svn_url":"https://github.com/novoda/merlin","homepage":"","size":2457,"stargazers_count":416,"watchers_count":416,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":54,"mirror_url":null,"archived":false,"open_issues_count":12,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":54,"open_issues":12,"watchers":416,"default_branch":"release"}},"_links":{"self":{"href":"https://api.github.com/repos/novoda/merlin/pulls/177"},"html":{"href":"https://github.com/novoda/merlin/pull/177"},"issue":{"href":"https://api.github.com/repos/novoda/merlin/issues/177"},"comments":{"href":"https://api.github.com/repos/novoda/merlin/issues/177/comments"},"review_comments":{"href":"https://api.github.com/repos/novoda/merlin/pulls/177/comments"},"review_comment":{"href":"https://api.github.com/repos/novoda/merlin/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/novoda/merlin/pulls/177/commits"},"statuses":{"href":"https://api.github.com/repos/novoda/merlin/statuses/19769fd72e074af867eb7f09dbd020ac23dab680"}},"author_association":"NONE"}}
{"actor":{"display_login":"Mecharyry"}}