* move user to shared definitions
this includes whatever user can have on it, tags, presets and so on
* profiles, mail and others
* fix logic
* yeet
* same as master for now
* tsc fixes
* remove comment
* fix tests
* chore: omit ips
* fix(language): remove some unnecessarily capitalised words in german 1k
* fix(typing): first space sometimes soft locking the website
* perf: speed up settings page loading
* fix: use selected typing speed unit on personal best popup (fehmer) (#5070)
* fix: Use selected typing speed unit on personal best popup
* refactor
* refactor
* test coverage
* use Format in more places
* Make config mockable
* dependency injection
* wip
* fix
* test
* touch
* fix(language): typos in russian_10k.json (kae) (#5082)
* Update russian_10k.json
- fixed typos
- removed duplicates
* - fixed extra typos
* remove duplicates
* fix(language): typos in russian_10k.json
* feat: add copy missed words to result screen (fehmer) (#5086)
* feat: Add copy missed words to result screen
* remove margin
* update icons
---------
Co-authored-by: Miodec <jack@monkeytype.com>
* impr(funbox): add 46 group languages to wikipedia funbox (RealCyGuy) (#5078)
* impr: provide all-time LB results during LB update (fehmer) (#5074)
Try to provide LB results during the LB update. There is a very small time-frame where
already running queries might fail during the update. For now we keep the 503 error in this
cases and monitor how often this happens on production.
* impr(funbox): add ` (grave accent, 96) and ~ (tilde, 126) to specials (#5073)
* impr: add testWords and wordsHistory to copy result stats (#5085)
* feat: add testWords and wordsHistory to copy result stats
* fix
* add fe ts dep
---------
Co-authored-by: Christian Fehmer <fehmer@users.noreply.github.com>
Co-authored-by: Andrey Kuznetsov <akuznetsov@outlook.com>
Co-authored-by: Cyrus Yip <cyruscmyip1@gmail.com>
Co-authored-by: fitzsim <fitzsim@fitzsim.org>
Try to provide LB results during the LB update. There is a very small time-frame where
already running queries might fail during the update. For now we keep the 503 error in this
cases and monitor how often this happens on production.
* build: include all shared types files instead of just one
* move config property value types to a shared file
* backend build issues
* shared preset and config types
preset and config ape types
* typo
* ignoring unused warnings
* fixed merge
* Add files via upload
* feat: add support for fist fight and plastic toy sounds
* feat: add support for fist fight and plastic toy sounds
* chore: remove extra semicolon
* feat: less busy punch sound
* feat: add punch misses as error sound
* fix: update punch sounds and make them less aggresive
* fix: Change name of plastic toy to rubber keys
---------
Co-authored-by: arthur-d42 <64164367+arthur-d42@users.noreply.github.com>
Co-authored-by: arthur-d42 <arthurdiness@gmail.com>
* further shared improvements
- moved more types to shared
- reworked the way results are typed
THIS COULD CHANGE LOGIC, TEST THIS
* removed comment
* update the way completed event is built on the client
* remove unnecessary property
* comment
* move hash check higher
* remove todo
* fix incorrect type
* updated type
remove field if undefined
* added rule to backend and fixed all the errors
* setup frontend and start fixing some warnings
* more fixes
* fixes
* fixes
* fixes
* more refactoring
* fixes
* pain
* more pain
* ouch
* mooore
* 10 hours later
* ugghhh
* another one
* last element can be undefined duh
* smol one
* absolute typescript gigachad
* moooore fixes
* chart stuff
* almost done
* its... done
* remove console log
* use for of instead
* perf: improve leaderboard aggregation
Update the leaderboard and public speedStats directly in mongodb without importing the data in the nodejs process first
* Replace type on public collection with magic ids