{"action":"created","comment":{"url":"https://api.github.com/repos/lbryio/lbry-app/pulls/comments/176089710","pull_request_review_id":105730725,"id":176089710,"diff_hunk":"@@ -0,0 +1,32 @@\n+import React from 'react';\n+import { isURIValid, normalizeURI } from 'lbryURI';\n+import FileTile from 'component/fileTile';\n+import FileListSearch from 'component/fileListSearch';\n+import { ToolTip } from 'component/tooltip.js';\n+import SubHeader from 'component/subHeader';\n+\n+class UserHistoryPage extends React.PureComponent {\n+  render() {\n+    const { history } = this.props;","path":"src/renderer/page/user_history/view.jsx","position":10,"original_position":10,"commit_id":"95c5b01b039cb019ae93b21e73aed4d82d7a0a52","original_commit_id":"95c5b01b039cb019ae93b21e73aed4d82d7a0a52","user":{"login":"codacy-bot","id":19940114,"avatar_url":"https://avatars1.githubusercontent.com/u/19940114?v=4","gravatar_id":"","url":"https://api.github.com/users/codacy-bot","html_url":"https://github.com/codacy-bot","followers_url":"https://api.github.com/users/codacy-bot/followers","following_url":"https://api.github.com/users/codacy-bot/following{/other_user}","gists_url":"https://api.github.com/users/codacy-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/codacy-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codacy-bot/subscriptions","organizations_url":"https://api.github.com/users/codacy-bot/orgs","repos_url":"https://api.github.com/users/codacy-bot/repos","events_url":"https://api.github.com/users/codacy-bot/events{/privacy}","received_events_url":"https://api.github.com/users/codacy-bot/received_events","type":"User","site_admin":false},"body":"![Codacy](https://app.codacy.com/assets/images/favicon.png) Issue found: ['history' is missing in props validation (react/prop-types)](https://app.codacy.com/app/LBRY/lbry-app/pullRequest?prid=1457115)","created_at":"2018-03-21T13:58:27Z","updated_at":"2018-03-21T13:58:28Z","html_url":"https://github.com/lbryio/lbry-app/pull/1156#discussion_r176089710","pull_request_url":"https://api.github.com/repos/lbryio/lbry-app/pulls/1156","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/lbryio/lbry-app/pulls/comments/176089710"},"html":{"href":"https://github.com/lbryio/lbry-app/pull/1156#discussion_r176089710"},"pull_request":{"href":"https://api.github.com/repos/lbryio/lbry-app/pulls/1156"}}},"pull_request":{"url":"https://api.github.com/repos/lbryio/lbry-app/pulls/1156","id":176483212,"html_url":"https://github.com/lbryio/lbry-app/pull/1156","diff_url":"https://github.com/lbryio/lbry-app/pull/1156.diff","patch_url":"https://github.com/lbryio/lbry-app/pull/1156.patch","issue_url":"https://api.github.com/repos/lbryio/lbry-app/issues/1156","number":1156,"state":"open","locked":false,"title":"Track User History","user":{"login":"daovist","id":34498824,"avatar_url":"https://avatars2.githubusercontent.com/u/34498824?v=4","gravatar_id":"","url":"https://api.github.com/users/daovist","html_url":"https://github.com/daovist","followers_url":"https://api.github.com/users/daovist/followers","following_url":"https://api.github.com/users/daovist/following{/other_user}","gists_url":"https://api.github.com/users/daovist/gists{/gist_id}","starred_url":"https://api.github.com/users/daovist/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/daovist/subscriptions","organizations_url":"https://api.github.com/users/daovist/orgs","repos_url":"https://api.github.com/users/daovist/repos","events_url":"https://api.github.com/users/daovist/events{/privacy}","received_events_url":"https://api.github.com/users/daovist/received_events","type":"User","site_admin":false},"body":"This is a start on #1009 from @seanyesmunt \r\n\r\nI'm saving `state.user.history` in the form `{\"uri\": last_viewed_timestamp}`\r\n\r\nI put History in the home page's SubHeader but it could also go in Settings or somewhere else. I picture the home page as Discover, Subscriptions, Playlists, History. Can move wherever though.\r\n\r\nI assume there should be an opt-out setting.\r\n\r\nI'm hitting a name collision with the existing history page in the navigation selector. I think this should be called History and that should be called Transactions. Here I have the switch case condition as `user_history` and it comes up `User_history` in Wunderbar.\r\n\r\nIt only works for content so far, not channels. I'm trying to make a higher order component for that.\r\n\r\nI am also curious how you think the UI should work. I am doing a hackish copy of search results but can also see `FileTile`","created_at":"2018-03-21T13:54:50Z","updated_at":"2018-03-21T13:58:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ec55cd9d9896a709e1a7d0dfa8218a21b8c0887e","assignee":{"login":"seanyesmunt","id":16882830,"avatar_url":"https://avatars0.githubusercontent.com/u/16882830?v=4","gravatar_id":"","url":"https://api.github.com/users/seanyesmunt","html_url":"https://github.com/seanyesmunt","followers_url":"https://api.github.com/users/seanyesmunt/followers","following_url":"https://api.github.com/users/seanyesmunt/following{/other_user}","gists_url":"https://api.github.com/users/seanyesmunt/gists{/gist_id}","starred_url":"https://api.github.com/users/seanyesmunt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/seanyesmunt/subscriptions","organizations_url":"https://api.github.com/users/seanyesmunt/orgs","repos_url":"https://api.github.com/users/seanyesmunt/repos","events_url":"https://api.github.com/users/seanyesmunt/events{/privacy}","received_events_url":"https://api.github.com/users/seanyesmunt/received_events","type":"User","site_admin":false},"assignees":[{"login":"seanyesmunt","id":16882830,"avatar_url":"https://avatars0.githubusercontent.com/u/16882830?v=4","gravatar_id":"","url":"https://api.github.com/users/seanyesmunt","html_url":"https://github.com/seanyesmunt","followers_url":"https://api.github.com/users/seanyesmunt/followers","following_url":"https://api.github.com/users/seanyesmunt/following{/other_user}","gists_url":"https://api.github.com/users/seanyesmunt/gists{/gist_id}","starred_url":"https://api.github.com/users/seanyesmunt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/seanyesmunt/subscriptions","organizations_url":"https://api.github.com/users/seanyesmunt/orgs","repos_url":"https://api.github.com/users/seanyesmunt/repos","events_url":"https://api.github.com/users/seanyesmunt/events{/privacy}","received_events_url":"https://api.github.com/users/seanyesmunt/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"seanyesmunt","id":16882830,"avatar_url":"https://avatars0.githubusercontent.com/u/16882830?v=4","gravatar_id":"","url":"https://api.github.com/users/seanyesmunt","html_url":"https://github.com/seanyesmunt","followers_url":"https://api.github.com/users/seanyesmunt/followers","following_url":"https://api.github.com/users/seanyesmunt/following{/other_user}","gists_url":"https://api.github.com/users/seanyesmunt/gists{/gist_id}","starred_url":"https://api.github.com/users/seanyesmunt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/seanyesmunt/subscriptions","organizations_url":"https://api.github.com/users/seanyesmunt/orgs","repos_url":"https://api.github.com/users/seanyesmunt/repos","events_url":"https://api.github.com/users/seanyesmunt/events{/privacy}","received_events_url":"https://api.github.com/users/seanyesmunt/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/lbryio/lbry-app/pulls/1156/commits","review_comments_url":"https://api.github.com/repos/lbryio/lbry-app/pulls/1156/comments","review_comment_url":"https://api.github.com/repos/lbryio/lbry-app/pulls/comments{/number}","comments_url":"https://api.github.com/repos/lbryio/lbry-app/issues/1156/comments","statuses_url":"https://api.github.com/repos/lbryio/lbry-app/statuses/95c5b01b039cb019ae93b21e73aed4d82d7a0a52","head":{"label":"daovist:user-history","ref":"user-history","sha":"95c5b01b039cb019ae93b21e73aed4d82d7a0a52","user":{"login":"daovist","id":34498824,"avatar_url":"https://avatars2.githubusercontent.com/u/34498824?v=4","gravatar_id":"","url":"https://api.github.com/users/daovist","html_url":"https://github.com/daovist","followers_url":"https://api.github.com/users/daovist/followers","following_url":"https://api.github.com/users/daovist/following{/other_user}","gists_url":"https://api.github.com/users/daovist/gists{/gist_id}","starred_url":"https://api.github.com/users/daovist/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/daovist/subscriptions","organizations_url":"https://api.github.com/users/daovist/orgs","repos_url":"https://api.github.com/users/daovist/repos","events_url":"https://api.github.com/users/daovist/events{/privacy}","received_events_url":"https://api.github.com/users/daovist/received_events","type":"User","site_admin":false},"repo":{"id":114157588,"name":"lbry-app","full_name":"daovist/lbry-app","owner":{"login":"daovist","id":34498824,"avatar_url":"https://avatars2.githubusercontent.com/u/34498824?v=4","gravatar_id":"","url":"https://api.github.com/users/daovist","html_url":"https://github.com/daovist","followers_url":"https://api.github.com/users/daovist/followers","following_url":"https://api.github.com/users/daovist/following{/other_user}","gists_url":"https://api.github.com/users/daovist/gists{/gist_id}","starred_url":"https://api.github.com/users/daovist/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/daovist/subscriptions","organizations_url":"https://api.github.com/users/daovist/orgs","repos_url":"https://api.github.com/users/daovist/repos","events_url":"https://api.github.com/users/daovist/events{/privacy}","received_events_url":"https://api.github.com/users/daovist/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/daovist/lbry-app","description":"A browser and wallet for LBRY, the decentralized, user-controlled content marketplace.","fork":true,"url":"https://api.github.com/repos/daovist/lbry-app","forks_url":"https://api.github.com/repos/daovist/lbry-app/forks","keys_url":"https://api.github.com/repos/daovist/lbry-app/keys{/key_id}","collaborators_url":"https://api.github.com/repos/daovist/lbry-app/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/daovist/lbry-app/teams","hooks_url":"https://api.github.com/repos/daovist/lbry-app/hooks","issue_events_url":"https://api.github.com/repos/daovist/lbry-app/issues/events{/number}","events_url":"https://api.github.com/repos/daovist/lbry-app/events","assignees_url":"https://api.github.com/repos/daovist/lbry-app/assignees{/user}","branches_url":"https://api.github.com/repos/daovist/lbry-app/branches{/branch}","tags_url":"https://api.github.com/repos/daovist/lbry-app/tags","blobs_url":"https://api.github.com/repos/daovist/lbry-app/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/daovist/lbry-app/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/daovist/lbry-app/git/refs{/sha}","trees_url":"https://api.github.com/repos/daovist/lbry-app/git/trees{/sha}","statuses_url":"https://api.github.com/repos/daovist/lbry-app/statuses/{sha}","languages_url":"https://api.github.com/repos/daovist/lbry-app/languages","stargazers_url":"https://api.github.com/repos/daovist/lbry-app/stargazers","contributors_url":"https://api.github.com/repos/daovist/lbry-app/contributors","subscribers_url":"https://api.github.com/repos/daovist/lbry-app/subscribers","subscription_url":"https://api.github.com/repos/daovist/lbry-app/subscription","commits_url":"https://api.github.com/repos/daovist/lbry-app/commits{/sha}","git_commits_url":"https://api.github.com/repos/daovist/lbry-app/git/commits{/sha}","comments_url":"https://api.github.com/repos/daovist/lbry-app/comments{/number}","issue_comment_url":"https://api.github.com/repos/daovist/lbry-app/issues/comments{/number}","contents_url":"https://api.github.com/repos/daovist/lbry-app/contents/{+path}","compare_url":"https://api.github.com/repos/daovist/lbry-app/compare/{base}...{head}","merges_url":"https://api.github.com/repos/daovist/lbry-app/merges","archive_url":"https://api.github.com/repos/daovist/lbry-app/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/daovist/lbry-app/downloads","issues_url":"https://api.github.com/repos/daovist/lbry-app/issues{/number}","pulls_url":"https://api.github.com/repos/daovist/lbry-app/pulls{/number}","milestones_url":"https://api.github.com/repos/daovist/lbry-app/milestones{/number}","notifications_url":"https://api.github.com/repos/daovist/lbry-app/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/daovist/lbry-app/labels{/name}","releases_url":"https://api.github.com/repos/daovist/lbry-app/releases{/id}","deployments_url":"https://api.github.com/repos/daovist/lbry-app/deployments","created_at":"2017-12-13T18:55:51Z","updated_at":"2018-03-21T13:48:13Z","pushed_at":"2018-03-21T13:50:14Z","git_url":"git://github.com/daovist/lbry-app.git","ssh_url":"git@github.com:daovist/lbry-app.git","clone_url":"https://github.com/daovist/lbry-app.git","svn_url":"https://github.com/daovist/lbry-app","homepage":"https://lbry.io","size":18649,"stargazers_count":1,"watchers_count":1,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":0,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"lbryio:master","ref":"master","sha":"cc62938e7b865c2baff954243a3fe5fa952aa91b","user":{"login":"lbryio","id":13889222,"avatar_url":"https://avatars3.githubusercontent.com/u/13889222?v=4","gravatar_id":"","url":"https://api.github.com/users/lbryio","html_url":"https://github.com/lbryio","followers_url":"https://api.github.com/users/lbryio/followers","following_url":"https://api.github.com/users/lbryio/following{/other_user}","gists_url":"https://api.github.com/users/lbryio/gists{/gist_id}","starred_url":"https://api.github.com/users/lbryio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lbryio/subscriptions","organizations_url":"https://api.github.com/users/lbryio/orgs","repos_url":"https://api.github.com/users/lbryio/repos","events_url":"https://api.github.com/users/lbryio/events{/privacy}","received_events_url":"https://api.github.com/users/lbryio/received_events","type":"Organization","site_admin":false},"repo":{"id":79149882,"name":"lbry-app","full_name":"lbryio/lbry-app","owner":{"login":"lbryio","id":13889222,"avatar_url":"https://avatars3.githubusercontent.com/u/13889222?v=4","gravatar_id":"","url":"https://api.github.com/users/lbryio","html_url":"https://github.com/lbryio","followers_url":"https://api.github.com/users/lbryio/followers","following_url":"https://api.github.com/users/lbryio/following{/other_user}","gists_url":"https://api.github.com/users/lbryio/gists{/gist_id}","starred_url":"https://api.github.com/users/lbryio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lbryio/subscriptions","organizations_url":"https://api.github.com/users/lbryio/orgs","repos_url":"https://api.github.com/users/lbryio/repos","events_url":"https://api.github.com/users/lbryio/events{/privacy}","received_events_url":"https://api.github.com/users/lbryio/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/lbryio/lbry-app","description":"A browser and wallet for LBRY, the decentralized, user-controlled content marketplace.","fork":false,"url":"https://api.github.com/repos/lbryio/lbry-app","forks_url":"https://api.github.com/repos/lbryio/lbry-app/forks","keys_url":"https://api.github.com/repos/lbryio/lbry-app/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lbryio/lbry-app/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lbryio/lbry-app/teams","hooks_url":"https://api.github.com/repos/lbryio/lbry-app/hooks","issue_events_url":"https://api.github.com/repos/lbryio/lbry-app/issues/events{/number}","events_url":"https://api.github.com/repos/lbryio/lbry-app/events","assignees_url":"https://api.github.com/repos/lbryio/lbry-app/assignees{/user}","branches_url":"https://api.github.com/repos/lbryio/lbry-app/branches{/branch}","tags_url":"https://api.github.com/repos/lbryio/lbry-app/tags","blobs_url":"https://api.github.com/repos/lbryio/lbry-app/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lbryio/lbry-app/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lbryio/lbry-app/git/refs{/sha}","trees_url":"https://api.github.com/repos/lbryio/lbry-app/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lbryio/lbry-app/statuses/{sha}","languages_url":"https://api.github.com/repos/lbryio/lbry-app/languages","stargazers_url":"https://api.github.com/repos/lbryio/lbry-app/stargazers","contributors_url":"https://api.github.com/repos/lbryio/lbry-app/contributors","subscribers_url":"https://api.github.com/repos/lbryio/lbry-app/subscribers","subscription_url":"https://api.github.com/repos/lbryio/lbry-app/subscription","commits_url":"https://api.github.com/repos/lbryio/lbry-app/commits{/sha}","git_commits_url":"https://api.github.com/repos/lbryio/lbry-app/git/commits{/sha}","comments_url":"https://api.github.com/repos/lbryio/lbry-app/comments{/number}","issue_comment_url":"https://api.github.com/repos/lbryio/lbry-app/issues/comments{/number}","contents_url":"https://api.github.com/repos/lbryio/lbry-app/contents/{+path}","compare_url":"https://api.github.com/repos/lbryio/lbry-app/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lbryio/lbry-app/merges","archive_url":"https://api.github.com/repos/lbryio/lbry-app/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lbryio/lbry-app/downloads","issues_url":"https://api.github.com/repos/lbryio/lbry-app/issues{/number}","pulls_url":"https://api.github.com/repos/lbryio/lbry-app/pulls{/number}","milestones_url":"https://api.github.com/repos/lbryio/lbry-app/milestones{/number}","notifications_url":"https://api.github.com/repos/lbryio/lbry-app/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lbryio/lbry-app/labels{/name}","releases_url":"https://api.github.com/repos/lbryio/lbry-app/releases{/id}","deployments_url":"https://api.github.com/repos/lbryio/lbry-app/deployments","created_at":"2017-01-16T19:05:32Z","updated_at":"2018-03-21T13:40:19Z","pushed_at":"2018-03-21T13:54:51Z","git_url":"git://github.com/lbryio/lbry-app.git","ssh_url":"git@github.com:lbryio/lbry-app.git","clone_url":"https://github.com/lbryio/lbry-app.git","svn_url":"https://github.com/lbryio/lbry-app","homepage":"https://lbry.io","size":19251,"stargazers_count":331,"watchers_count":331,"language":"JavaScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":97,"mirror_url":null,"archived":false,"open_issues_count":227,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":97,"open_issues":227,"watchers":331,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/lbryio/lbry-app/pulls/1156"},"html":{"href":"https://github.com/lbryio/lbry-app/pull/1156"},"issue":{"href":"https://api.github.com/repos/lbryio/lbry-app/issues/1156"},"comments":{"href":"https://api.github.com/repos/lbryio/lbry-app/issues/1156/comments"},"review_comments":{"href":"https://api.github.com/repos/lbryio/lbry-app/pulls/1156/comments"},"review_comment":{"href":"https://api.github.com/repos/lbryio/lbry-app/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/lbryio/lbry-app/pulls/1156/commits"},"statuses":{"href":"https://api.github.com/repos/lbryio/lbry-app/statuses/95c5b01b039cb019ae93b21e73aed4d82d7a0a52"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"codacy-bot"}}