Commit graph

789 commits

Author SHA1 Message Date
Miodec 682216588d better erorr message when username contains profanity 2022-11-08 12:54:23 +01:00
Miodec 0f589b0e5b allowing .-_ in github and twitter names
closes #3729
2022-11-08 12:45:48 +01:00
Miodec 310db63597 only allowing alphanumerics 2022-11-07 17:51:15 +01:00
Miodec cf411245e6 removed some profanities 2022-11-04 14:27:47 +01:00
Miodec 95b91f1d70 not recording uids for now 2022-10-29 14:31:36 +02:00
Miodec 508c289c92 added a function which applies a custom rate limiter when using ape key
opened results endpoint to ape keys (1 req per hour)
updated docs to mention new open endpoint
2022-10-28 18:42:44 +02:00
Miodec b00e5d893e logging busiest uids 2022-10-28 14:39:33 +02:00
Miodec a6a7454d2e deleting ape keys, presets, config on user delete
also removing from leaderboards
closes #3684
2022-10-26 19:02:37 +02:00
Miodec b1d53f1f99 fixed incorrect schema 2022-10-19 00:34:47 +02:00
Brian Evans cffa7514ea
Save speed stats in leaderboard update (#3652) mrbrianevans
* Save speed stats in leaderboard update

Saves a histogram data structure of speeds for buckets rounded to the nearest 10.

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* API endpoint to get public speed stats

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* Add APE class for public stats (WIP)

I created an APE class for accessing public stats. Also stubbed getting and showing the public speed stats on the about page. Haven't implemented the histogram yet though.

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* Draw histogram for global speed stats

On about page

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* Update histogram colors on theme change

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* Fixed out-of-order data in speed histogram

 Data was not sorted correctly, which resulted in an incorrect histogram being drawn.

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* Public speed stats PR fixes

Small fixes based on PR feedback:
 - changed _req to req
 - removed unnecessary client version header

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* Add endpoint for typing stats

New endpoint to retrieve the public typing stats such as global count of tests completed.

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* Renamed public-stats to public

Except in cases where it would cause an identifier named `public` as this is forbidden in strict mode.

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* Add stats section to about page

In this commit:
 - add a section above about called stats
 - display typing stats in three columns
 - underneath show the histogram of speeds on english time 60
 - make chart responsive

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* Add unit test for Public DAL

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* updated styling

* only requesting data once per session

* going one column on narrow screens

* added option to specify number of decimal poitns

* just showing million instead of abbreviating
updated structure
updated styling

Signed-off-by: Brian Evans <ebrian101@gmail.com>
Co-authored-by: Miodec <jack@monkeytype.com>
2022-10-18 15:45:45 +02:00
Miodec f0dca0cf13 filling default values 2022-10-17 13:32:52 +02:00
Miodec b13448ae7c turns out foreach stops exceptions from propagating 2022-10-17 13:30:14 +02:00
Miodec 437614b20c strict undefined check instead of a nullish check 2022-10-17 13:18:30 +02:00
Miodec be8b6f082e throwing instead of defaulting 2022-10-17 13:16:23 +02:00
Miodec e31b708082 default values, added throw in case of missing data 2022-10-17 13:03:58 +02:00
Miodec d44e4f7a12 allowing undefined funbox through (same as none) 2022-10-17 13:03:32 +02:00
Miodec 7a678a2cdf updating tag pbs on result tag update
part of #3663
2022-10-17 12:23:34 +02:00
Bruce Berrios a3b3387f01
Purge from dailies (#3635) Bruception
* Purge from dailies

* Fix

* Migrate logic to lua script

* added test to pass coverage

* typo

* also purging user from daily lbs on personal bests clear

Co-authored-by: Miodec <jack@monkeytype.com>
2022-10-10 18:29:29 +02:00
Miodec ea9cb797df descriptive error 2022-10-10 17:18:52 +02:00
Miodec 60d4116e6a added uid to profile data 2022-10-10 00:14:32 +02:00
Miodec f0b80ff967 end range seems to be non inclusive 2022-10-05 12:11:21 +02:00
Miodec ebeafd9880 added all time lb positions to profiles 2022-09-29 13:08:10 +02:00
Miodec e96366e9d3 logging streak lost 2022-09-28 20:45:46 +02:00
Miodec a273372990 fixed a bug where losing a streak would not save max streak length correclty 2022-09-28 20:43:13 +02:00
Miodec 40addbf97f added daily pace caret mode
closes #3564
2022-09-28 13:07:07 +02:00
Miodec e16634dad4 deleting user if captcha fails 2022-09-28 12:19:53 +02:00
Miodec 8fca782f30 not using cache if requiring fresh token 2022-09-28 00:17:42 +02:00
Miodec a9f1580aab fixed duplicate imports 2022-09-27 15:49:32 +02:00
Miodec 9182d353fe upped cache to 50mb 2022-09-27 00:52:50 +02:00
Bruce Berrios 0283cba792
Replace profile URI to use username (#3598) Bruception
* Replace Profile URL to use username

* Remove Auth import

* using replace state to fix back button not working

Co-authored-by: Miodec <jack@monkeytype.com>
2022-09-26 10:51:52 +02:00
Bruce Berrios e6a8747d41
yyyriyriy ppp[i6riy (#3603) Bruception
* Add new synth click sounds

* Use key codes instead

* Fix Sound preview

* Check for caps lock

* Add new quote - imperial march
2022-09-26 10:41:31 +02:00
Miodec 4f146ae5a8 fixed backwards logic 2022-09-25 18:17:10 +02:00
Miodec e9503a24c2 fixed bad expiration date calc 2022-09-25 18:09:19 +02:00
Miodec 75f89fadd4 reverted size test
added else to avoid double counting
2022-09-25 15:41:01 +02:00
Miodec 92bbd1b081 testing without size calculation 2022-09-25 15:16:48 +02:00
Miodec a54eb3a3bb added LRU cache to avoid asking firebase to decode the tokens
added prometheus metrics for the token cache
2022-09-25 14:48:24 +02:00
Miodec 61626aa44d moved country middleware to auth to get access to base url and route path 2022-09-23 20:28:03 +02:00
Miodec c29ac5ff44 reverted to baseurl and route path 2022-09-23 20:27:28 +02:00
Miodec e0b9a63ec5 using req.url instead 2022-09-23 20:15:33 +02:00
Miodec 1f1ba6bcfd optional chaining 2022-09-23 20:05:49 +02:00
Miodec 0fff40f912 added country log test 2022-09-23 20:03:01 +02:00
Jack 409f0a83e4
Get profile by name (#3585)
* handling query param
getting user by name if query param is present

* added function to get user by name

* split profile function to get user by uid or name

* added  function to check if get parameter exists in url

* updating the profile based on the url parameter

* using query param in url

* using get param

* renamed param name
adding search param to pathname in the deafult parameter value

* renamed param

* renamed param
added query validation

* extracted repeated query to a function

* missing await

* fixed typo
fixed validation

* using em for dynamic font sizes

* using em for dynamic font sizes

* added line height

* using em

* using em

* using page profile search instead

* updated the way data is passed into the page

* profile search page

* setting line height

* removed vertical align

* moved navigate to an event to avoid circular deps

* fixed route controller not being included

* removed unnecessary test

* showing 404 error

* improved query checking

* renamed query param

* fixed test

* note

* yeet

* cleaner type definition
2022-09-22 17:45:57 +02:00
Miodec 6fd6cdf55b added captcha requirement to create new user 2022-09-22 12:56:38 +02:00
Miodec 4db07975ff ignoring domain 2022-09-20 15:58:43 +02:00
Miodec 5e7d2aad61 added eslint rule to force async markings 2022-09-20 14:25:51 +02:00
Miodec 526f391ffc added configuration to disable user sign up 2022-09-19 00:21:23 +02:00
Miodec 9e2d84da72 stricter rate limits 2022-09-19 00:15:57 +02:00
Miodec 918f09d522 updated log 2022-09-19 00:12:34 +02:00
Miodec e731c9c0cc blocking domain 2022-09-19 00:01:57 +02:00
Miodec 8a78e2b462 added bailed out test too short validation 2022-09-17 22:18:50 +02:00