* 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
* feat: Unlimited history for premium users UI
* disable button while loading, show spinner
* optional chaining
* add isPremium to /users, remove check from frontend
* add /results max batch size to configuration
* result batching ui v1
* rename variables, update button based on state, update text
* Return allowed results in /results if limit is partly overshooting the max limit
* use br instead of margin
* let result batches code handle button disabling
* hide title
* limit max width
* hide section when below batch size
* update limit color based on the % of limit used
* bring back loaded bar
* remove unused css
* fix alignemtn
* remove text for now
* add result getting log
* always hiding for non premium users for now
* Add server configuration users.premium.enabled, throw error on /results if premium user exceeds regular limit and premium is globally disabled
* Disable premium feature globally by default
* cleanup open todos
* Don't use premium user max limit on /results if premium feature is disabled on server
* fix merge issue
---------
Co-authored-by: Miodec <jack@monkeytype.com>
* wip: More results and filters for premium users
* use offset+limit instead of beforeTimestamp, add configuration for max results for regular/premium users
* add isPremium to /users response
* cleanup
* review comments
* review comments
* update base config
* update premium data type
* add undefined check
* interface name
* add start timestamp
* refactor
* move function to util, rename params, use isFinite
* merge fix
* fixed tests
---------
Co-authored-by: Miodec <jack@monkeytype.com>
* sharing is caring?
* replace 5 year old package with a more modern one
* ignore firebase config
* update import/resolver settings so that we no longer have to ignore @backend imports
---------
Co-authored-by: Miodec <jack@monkeytype.com>