{"action":"created","issue":{"url":"https://api.github.com/repos/status-im/status-react/issues/5258","repository_url":"https://api.github.com/repos/status-im/status-react","labels_url":"https://api.github.com/repos/status-im/status-react/issues/5258/labels{/name}","comments_url":"https://api.github.com/repos/status-im/status-react/issues/5258/comments","events_url":"https://api.github.com/repos/status-im/status-react/issues/5258/events","html_url":"https://github.com/status-im/status-react/pull/5258","id":343572066,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAzMTcyMTU4","number":5258,"title":"[Fix #3604] ui, screens, browser, events: deduplicate browser history","user":{"login":"kennytilton","id":240190,"node_id":"MDQ6VXNlcjI0MDE5MA==","avatar_url":"https://avatars2.githubusercontent.com/u/240190?v=4","gravatar_id":"","url":"https://api.github.com/users/kennytilton","html_url":"https://github.com/kennytilton","followers_url":"https://api.github.com/users/kennytilton/followers","following_url":"https://api.github.com/users/kennytilton/following{/other_user}","gists_url":"https://api.github.com/users/kennytilton/gists{/gist_id}","starred_url":"https://api.github.com/users/kennytilton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kennytilton/subscriptions","organizations_url":"https://api.github.com/users/kennytilton/orgs","repos_url":"https://api.github.com/users/kennytilton/repos","events_url":"https://api.github.com/users/kennytilton/events{/privacy}","received_events_url":"https://api.github.com/users/kennytilton/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-07-23T10:16:54Z","updated_at":"2018-07-23T10:41:23Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/status-im/status-react/pulls/5258","html_url":"https://github.com/status-im/status-react/pull/5258","diff_url":"https://github.com/status-im/status-react/pull/5258.diff","patch_url":"https://github.com/status-im/status-react/pull/5258.patch"},"body":"This PR addresses the original issue of chat list clutter by deduplicating the underlying browser history used to populate the chat list.\r\n\r\nFixes #3604\r\n\r\n### Summary:\r\n\r\n[comment]: # The user chat list screen showed duplicate elements for repeated browser visits to the same URL. By changing the :browser-id in browser objects to be the URL visited instead of a random key, we arrange for repeated visits to be collected under one history. This parallels the use of Dapp names for Dapp launch history. The browser history structure drives the user chat list screen, so this change has the desired effect of reducing chat list clutter.\r\n\r\n### Review notes:\r\nNothing is done about existing browser history pulled from device storage, so historical browsing data will still be keyed by a random key. In turn, new visits to an historical URL will be recorded as new sites and the chat list will still show duplicates. \r\n\r\n### Testing notes:\r\nThis has been tested only on an iOS sim. We first tested with historical browsing history still in place, then erased the virtual device and re-tested.\r\n\r\nNote that logic existing prior to this change already de-duplicated *consecutive* visits to the same URL, so to fully exercise the fix we need to alternate with a second URL then return to the first.\r\n\r\n### Steps to test:\r\n- Open Status\r\n- Visit a public chat\r\n- Look for a URL, or send a message with a URL, then visit that URL in Status\r\n- Repeat by visiting a second URL\r\n- Return to the chat/browser list and confirm both URLs appear\r\n- Visit the first URL\r\n- Return to the chat/browser list and confirm the URL just visited appears only once.\r\n\r\nstatus: ready "},"comment":{"url":"https://api.github.com/repos/status-im/status-react/issues/comments/407015347","html_url":"https://github.com/status-im/status-react/pull/5258#issuecomment-407015347","issue_url":"https://api.github.com/repos/status-im/status-react/issues/5258","id":407015347,"node_id":"MDEyOklzc3VlQ29tbWVudDQwNzAxNTM0Nw==","user":{"login":"flexsurfer","id":11790366,"node_id":"MDQ6VXNlcjExNzkwMzY2","avatar_url":"https://avatars1.githubusercontent.com/u/11790366?v=4","gravatar_id":"","url":"https://api.github.com/users/flexsurfer","html_url":"https://github.com/flexsurfer","followers_url":"https://api.github.com/users/flexsurfer/followers","following_url":"https://api.github.com/users/flexsurfer/following{/other_user}","gists_url":"https://api.github.com/users/flexsurfer/gists{/gist_id}","starred_url":"https://api.github.com/users/flexsurfer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flexsurfer/subscriptions","organizations_url":"https://api.github.com/users/flexsurfer/orgs","repos_url":"https://api.github.com/users/flexsurfer/repos","events_url":"https://api.github.com/users/flexsurfer/events{/privacy}","received_events_url":"https://api.github.com/users/flexsurfer/received_events","type":"User","site_admin":false},"created_at":"2018-07-23T10:41:23Z","updated_at":"2018-07-23T10:41:23Z","author_association":"MEMBER","body":"thanks @kennytilton looks good, left some small comments"}}
{"actor":{"display_login":"flexsurfer"}}