{"action":"closed","number":4,"pull_request":{"url":"https://api.github.com/repos/bemasc/freedom-social-quiver/pulls/4","id":49728222,"html_url":"https://github.com/bemasc/freedom-social-quiver/pull/4","diff_url":"https://github.com/bemasc/freedom-social-quiver/pull/4.diff","patch_url":"https://github.com/bemasc/freedom-social-quiver/pull/4.patch","issue_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/issues/4","number":4,"state":"closed","locked":false,"title":"Changes to support e2e encryption","user":{"login":"dborkan","id":6494307,"avatar_url":"https://avatars.githubusercontent.com/u/6494307?v=3","gravatar_id":"","url":"https://api.github.com/users/dborkan","html_url":"https://github.com/dborkan","followers_url":"https://api.github.com/users/dborkan/followers","following_url":"https://api.github.com/users/dborkan/following{/other_user}","gists_url":"https://api.github.com/users/dborkan/gists{/gist_id}","starred_url":"https://api.github.com/users/dborkan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dborkan/subscriptions","organizations_url":"https://api.github.com/users/dborkan/orgs","repos_url":"https://api.github.com/users/dborkan/repos","events_url":"https://api.github.com/users/dborkan/events{/privacy}","received_events_url":"https://api.github.com/users/dborkan/received_events","type":"User","site_admin":false},"body":"Changes to support e2d encryption in freedom-social-quiver.  All encryption + decryption will be done in uProxy.\r\n\r\n* Set clientSuffix_ in login, using loginOpts.agent (same logic as Firebase social providers).  clientId is now in the form of ```userId + ':' + publicKey``` (unfortunately we can't easily set clientId=publicKey because ```sendMessage``` takes the clientId as input, and relies on it to contain the userId\r\n* ```acceptUserInvitation``` now takes an additional ```inviteUserData``` string param.  If Alice sends Bob a Quiver invite, Bob's uProxy should pass some encrypted data (Bob's public key) as the inviteUserData.  Then on Alice's side, when she gets an onClientState for Bob, it will contain this string.\r\n\r\nAfter corresponding changes are made to uProxy, we can remove the knockCodes from Quiver (uProxy will add it's own permission code to invites, which will be useful for other networks, and for initializing get/share permission as part of invites)","created_at":"2015-11-04T18:45:30Z","updated_at":"2015-11-13T00:12:46Z","closed_at":"2015-11-13T00:12:46Z","merged_at":"2015-11-13T00:12:46Z","merge_commit_sha":"f231115d92139f8153b7790cd81b502a59c3534f","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/pulls/4/commits","review_comments_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/pulls/4/comments","review_comment_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/pulls/comments{/number}","comments_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/issues/4/comments","statuses_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/statuses/31c3032ed6c08feba1cac0fcf5d14f5cd10fd017","head":{"label":"bemasc:dborkan-quiver-encryption","ref":"dborkan-quiver-encryption","sha":"31c3032ed6c08feba1cac0fcf5d14f5cd10fd017","user":{"login":"bemasc","id":191945,"avatar_url":"https://avatars.githubusercontent.com/u/191945?v=3","gravatar_id":"","url":"https://api.github.com/users/bemasc","html_url":"https://github.com/bemasc","followers_url":"https://api.github.com/users/bemasc/followers","following_url":"https://api.github.com/users/bemasc/following{/other_user}","gists_url":"https://api.github.com/users/bemasc/gists{/gist_id}","starred_url":"https://api.github.com/users/bemasc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bemasc/subscriptions","organizations_url":"https://api.github.com/users/bemasc/orgs","repos_url":"https://api.github.com/users/bemasc/repos","events_url":"https://api.github.com/users/bemasc/events{/privacy}","received_events_url":"https://api.github.com/users/bemasc/received_events","type":"User","site_admin":false},"repo":{"id":22353826,"name":"freedom-social-quiver","full_name":"bemasc/freedom-social-quiver","owner":{"login":"bemasc","id":191945,"avatar_url":"https://avatars.githubusercontent.com/u/191945?v=3","gravatar_id":"","url":"https://api.github.com/users/bemasc","html_url":"https://github.com/bemasc","followers_url":"https://api.github.com/users/bemasc/followers","following_url":"https://api.github.com/users/bemasc/following{/other_user}","gists_url":"https://api.github.com/users/bemasc/gists{/gist_id}","starred_url":"https://api.github.com/users/bemasc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bemasc/subscriptions","organizations_url":"https://api.github.com/users/bemasc/orgs","repos_url":"https://api.github.com/users/bemasc/repos","events_url":"https://api.github.com/users/bemasc/events{/privacy}","received_events_url":"https://api.github.com/users/bemasc/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/bemasc/freedom-social-quiver","description":"A Websocket-based social provider for Freedom that is structured as a directional multigraph","fork":false,"url":"https://api.github.com/repos/bemasc/freedom-social-quiver","forks_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/forks","keys_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/teams","hooks_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/hooks","issue_events_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/issues/events{/number}","events_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/events","assignees_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/assignees{/user}","branches_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/branches{/branch}","tags_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/tags","blobs_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/git/refs{/sha}","trees_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/statuses/{sha}","languages_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/languages","stargazers_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/stargazers","contributors_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/contributors","subscribers_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/subscribers","subscription_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/subscription","commits_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/commits{/sha}","git_commits_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/git/commits{/sha}","comments_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/comments{/number}","issue_comment_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/issues/comments{/number}","contents_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/contents/{+path}","compare_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/merges","archive_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/downloads","issues_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/issues{/number}","pulls_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/pulls{/number}","milestones_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/milestones{/number}","notifications_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/labels{/name}","releases_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/releases{/id}","created_at":"2014-07-28T18:50:02Z","updated_at":"2014-07-28T21:37:20Z","pushed_at":"2015-11-13T00:12:46Z","git_url":"git://github.com/bemasc/freedom-social-quiver.git","ssh_url":"git@github.com:bemasc/freedom-social-quiver.git","clone_url":"https://github.com/bemasc/freedom-social-quiver.git","svn_url":"https://github.com/bemasc/freedom-social-quiver","homepage":null,"size":280,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"bemasc:bemasc-socketio-nofront","ref":"bemasc-socketio-nofront","sha":"9a1f7d10ba2893f5dadd22aa46a7cd8e7d5c6bcd","user":{"login":"bemasc","id":191945,"avatar_url":"https://avatars.githubusercontent.com/u/191945?v=3","gravatar_id":"","url":"https://api.github.com/users/bemasc","html_url":"https://github.com/bemasc","followers_url":"https://api.github.com/users/bemasc/followers","following_url":"https://api.github.com/users/bemasc/following{/other_user}","gists_url":"https://api.github.com/users/bemasc/gists{/gist_id}","starred_url":"https://api.github.com/users/bemasc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bemasc/subscriptions","organizations_url":"https://api.github.com/users/bemasc/orgs","repos_url":"https://api.github.com/users/bemasc/repos","events_url":"https://api.github.com/users/bemasc/events{/privacy}","received_events_url":"https://api.github.com/users/bemasc/received_events","type":"User","site_admin":false},"repo":{"id":22353826,"name":"freedom-social-quiver","full_name":"bemasc/freedom-social-quiver","owner":{"login":"bemasc","id":191945,"avatar_url":"https://avatars.githubusercontent.com/u/191945?v=3","gravatar_id":"","url":"https://api.github.com/users/bemasc","html_url":"https://github.com/bemasc","followers_url":"https://api.github.com/users/bemasc/followers","following_url":"https://api.github.com/users/bemasc/following{/other_user}","gists_url":"https://api.github.com/users/bemasc/gists{/gist_id}","starred_url":"https://api.github.com/users/bemasc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bemasc/subscriptions","organizations_url":"https://api.github.com/users/bemasc/orgs","repos_url":"https://api.github.com/users/bemasc/repos","events_url":"https://api.github.com/users/bemasc/events{/privacy}","received_events_url":"https://api.github.com/users/bemasc/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/bemasc/freedom-social-quiver","description":"A Websocket-based social provider for Freedom that is structured as a directional multigraph","fork":false,"url":"https://api.github.com/repos/bemasc/freedom-social-quiver","forks_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/forks","keys_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/teams","hooks_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/hooks","issue_events_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/issues/events{/number}","events_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/events","assignees_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/assignees{/user}","branches_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/branches{/branch}","tags_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/tags","blobs_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/git/refs{/sha}","trees_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/statuses/{sha}","languages_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/languages","stargazers_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/stargazers","contributors_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/contributors","subscribers_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/subscribers","subscription_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/subscription","commits_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/commits{/sha}","git_commits_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/git/commits{/sha}","comments_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/comments{/number}","issue_comment_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/issues/comments{/number}","contents_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/contents/{+path}","compare_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/merges","archive_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/downloads","issues_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/issues{/number}","pulls_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/pulls{/number}","milestones_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/milestones{/number}","notifications_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/labels{/name}","releases_url":"https://api.github.com/repos/bemasc/freedom-social-quiver/releases{/id}","created_at":"2014-07-28T18:50:02Z","updated_at":"2014-07-28T21:37:20Z","pushed_at":"2015-11-13T00:12:46Z","git_url":"git://github.com/bemasc/freedom-social-quiver.git","ssh_url":"git@github.com:bemasc/freedom-social-quiver.git","clone_url":"https://github.com/bemasc/freedom-social-quiver.git","svn_url":"https://github.com/bemasc/freedom-social-quiver","homepage":null,"size":280,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/bemasc/freedom-social-quiver/pulls/4"},"html":{"href":"https://github.com/bemasc/freedom-social-quiver/pull/4"},"issue":{"href":"https://api.github.com/repos/bemasc/freedom-social-quiver/issues/4"},"comments":{"href":"https://api.github.com/repos/bemasc/freedom-social-quiver/issues/4/comments"},"review_comments":{"href":"https://api.github.com/repos/bemasc/freedom-social-quiver/pulls/4/comments"},"review_comment":{"href":"https://api.github.com/repos/bemasc/freedom-social-quiver/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/bemasc/freedom-social-quiver/pulls/4/commits"},"statuses":{"href":"https://api.github.com/repos/bemasc/freedom-social-quiver/statuses/31c3032ed6c08feba1cac0fcf5d14f5cd10fd017"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"bemasc","id":191945,"avatar_url":"https://avatars.githubusercontent.com/u/191945?v=3","gravatar_id":"","url":"https://api.github.com/users/bemasc","html_url":"https://github.com/bemasc","followers_url":"https://api.github.com/users/bemasc/followers","following_url":"https://api.github.com/users/bemasc/following{/other_user}","gists_url":"https://api.github.com/users/bemasc/gists{/gist_id}","starred_url":"https://api.github.com/users/bemasc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bemasc/subscriptions","organizations_url":"https://api.github.com/users/bemasc/orgs","repos_url":"https://api.github.com/users/bemasc/repos","events_url":"https://api.github.com/users/bemasc/events{/privacy}","received_events_url":"https://api.github.com/users/bemasc/received_events","type":"User","site_admin":false},"comments":0,"review_comments":3,"commits":5,"additions":28,"deletions":15,"changed_files":4}}