{"action":"created","comment":{"url":"https://api.github.com/repos/mautic/mautic/pulls/comments/73768370","id":73768370,"diff_hunk":"@@ -95,7 +95,9 @@\n         \"twilio/sdk\": \"^4.10\",\n \n         \"stack/run\": \"^1.0\",\n-        \"stack/builder\": \"^1.0\"\n+        \"stack/builder\": \"^1.0\",\n+\n+        \"piwik/device-detector\": \"3.7.0\"","path":"composer.json","position":7,"original_position":7,"commit_id":"751a3241c1a5e0dc0c7abaa1bccaa65ac1430808","original_commit_id":"751a3241c1a5e0dc0c7abaa1bccaa65ac1430808","user":{"login":"alanhartless","id":63312,"avatar_url":"https://avatars.githubusercontent.com/u/63312?v=3","gravatar_id":"","url":"https://api.github.com/users/alanhartless","html_url":"https://github.com/alanhartless","followers_url":"https://api.github.com/users/alanhartless/followers","following_url":"https://api.github.com/users/alanhartless/following{/other_user}","gists_url":"https://api.github.com/users/alanhartless/gists{/gist_id}","starred_url":"https://api.github.com/users/alanhartless/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alanhartless/subscriptions","organizations_url":"https://api.github.com/users/alanhartless/orgs","repos_url":"https://api.github.com/users/alanhartless/repos","events_url":"https://api.github.com/users/alanhartless/events{/privacy}","received_events_url":"https://api.github.com/users/alanhartless/received_events","type":"User","site_admin":false},"body":"Sorry for the composer.lock confusion. Let's run `composer require piwik/device-detector:~3.7.0` so this dependency gets added to composer.lock but without updating all the other dependencies. Then commit composer.lock. ","created_at":"2016-08-05T22:28:13Z","updated_at":"2016-08-05T22:28:13Z","html_url":"https://github.com/mautic/mautic/pull/2059#discussion_r73768370","pull_request_url":"https://api.github.com/repos/mautic/mautic/pulls/2059","_links":{"self":{"href":"https://api.github.com/repos/mautic/mautic/pulls/comments/73768370"},"html":{"href":"https://github.com/mautic/mautic/pull/2059#discussion_r73768370"},"pull_request":{"href":"https://api.github.com/repos/mautic/mautic/pulls/2059"}}},"pull_request":{"url":"https://api.github.com/repos/mautic/mautic/pulls/2059","id":78003814,"html_url":"https://github.com/mautic/mautic/pull/2059","diff_url":"https://github.com/mautic/mautic/pull/2059.diff","patch_url":"https://github.com/mautic/mautic/pull/2059.patch","issue_url":"https://api.github.com/repos/mautic/mautic/issues/2059","number":2059,"state":"open","locked":false,"title":"Device granularity","user":{"login":"mqueme","id":1496976,"avatar_url":"https://avatars.githubusercontent.com/u/1496976?v=3","gravatar_id":"","url":"https://api.github.com/users/mqueme","html_url":"https://github.com/mqueme","followers_url":"https://api.github.com/users/mqueme/followers","following_url":"https://api.github.com/users/mqueme/following{/other_user}","gists_url":"https://api.github.com/users/mqueme/gists{/gist_id}","starred_url":"https://api.github.com/users/mqueme/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mqueme/subscriptions","organizations_url":"https://api.github.com/users/mqueme/orgs","repos_url":"https://api.github.com/users/mqueme/repos","events_url":"https://api.github.com/users/mqueme/events{/privacy}","received_events_url":"https://api.github.com/users/mqueme/received_events","type":"User","site_admin":false},"body":"Please answer the following questions. \r\n\r\n| Q  | A\r\n| --- | ---\r\n| Bug fix? | y\r\n| New feature? | y\r\n| Related user documentation PR URL | (https://github.com/mautic/documentation/pull/70)\r\n| Related developer documentation PR URL | n\r\n| Issues addressed (#s or URLs) | #2045\r\n| BC breaks? | n\r\n| Deprecations? | n\r\n\r\n**Note that all new features should have a related user and/or developer documentation PR in their respective repositories.** \r\n\r\n### Required\r\n#### Description:\r\nThis PR adds new device granularity to page hits. A new device granularity on lifecycle dashboard and a new devices widget for page hits.\r\n\r\nEmail open events will also track devices used to open emails, a contact's devices report will be added to the reports section\r\n\r\n### To Test\r\n- Apply PR\r\n- Run composer update\r\n- Migrate db\r\n- visit a page and open an email using various devices\r\n- you should see the contact's timeline show what devices have been used, and also the charts on email and widgets.\r\n-report for page hits can also add a column for hit devices","created_at":"2016-07-19T16:03:06Z","updated_at":"2016-08-05T22:28:13Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a4eb198e6f747c3208150d3d2e4681a1e068e949","assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/mautic/mautic/milestones/16","html_url":"https://github.com/mautic/mautic/milestones/2.1.0","labels_url":"https://api.github.com/repos/mautic/mautic/milestones/16/labels","id":1844150,"number":16,"title":"2.1.0","description":"","creator":{"login":"alanhartless","id":63312,"avatar_url":"https://avatars.githubusercontent.com/u/63312?v=3","gravatar_id":"","url":"https://api.github.com/users/alanhartless","html_url":"https://github.com/alanhartless","followers_url":"https://api.github.com/users/alanhartless/followers","following_url":"https://api.github.com/users/alanhartless/following{/other_user}","gists_url":"https://api.github.com/users/alanhartless/gists{/gist_id}","starred_url":"https://api.github.com/users/alanhartless/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alanhartless/subscriptions","organizations_url":"https://api.github.com/users/alanhartless/orgs","repos_url":"https://api.github.com/users/alanhartless/repos","events_url":"https://api.github.com/users/alanhartless/events{/privacy}","received_events_url":"https://api.github.com/users/alanhartless/received_events","type":"User","site_admin":false},"open_issues":21,"closed_issues":65,"state":"open","created_at":"2016-06-22T20:59:26Z","updated_at":"2016-08-05T20:54:05Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/mautic/mautic/pulls/2059/commits","review_comments_url":"https://api.github.com/repos/mautic/mautic/pulls/2059/comments","review_comment_url":"https://api.github.com/repos/mautic/mautic/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mautic/mautic/issues/2059/comments","statuses_url":"https://api.github.com/repos/mautic/mautic/statuses/751a3241c1a5e0dc0c7abaa1bccaa65ac1430808","head":{"label":"mqueme:device-granularity","ref":"device-granularity","sha":"751a3241c1a5e0dc0c7abaa1bccaa65ac1430808","user":{"login":"mqueme","id":1496976,"avatar_url":"https://avatars.githubusercontent.com/u/1496976?v=3","gravatar_id":"","url":"https://api.github.com/users/mqueme","html_url":"https://github.com/mqueme","followers_url":"https://api.github.com/users/mqueme/followers","following_url":"https://api.github.com/users/mqueme/following{/other_user}","gists_url":"https://api.github.com/users/mqueme/gists{/gist_id}","starred_url":"https://api.github.com/users/mqueme/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mqueme/subscriptions","organizations_url":"https://api.github.com/users/mqueme/orgs","repos_url":"https://api.github.com/users/mqueme/repos","events_url":"https://api.github.com/users/mqueme/events{/privacy}","received_events_url":"https://api.github.com/users/mqueme/received_events","type":"User","site_admin":false},"repo":{"id":52972139,"name":"mautic","full_name":"mqueme/mautic","owner":{"login":"mqueme","id":1496976,"avatar_url":"https://avatars.githubusercontent.com/u/1496976?v=3","gravatar_id":"","url":"https://api.github.com/users/mqueme","html_url":"https://github.com/mqueme","followers_url":"https://api.github.com/users/mqueme/followers","following_url":"https://api.github.com/users/mqueme/following{/other_user}","gists_url":"https://api.github.com/users/mqueme/gists{/gist_id}","starred_url":"https://api.github.com/users/mqueme/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mqueme/subscriptions","organizations_url":"https://api.github.com/users/mqueme/orgs","repos_url":"https://api.github.com/users/mqueme/repos","events_url":"https://api.github.com/users/mqueme/events{/privacy}","received_events_url":"https://api.github.com/users/mqueme/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mqueme/mautic","description":"Mautic: Open Source Marketing Automation Software.","fork":true,"url":"https://api.github.com/repos/mqueme/mautic","forks_url":"https://api.github.com/repos/mqueme/mautic/forks","keys_url":"https://api.github.com/repos/mqueme/mautic/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mqueme/mautic/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mqueme/mautic/teams","hooks_url":"https://api.github.com/repos/mqueme/mautic/hooks","issue_events_url":"https://api.github.com/repos/mqueme/mautic/issues/events{/number}","events_url":"https://api.github.com/repos/mqueme/mautic/events","assignees_url":"https://api.github.com/repos/mqueme/mautic/assignees{/user}","branches_url":"https://api.github.com/repos/mqueme/mautic/branches{/branch}","tags_url":"https://api.github.com/repos/mqueme/mautic/tags","blobs_url":"https://api.github.com/repos/mqueme/mautic/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mqueme/mautic/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mqueme/mautic/git/refs{/sha}","trees_url":"https://api.github.com/repos/mqueme/mautic/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mqueme/mautic/statuses/{sha}","languages_url":"https://api.github.com/repos/mqueme/mautic/languages","stargazers_url":"https://api.github.com/repos/mqueme/mautic/stargazers","contributors_url":"https://api.github.com/repos/mqueme/mautic/contributors","subscribers_url":"https://api.github.com/repos/mqueme/mautic/subscribers","subscription_url":"https://api.github.com/repos/mqueme/mautic/subscription","commits_url":"https://api.github.com/repos/mqueme/mautic/commits{/sha}","git_commits_url":"https://api.github.com/repos/mqueme/mautic/git/commits{/sha}","comments_url":"https://api.github.com/repos/mqueme/mautic/comments{/number}","issue_comment_url":"https://api.github.com/repos/mqueme/mautic/issues/comments{/number}","contents_url":"https://api.github.com/repos/mqueme/mautic/contents/{+path}","compare_url":"https://api.github.com/repos/mqueme/mautic/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mqueme/mautic/merges","archive_url":"https://api.github.com/repos/mqueme/mautic/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mqueme/mautic/downloads","issues_url":"https://api.github.com/repos/mqueme/mautic/issues{/number}","pulls_url":"https://api.github.com/repos/mqueme/mautic/pulls{/number}","milestones_url":"https://api.github.com/repos/mqueme/mautic/milestones{/number}","notifications_url":"https://api.github.com/repos/mqueme/mautic/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mqueme/mautic/labels{/name}","releases_url":"https://api.github.com/repos/mqueme/mautic/releases{/id}","deployments_url":"https://api.github.com/repos/mqueme/mautic/deployments","created_at":"2016-03-02T15:07:41Z","updated_at":"2016-03-02T15:07:46Z","pushed_at":"2016-08-05T15:07:25Z","git_url":"git://github.com/mqueme/mautic.git","ssh_url":"git@github.com:mqueme/mautic.git","clone_url":"https://github.com/mqueme/mautic.git","svn_url":"https://github.com/mqueme/mautic","homepage":"https://www.mautic.org","size":52474,"stargazers_count":0,"watchers_count":0,"language":"PHP","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":0,"default_branch":"staging"}},"base":{"label":"mautic:staging","ref":"staging","sha":"260fdea458775219fc3344492d4583713687e40c","user":{"login":"mautic","id":5257677,"avatar_url":"https://avatars.githubusercontent.com/u/5257677?v=3","gravatar_id":"","url":"https://api.github.com/users/mautic","html_url":"https://github.com/mautic","followers_url":"https://api.github.com/users/mautic/followers","following_url":"https://api.github.com/users/mautic/following{/other_user}","gists_url":"https://api.github.com/users/mautic/gists{/gist_id}","starred_url":"https://api.github.com/users/mautic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mautic/subscriptions","organizations_url":"https://api.github.com/users/mautic/orgs","repos_url":"https://api.github.com/users/mautic/repos","events_url":"https://api.github.com/users/mautic/events{/privacy}","received_events_url":"https://api.github.com/users/mautic/received_events","type":"Organization","site_admin":false},"repo":{"id":12204147,"name":"mautic","full_name":"mautic/mautic","owner":{"login":"mautic","id":5257677,"avatar_url":"https://avatars.githubusercontent.com/u/5257677?v=3","gravatar_id":"","url":"https://api.github.com/users/mautic","html_url":"https://github.com/mautic","followers_url":"https://api.github.com/users/mautic/followers","following_url":"https://api.github.com/users/mautic/following{/other_user}","gists_url":"https://api.github.com/users/mautic/gists{/gist_id}","starred_url":"https://api.github.com/users/mautic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mautic/subscriptions","organizations_url":"https://api.github.com/users/mautic/orgs","repos_url":"https://api.github.com/users/mautic/repos","events_url":"https://api.github.com/users/mautic/events{/privacy}","received_events_url":"https://api.github.com/users/mautic/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mautic/mautic","description":"Mautic: Open Source Marketing Automation Software.","fork":false,"url":"https://api.github.com/repos/mautic/mautic","forks_url":"https://api.github.com/repos/mautic/mautic/forks","keys_url":"https://api.github.com/repos/mautic/mautic/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mautic/mautic/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mautic/mautic/teams","hooks_url":"https://api.github.com/repos/mautic/mautic/hooks","issue_events_url":"https://api.github.com/repos/mautic/mautic/issues/events{/number}","events_url":"https://api.github.com/repos/mautic/mautic/events","assignees_url":"https://api.github.com/repos/mautic/mautic/assignees{/user}","branches_url":"https://api.github.com/repos/mautic/mautic/branches{/branch}","tags_url":"https://api.github.com/repos/mautic/mautic/tags","blobs_url":"https://api.github.com/repos/mautic/mautic/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mautic/mautic/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mautic/mautic/git/refs{/sha}","trees_url":"https://api.github.com/repos/mautic/mautic/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mautic/mautic/statuses/{sha}","languages_url":"https://api.github.com/repos/mautic/mautic/languages","stargazers_url":"https://api.github.com/repos/mautic/mautic/stargazers","contributors_url":"https://api.github.com/repos/mautic/mautic/contributors","subscribers_url":"https://api.github.com/repos/mautic/mautic/subscribers","subscription_url":"https://api.github.com/repos/mautic/mautic/subscription","commits_url":"https://api.github.com/repos/mautic/mautic/commits{/sha}","git_commits_url":"https://api.github.com/repos/mautic/mautic/git/commits{/sha}","comments_url":"https://api.github.com/repos/mautic/mautic/comments{/number}","issue_comment_url":"https://api.github.com/repos/mautic/mautic/issues/comments{/number}","contents_url":"https://api.github.com/repos/mautic/mautic/contents/{+path}","compare_url":"https://api.github.com/repos/mautic/mautic/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mautic/mautic/merges","archive_url":"https://api.github.com/repos/mautic/mautic/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mautic/mautic/downloads","issues_url":"https://api.github.com/repos/mautic/mautic/issues{/number}","pulls_url":"https://api.github.com/repos/mautic/mautic/pulls{/number}","milestones_url":"https://api.github.com/repos/mautic/mautic/milestones{/number}","notifications_url":"https://api.github.com/repos/mautic/mautic/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mautic/mautic/labels{/name}","releases_url":"https://api.github.com/repos/mautic/mautic/releases{/id}","deployments_url":"https://api.github.com/repos/mautic/mautic/deployments","created_at":"2013-08-19T00:36:28Z","updated_at":"2016-08-05T00:22:29Z","pushed_at":"2016-08-05T21:39:40Z","git_url":"git://github.com/mautic/mautic.git","ssh_url":"git@github.com:mautic/mautic.git","clone_url":"https://github.com/mautic/mautic.git","svn_url":"https://github.com/mautic/mautic","homepage":"https://www.mautic.org","size":59937,"stargazers_count":919,"watchers_count":919,"language":"PHP","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":325,"mirror_url":null,"open_issues_count":466,"forks":325,"open_issues":466,"watchers":919,"default_branch":"staging"}},"_links":{"self":{"href":"https://api.github.com/repos/mautic/mautic/pulls/2059"},"html":{"href":"https://github.com/mautic/mautic/pull/2059"},"issue":{"href":"https://api.github.com/repos/mautic/mautic/issues/2059"},"comments":{"href":"https://api.github.com/repos/mautic/mautic/issues/2059/comments"},"review_comments":{"href":"https://api.github.com/repos/mautic/mautic/pulls/2059/comments"},"review_comment":{"href":"https://api.github.com/repos/mautic/mautic/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mautic/mautic/pulls/2059/commits"},"statuses":{"href":"https://api.github.com/repos/mautic/mautic/statuses/751a3241c1a5e0dc0c7abaa1bccaa65ac1430808"}}}}
{"actor":{"display_login":"alanhartless"}}