{"action":"created","comment":{"url":"https://api.github.com/repos/shurcooL/Go-Package-Store/pulls/comments/111450800","pull_request_review_id":32699642,"id":111450800,"diff_hunk":"@@ -0,0 +1,169 @@\n+package component\n+\n+import (\n+\t\"fmt\"\n+\n+\t\"github.com/shurcooL/htmlg\"\n+\t\"golang.org/x/net/html\"\n+\t\"golang.org/x/net/html/atom\"\n+)\n+\n+type Header struct{}\n+\n+func (Header) Render() []*html.Node {","path":"component/header.go","position":13,"original_position":13,"commit_id":"f0ae285da42fb7815473782830c155f55a95f374","original_commit_id":"f0ae285da42fb7815473782830c155f55a95f374","user":{"login":"gopherci[bot]","id":24670144,"avatar_url":"https://avatars0.githubusercontent.com/in/889?v=3","gravatar_id":"","url":"https://api.github.com/users/gopherci%5Bbot%5D","html_url":"https://github.com/integration/gopherci","followers_url":"https://api.github.com/users/gopherci%5Bbot%5D/followers","following_url":"https://api.github.com/users/gopherci%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/gopherci%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/gopherci%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gopherci%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/gopherci%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/gopherci%5Bbot%5D/repos","events_url":"https://api.github.com/users/gopherci%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/gopherci%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"golint: exported method Header.Render should have comment or be unexported","created_at":"2017-04-13T18:04:19Z","updated_at":"2017-04-13T18:04:19Z","html_url":"https://github.com/shurcooL/Go-Package-Store/pull/71#discussion_r111450800","pull_request_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/pulls/71","_links":{"self":{"href":"https://api.github.com/repos/shurcooL/Go-Package-Store/pulls/comments/111450800"},"html":{"href":"https://github.com/shurcooL/Go-Package-Store/pull/71#discussion_r111450800"},"pull_request":{"href":"https://api.github.com/repos/shurcooL/Go-Package-Store/pulls/71"}}},"pull_request":{"url":"https://api.github.com/repos/shurcooL/Go-Package-Store/pulls/71","id":107948548,"html_url":"https://github.com/shurcooL/Go-Package-Store/pull/71","diff_url":"https://github.com/shurcooL/Go-Package-Store/pull/71.diff","patch_url":"https://github.com/shurcooL/Go-Package-Store/pull/71.patch","issue_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/issues/71","number":71,"state":"open","locked":false,"title":"Render HTML on frontend, add \"Update All\" button.","user":{"login":"shurcooL","id":1924134,"avatar_url":"https://avatars0.githubusercontent.com/u/1924134?v=3","gravatar_id":"","url":"https://api.github.com/users/shurcooL","html_url":"https://github.com/shurcooL","followers_url":"https://api.github.com/users/shurcooL/followers","following_url":"https://api.github.com/users/shurcooL/following{/other_user}","gists_url":"https://api.github.com/users/shurcooL/gists{/gist_id}","starred_url":"https://api.github.com/users/shurcooL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shurcooL/subscriptions","organizations_url":"https://api.github.com/users/shurcooL/orgs","repos_url":"https://api.github.com/users/shurcooL/repos","events_url":"https://api.github.com/users/shurcooL/events{/privacy}","received_events_url":"https://api.github.com/users/shurcooL/received_events","type":"User","site_admin":false},"body":"This is a large change that primarily moves HTML rendering and display logic from backend to frontend (#67).\r\n\r\nPreviously, the HTML for displaying updates was rendered on backend and streamed to browser. This worked surprisingly well and got me far, but in order to be able to have more fine grained control over frontend details, it was no longer viable to keep doing that. Now, the HTML is fully rendered on frontend, and most of the logic resides on the frontend. The backend provides services to the frontend. See issue #67 for full rationale why this is desired.\r\n\r\nImplement a long-standing feature request of having an \"Update All\" button (#6). This is both made possible and easy thanks to the frontend HTML rendering.\r\n\r\nThis change partially helps #63, but also enables potential future changes to help it even more.\r\n\r\nIn general, the move to frontend HTML rendering will help potentially achieve some of enhancements described in #8.\r\n\r\nClose #66 by removing the popup altogether. It wasn't well implemented, so it's better to remove. In the future, a better replacement implementation of the notification (without the modal popup) can be considered.\r\n\r\n- Resolves #67.\r\n- Closes #66.\r\n- Helps #63.\r\n- Helps #8.\r\n- Resolves #6.","created_at":"2017-02-25T05:55:17Z","updated_at":"2017-04-13T18:04:19Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a99022a921f8cc521281fdd771d55f53237e73e5","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/pulls/71/commits","review_comments_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/pulls/71/comments","review_comment_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/pulls/comments{/number}","comments_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/issues/71/comments","statuses_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/statuses/f0ae285da42fb7815473782830c155f55a95f374","head":{"label":"shurcooL:frontend","ref":"frontend","sha":"f0ae285da42fb7815473782830c155f55a95f374","user":{"login":"shurcooL","id":1924134,"avatar_url":"https://avatars0.githubusercontent.com/u/1924134?v=3","gravatar_id":"","url":"https://api.github.com/users/shurcooL","html_url":"https://github.com/shurcooL","followers_url":"https://api.github.com/users/shurcooL/followers","following_url":"https://api.github.com/users/shurcooL/following{/other_user}","gists_url":"https://api.github.com/users/shurcooL/gists{/gist_id}","starred_url":"https://api.github.com/users/shurcooL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shurcooL/subscriptions","organizations_url":"https://api.github.com/users/shurcooL/orgs","repos_url":"https://api.github.com/users/shurcooL/repos","events_url":"https://api.github.com/users/shurcooL/events{/privacy}","received_events_url":"https://api.github.com/users/shurcooL/received_events","type":"User","site_admin":false},"repo":{"id":16196540,"name":"Go-Package-Store","full_name":"shurcooL/Go-Package-Store","owner":{"login":"shurcooL","id":1924134,"avatar_url":"https://avatars0.githubusercontent.com/u/1924134?v=3","gravatar_id":"","url":"https://api.github.com/users/shurcooL","html_url":"https://github.com/shurcooL","followers_url":"https://api.github.com/users/shurcooL/followers","following_url":"https://api.github.com/users/shurcooL/following{/other_user}","gists_url":"https://api.github.com/users/shurcooL/gists{/gist_id}","starred_url":"https://api.github.com/users/shurcooL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shurcooL/subscriptions","organizations_url":"https://api.github.com/users/shurcooL/orgs","repos_url":"https://api.github.com/users/shurcooL/repos","events_url":"https://api.github.com/users/shurcooL/events{/privacy}","received_events_url":"https://api.github.com/users/shurcooL/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/shurcooL/Go-Package-Store","description":"An app that displays updates for the Go packages in your GOPATH.","fork":false,"url":"https://api.github.com/repos/shurcooL/Go-Package-Store","forks_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/forks","keys_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/keys{/key_id}","collaborators_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/teams","hooks_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/hooks","issue_events_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/issues/events{/number}","events_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/events","assignees_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/assignees{/user}","branches_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/branches{/branch}","tags_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/tags","blobs_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/git/refs{/sha}","trees_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/git/trees{/sha}","statuses_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/statuses/{sha}","languages_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/languages","stargazers_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/stargazers","contributors_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/contributors","subscribers_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/subscribers","subscription_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/subscription","commits_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/commits{/sha}","git_commits_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/git/commits{/sha}","comments_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/comments{/number}","issue_comment_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/issues/comments{/number}","contents_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/contents/{+path}","compare_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/compare/{base}...{head}","merges_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/merges","archive_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/downloads","issues_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/issues{/number}","pulls_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/pulls{/number}","milestones_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/milestones{/number}","notifications_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/labels{/name}","releases_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/releases{/id}","deployments_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/deployments","created_at":"2014-01-24T06:02:09Z","updated_at":"2017-04-03T19:23:22Z","pushed_at":"2017-04-13T18:02:45Z","git_url":"git://github.com/shurcooL/Go-Package-Store.git","ssh_url":"git@github.com:shurcooL/Go-Package-Store.git","clone_url":"https://github.com/shurcooL/Go-Package-Store.git","svn_url":"https://github.com/shurcooL/Go-Package-Store","homepage":"","size":5137,"stargazers_count":715,"watchers_count":715,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":18,"mirror_url":null,"open_issues_count":10,"forks":18,"open_issues":10,"watchers":715,"default_branch":"master"}},"base":{"label":"shurcooL:master","ref":"master","sha":"a8ea2dc670da286de40f43f96d8c9705b64d7bef","user":{"login":"shurcooL","id":1924134,"avatar_url":"https://avatars0.githubusercontent.com/u/1924134?v=3","gravatar_id":"","url":"https://api.github.com/users/shurcooL","html_url":"https://github.com/shurcooL","followers_url":"https://api.github.com/users/shurcooL/followers","following_url":"https://api.github.com/users/shurcooL/following{/other_user}","gists_url":"https://api.github.com/users/shurcooL/gists{/gist_id}","starred_url":"https://api.github.com/users/shurcooL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shurcooL/subscriptions","organizations_url":"https://api.github.com/users/shurcooL/orgs","repos_url":"https://api.github.com/users/shurcooL/repos","events_url":"https://api.github.com/users/shurcooL/events{/privacy}","received_events_url":"https://api.github.com/users/shurcooL/received_events","type":"User","site_admin":false},"repo":{"id":16196540,"name":"Go-Package-Store","full_name":"shurcooL/Go-Package-Store","owner":{"login":"shurcooL","id":1924134,"avatar_url":"https://avatars0.githubusercontent.com/u/1924134?v=3","gravatar_id":"","url":"https://api.github.com/users/shurcooL","html_url":"https://github.com/shurcooL","followers_url":"https://api.github.com/users/shurcooL/followers","following_url":"https://api.github.com/users/shurcooL/following{/other_user}","gists_url":"https://api.github.com/users/shurcooL/gists{/gist_id}","starred_url":"https://api.github.com/users/shurcooL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shurcooL/subscriptions","organizations_url":"https://api.github.com/users/shurcooL/orgs","repos_url":"https://api.github.com/users/shurcooL/repos","events_url":"https://api.github.com/users/shurcooL/events{/privacy}","received_events_url":"https://api.github.com/users/shurcooL/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/shurcooL/Go-Package-Store","description":"An app that displays updates for the Go packages in your GOPATH.","fork":false,"url":"https://api.github.com/repos/shurcooL/Go-Package-Store","forks_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/forks","keys_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/keys{/key_id}","collaborators_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/teams","hooks_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/hooks","issue_events_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/issues/events{/number}","events_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/events","assignees_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/assignees{/user}","branches_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/branches{/branch}","tags_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/tags","blobs_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/git/refs{/sha}","trees_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/git/trees{/sha}","statuses_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/statuses/{sha}","languages_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/languages","stargazers_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/stargazers","contributors_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/contributors","subscribers_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/subscribers","subscription_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/subscription","commits_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/commits{/sha}","git_commits_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/git/commits{/sha}","comments_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/comments{/number}","issue_comment_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/issues/comments{/number}","contents_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/contents/{+path}","compare_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/compare/{base}...{head}","merges_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/merges","archive_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/downloads","issues_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/issues{/number}","pulls_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/pulls{/number}","milestones_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/milestones{/number}","notifications_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/labels{/name}","releases_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/releases{/id}","deployments_url":"https://api.github.com/repos/shurcooL/Go-Package-Store/deployments","created_at":"2014-01-24T06:02:09Z","updated_at":"2017-04-03T19:23:22Z","pushed_at":"2017-04-13T18:02:45Z","git_url":"git://github.com/shurcooL/Go-Package-Store.git","ssh_url":"git@github.com:shurcooL/Go-Package-Store.git","clone_url":"https://github.com/shurcooL/Go-Package-Store.git","svn_url":"https://github.com/shurcooL/Go-Package-Store","homepage":"","size":5137,"stargazers_count":715,"watchers_count":715,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":18,"mirror_url":null,"open_issues_count":10,"forks":18,"open_issues":10,"watchers":715,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/shurcooL/Go-Package-Store/pulls/71"},"html":{"href":"https://github.com/shurcooL/Go-Package-Store/pull/71"},"issue":{"href":"https://api.github.com/repos/shurcooL/Go-Package-Store/issues/71"},"comments":{"href":"https://api.github.com/repos/shurcooL/Go-Package-Store/issues/71/comments"},"review_comments":{"href":"https://api.github.com/repos/shurcooL/Go-Package-Store/pulls/71/comments"},"review_comment":{"href":"https://api.github.com/repos/shurcooL/Go-Package-Store/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/shurcooL/Go-Package-Store/pulls/71/commits"},"statuses":{"href":"https://api.github.com/repos/shurcooL/Go-Package-Store/statuses/f0ae285da42fb7815473782830c155f55a95f374"}}}}
{"actor":{"display_login":"gopherci"}}