{"action":"created","issue":{"url":"https://api.github.com/repos/CenterForOpenScience/osf.io/issues/5400","repository_url":"https://api.github.com/repos/CenterForOpenScience/osf.io","labels_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/issues/5400/labels{/name}","comments_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/issues/5400/comments","events_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/issues/5400/events","html_url":"https://github.com/CenterForOpenScience/osf.io/pull/5400","id":146358519,"number":5400,"title":"Resolve twitter handles","user":{"login":"kch8qx","id":7120154,"avatar_url":"https://avatars.githubusercontent.com/u/7120154?v=3","gravatar_id":"","url":"https://api.github.com/users/kch8qx","html_url":"https://github.com/kch8qx","followers_url":"https://api.github.com/users/kch8qx/followers","following_url":"https://api.github.com/users/kch8qx/following{/other_user}","gists_url":"https://api.github.com/users/kch8qx/gists{/gist_id}","starred_url":"https://api.github.com/users/kch8qx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kch8qx/subscriptions","organizations_url":"https://api.github.com/users/kch8qx/orgs","repos_url":"https://api.github.com/users/kch8qx/repos","events_url":"https://api.github.com/users/kch8qx/events{/privacy}","received_events_url":"https://api.github.com/users/kch8qx/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/CenterForOpenScience/osf.io/milestones/68","html_url":"https://github.com/CenterForOpenScience/osf.io/milestones/69.0.0","labels_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/milestones/68/labels","id":1704484,"number":68,"title":"69.0.0","description":"","creator":{"login":"sloria","id":2379650,"avatar_url":"https://avatars.githubusercontent.com/u/2379650?v=3","gravatar_id":"","url":"https://api.github.com/users/sloria","html_url":"https://github.com/sloria","followers_url":"https://api.github.com/users/sloria/followers","following_url":"https://api.github.com/users/sloria/following{/other_user}","gists_url":"https://api.github.com/users/sloria/gists{/gist_id}","starred_url":"https://api.github.com/users/sloria/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sloria/subscriptions","organizations_url":"https://api.github.com/users/sloria/orgs","repos_url":"https://api.github.com/users/sloria/repos","events_url":"https://api.github.com/users/sloria/events{/privacy}","received_events_url":"https://api.github.com/users/sloria/received_events","type":"User","site_admin":false},"open_issues":20,"closed_issues":8,"state":"open","created_at":"2016-04-13T19:02:06Z","updated_at":"2016-04-26T15:18:58Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2016-04-06T15:58:03Z","updated_at":"2016-04-26T17:40:51Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/CenterForOpenScience/osf.io/pulls/5400","html_url":"https://github.com/CenterForOpenScience/osf.io/pull/5400","diff_url":"https://github.com/CenterForOpenScience/osf.io/pull/5400.diff","patch_url":"https://github.com/CenterForOpenScience/osf.io/pull/5400.patch"},"body":"# Purpose\r\nCurrently, when editing social fields, users are able to enter Twitter handles containing '@' (e.g. '@example'). When someone then clicks on their Twitter handle from their profile, they are sent to their Twitter page (e.g. https://twitter.com/@example). This is not a problem when the handle contains only one leading '@', since pages like the above work correctly on Twitter.\r\nThe problem occurs when a user enters a Twitter handle containing more than one leading '@' (e.g. '@@@example'). In this case, this will send whoever clicks on the handle to a bad address like https://twitter.com/@@@example.\r\n\r\n# Changes\r\nThis PR removes all instances of leading '@' from user-entered Twitter handles. Twitter profiles accessed by both the user profile and the search page will lead to the correct Twitter page without any leading '@' (e.g. https://twitter.com/example for a user-entered handle of '@@@example'). \r\nThis PR also includes a migration script that any leading '@' from existing user Twitter handles, and a test of this migration script.\r\n\r\n[OSF-3617]"},"comment":{"url":"https://api.github.com/repos/CenterForOpenScience/osf.io/issues/comments/214823542","html_url":"https://github.com/CenterForOpenScience/osf.io/pull/5400#issuecomment-214823542","issue_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/issues/5400","id":214823542,"user":{"login":"brianjgeiger","id":6599111,"avatar_url":"https://avatars.githubusercontent.com/u/6599111?v=3","gravatar_id":"","url":"https://api.github.com/users/brianjgeiger","html_url":"https://github.com/brianjgeiger","followers_url":"https://api.github.com/users/brianjgeiger/followers","following_url":"https://api.github.com/users/brianjgeiger/following{/other_user}","gists_url":"https://api.github.com/users/brianjgeiger/gists{/gist_id}","starred_url":"https://api.github.com/users/brianjgeiger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brianjgeiger/subscriptions","organizations_url":"https://api.github.com/users/brianjgeiger/orgs","repos_url":"https://api.github.com/users/brianjgeiger/repos","events_url":"https://api.github.com/users/brianjgeiger/events{/privacy}","received_events_url":"https://api.github.com/users/brianjgeiger/received_events","type":"User","site_admin":false},"created_at":"2016-04-26T17:40:51Z","updated_at":"2016-04-26T17:40:51Z","body":"For the issue description, it's nice when we can show screenshots of what changes so QA can test. Could you do a couple of sets of screenshots, one with the current functionality, and one with what will be different with your changes?"}}