{"push_id":1456174493,"size":17,"distinct_size":17,"ref":"refs/heads/master","head":"f5c742217268c5ad00c0e8063919947a67cf760a","before":"37c986be6286b746d9c2c96eaa5b024665367ccb","commits":[{"sha":"43558bb8dd63a5389fcf65e9d48a99a16578b493","author":{"name":"Anthony Williams","email":"30457071273b9dd9964fb897e21ea3b5b0053444@antw.io"},"message":"Use custom next-question timer in test env\n\nInstead of waiting 2 seconds in the test environment for the next\nquestion to load, wait for only 1ms. Significantly speeds up the Root\ntests.","distinct":true,"url":"https://api.github.com/repos/quintel/etmobile/commits/43558bb8dd63a5389fcf65e9d48a99a16578b493"},{"sha":"d2484b7771692a521a0d6cfe16837d3add1f259d","author":{"name":"Anthony Williams","email":"30457071273b9dd9964fb897e21ea3b5b0053444@antw.io"},"message":"Add new challenge page, Firebase\n\n* Adds React Router so that we may display different pages. Currently\n  uses HashRouter to support continued deployment to GitHub pages.\n\n* Adds a page for visitors to create a new challenge. Challenges are\n  saved to Firebase.\n\n* Adds randomId and challengeExpiry helpers to generate random\n  16-character IDs and create expiry dates for challenges.","distinct":true,"url":"https://api.github.com/repos/quintel/etmobile/commits/d2484b7771692a521a0d6cfe16837d3add1f259d"},{"sha":"c32e9e810b184abe1768b909d78bf9e96e260214","author":{"name":"Anthony Williams","email":"30457071273b9dd9964fb897e21ea3b5b0053444@antw.io"},"message":"Extract common header into a Header component","distinct":true,"url":"https://api.github.com/repos/quintel/etmobile/commits/c32e9e810b184abe1768b909d78bf9e96e260214"},{"sha":"f4608460f9b13de5d5ee8eb023de7469bcddb011","author":{"name":"Anthony Williams","email":"30457071273b9dd9964fb897e21ea3b5b0053444@antw.io"},"message":"Persist high scores to Firebase\n\n* Adds persistence of high scores to Firebase. Challenge-scoped games\n  will save to both the challenge leaderboard and the \"all\" leaderboard.\n\n* Adds getPlayerId to assign/fetch a unique identifier to the player.","distinct":true,"url":"https://api.github.com/repos/quintel/etmobile/commits/f4608460f9b13de5d5ee8eb023de7469bcddb011"},{"sha":"0f97124e3b16b93275416aa8fb38eedd832ca929","author":{"name":"Anthony Williams","email":"30457071273b9dd9964fb897e21ea3b5b0053444@antw.io"},"message":"Add LeaderBoard component\n\nBinds to the firebase leaderboard endpoint and shows the ten\nhighest-scoring results. Updates in real-time.","distinct":true,"url":"https://api.github.com/repos/quintel/etmobile/commits/0f97124e3b16b93275416aa8fb38eedd832ca929"},{"sha":"2688847a0a683f6c3745d4c30a9a21c07d414c90","author":{"name":"Anthony Williams","email":"30457071273b9dd9964fb897e21ea3b5b0053444@antw.io"},"message":"Add temporary, ugly FrontPage component\n\nShows a button to go to the \"play game\" page, the all-time high-score\nleaderboard, and a button to create a new challenge.","distinct":true,"url":"https://api.github.com/repos/quintel/etmobile/commits/2688847a0a683f6c3745d4c30a9a21c07d414c90"},{"sha":"508a98a340d243ec7b7f0f448f42eac36651dbb5","author":{"name":"Anthony Williams","email":"30457071273b9dd9964fb897e21ea3b5b0053444@antw.io"},"message":"Travis CI: Specify node version as a string","distinct":true,"url":"https://api.github.com/repos/quintel/etmobile/commits/508a98a340d243ec7b7f0f448f42eac36651dbb5"},{"sha":"ba6ef24d3633ca5e98cc972f92fcc91135b431b4","author":{"name":"Anthony Williams","email":"30457071273b9dd9964fb897e21ea3b5b0053444@antw.io"},"message":"Add a basic list of active challenges","distinct":true,"url":"https://api.github.com/repos/quintel/etmobile/commits/ba6ef24d3633ca5e98cc972f92fcc91135b431b4"},{"sha":"2fec4c645ffcb4d00a86de5bd827b556bf5e53ef","author":{"name":"Anthony Williams","email":"30457071273b9dd9964fb897e21ea3b5b0053444@antw.io"},"message":"Prevent test threads from using the same localStorage","distinct":true,"url":"https://api.github.com/repos/quintel/etmobile/commits/2fec4c645ffcb4d00a86de5bd827b556bf5e53ef"},{"sha":"7b4671836122bade61a4085b61f275e135155478","author":{"name":"Anthony Williams","email":"30457071273b9dd9964fb897e21ea3b5b0053444@antw.io"},"message":"Add a title field to LeaderBoard component","distinct":true,"url":"https://api.github.com/repos/quintel/etmobile/commits/7b4671836122bade61a4085b61f275e135155478"},{"sha":"0b751fc39e314bda53fc6fb9868c7c8d21d97a60","author":{"name":"Anthony Williams","email":"30457071273b9dd9964fb897e21ea3b5b0053444@antw.io"},"message":"Store temporary test files in ./tmp","distinct":true,"url":"https://api.github.com/repos/quintel/etmobile/commits/0b751fc39e314bda53fc6fb9868c7c8d21d97a60"},{"sha":"46bccec64b7a05ea8b08737f5256004bb8a4ca3b","author":{"name":"Anthony Williams","email":"30457071273b9dd9964fb897e21ea3b5b0053444@antw.io"},"message":"Improve reliability of ChallengeList timing tests","distinct":true,"url":"https://api.github.com/repos/quintel/etmobile/commits/46bccec64b7a05ea8b08737f5256004bb8a4ca3b"},{"sha":"3eeb7323a773770f3f111b09ce4fd5ef55faaa3b","author":{"name":"Anthony Williams","email":"30457071273b9dd9964fb897e21ea3b5b0053444@antw.io"},"message":"Remember high scores in localStorage\n\nThis prevent overwriting a high score from a previous session with a\nlower score. Updates are sent to Firebase only when the high score is\nhigher than previously.","distinct":true,"url":"https://api.github.com/repos/quintel/etmobile/commits/3eeb7323a773770f3f111b09ce4fd5ef55faaa3b"},{"sha":"75ca5390afc64f33f1c882dbe7763ec768423eee","author":{"name":"Anthony Williams","email":"30457071273b9dd9964fb897e21ea3b5b0053444@antw.io"},"message":"Replace playerId with anonymous Firebase users","distinct":true,"url":"https://api.github.com/repos/quintel/etmobile/commits/75ca5390afc64f33f1c882dbe7763ec768423eee"},{"sha":"117ed24d3d1a0941ba0f0770c7d816102ae959e8","author":{"name":"Anthony Williams","email":"30457071273b9dd9964fb897e21ea3b5b0053444@antw.io"},"message":"Visitor may set their name\n\nThe summary page will now permit the visitor to their a name. The name\nwill be persisted to the Firebase leaderboards.","distinct":true,"url":"https://api.github.com/repos/quintel/etmobile/commits/117ed24d3d1a0941ba0f0770c7d816102ae959e8"},{"sha":"2f8fb9c11fbb841bba2968ea548c0b6435e45bbd","author":{"name":"Anthony Williams","email":"30457071273b9dd9964fb897e21ea3b5b0053444@antw.io"},"message":"Show a message when a leaderboard has no games played","distinct":true,"url":"https://api.github.com/repos/quintel/etmobile/commits/2f8fb9c11fbb841bba2968ea548c0b6435e45bbd"},{"sha":"f5c742217268c5ad00c0e8063919947a67cf760a","author":{"name":"Anthony Williams","email":"30457071273b9dd9964fb897e21ea3b5b0053444@antw.io"},"message":"Minor style improvements to the challenge list\n\nShows the leaderboard inline when pressing the \"Leaderboard\" button.","distinct":true,"url":"https://api.github.com/repos/quintel/etmobile/commits/f5c742217268c5ad00c0e8063919947a67cf760a"}]}
{"actor":{"display_login":"antw"}}