To close this issue what I have done is retrieve the username and thus the profile picture for anyone who has their email specified as the github no reply email. This was done similar to #123 for the same reasons @Buster-Darragh-Major provided in the description.
Fetching profiles for non-github emails could be done, however a new issue should probably be opened for retrieving the usernames. Otherwise I think it is sufficient to fetch the profile pictures for the github user emails only.
Testing:
Must be done manually.
Steps for manual testing:
Open VisualGit.
Open a repository with github and non github users. (VisualGit is good).
Verify that users with @noreply.github.com emails have their github profile picture shown.
Verify that users with other emails have the first letter of their name or email shown.
Checklist:
[x] Changes rebased on top of latest master
[x] Tests covering all changes
[x] Meets the projects coding conventions
[x] No out of scope changes
[x] @Mentioned any relevant team members
[x] Included a relevant gif (search here for inspiration)
Related Issue/Keyword:
Closes #52.
Description:
So I spent a few of hours on this but it is proving ridiculously difficult to get the github usernames from the name+email combination because of rate limits on the github api and the asynchronicity of the whole thing. See https://api.github.com/rate_limit for rate limits. To retrieve the github username the following endpoint can be used: https://api.github.com/search/users?q=liamtbrand%40gmail.com%20in%3Aemail.
To close this issue what I have done is retrieve the username and thus the profile picture for anyone who has their email specified as the github no reply email. This was done similar to #123 for the same reasons @Buster-Darragh-Major provided in the description.
Fetching profiles for non-github emails could be done, however a new issue should probably be opened for retrieving the usernames. Otherwise I think it is sufficient to fetch the profile pictures for the github user emails only.
Testing:
Must be done manually.
Steps for manual testing:
Checklist: