Commit graph

1091 commits

Author SHA1 Message Date
Miodec 15c697802d refactor(types): leaderboard types
move to shared types (#4774)
add types to ape client (#4786)
2024-02-08 17:44:46 +01:00
Miodec 2dfd7c2a04 chore: checking if key data is longer than 0 2024-02-08 15:34:03 +01:00
Miodec 4ea7cea0ce chore: add a quick way to emulate api delay on localhost 2024-02-08 15:14:55 +01:00
Jack cdfc7833e3
refactor(types): shared config and preset types (#5024)
* 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
2024-02-08 14:32:04 +01:00
Miodec e7f021a37c build: fix backend build fail 2024-02-08 14:02:14 +01:00
Miodec aa011b6b99 build: include all shared types files instead of just one 2024-02-08 13:49:11 +01:00
Absalon43 78bb715885
feat(sounds): add fist fight and rubber keys (Absalon43) (#4984)
* 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>
2024-02-08 12:01:18 +01:00
Miodec 4f5f28a92d refactor(types): ape keys types
move to shared types (#4774)
add types to ape client (#4786)
2024-02-07 23:13:10 +01:00
Miodec efb972a659 refactor(types): public types
move to shared types (#4774)
add types to ape client (#4786)
2024-02-07 22:29:16 +01:00
Miodec 65120db1f0 refactor(types): PSA types
move to shared types (#4774)
add types to ape client (#4786)
2024-02-07 19:06:06 +01:00
Jack f456e1e615
refactor: enable no-floating-promises rule (#5007)
* enable rule

* backend

* fixes

* more fixes

* mooore fixes

* fixes

* fixed double void

* change some voids to await

* await -> void

* remvoe void

* missing return

* awaiting config update
2024-02-07 18:49:12 +01:00
Christian Fehmer 848e851973
test: fix typescript setup in tests (#5014) 2024-02-07 16:32:48 +01:00
Miodec 020eb7b44e fix: fixing a fix where a previuos fix didnt fix the issue
completed event doesnt have isPb property, so the delete didnt work
2024-02-07 09:51:31 +01:00
Miodec a11314f11c impr(server): not saving 503 errors to the database 2024-02-07 09:50:43 +01:00
Miodec aa78b46bbf fix: incorrect test data 2024-02-07 09:35:45 +01:00
Miodec ead765d57a fix(server): only saving isPb property in the database if the result was a pb
this was the previous behaviour but #4980 broke it
2024-02-07 09:28:54 +01:00
Miodec f8109e0d98 chore: fix eslint error 2024-02-06 14:19:50 +01:00
Jack 83a4c0e6aa
refactor: enable strict-boolean-expressions rule (#4992) 2024-02-06 14:01:45 +01:00
Miodec 5cea19e299 chore: add todos 2024-02-05 12:37:30 +01:00
Jack 8b48347764
refactor: result types (#4980)
* 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
2024-02-01 11:54:25 +01:00
Miodec b8cc17a12b chore: upgrade typescript version 2024-01-31 12:36:13 +01:00
Jack 0751375ab6
refactor: shared types (miodec) (#4978)
* rework shared types

* revert one small change
2024-01-29 15:53:42 +01:00
Jack ee629db5b5
build: enable noUncheckedIndexedAccess compiler rule (Miodec) (#4958)
* 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
2024-01-29 13:27:36 +01:00
Miodec f099ccfe3b fix: email enumeration vulnerability 2024-01-24 13:09:45 +01:00
Miodec 6ef1d165fd chore: fix tests being broken because of the new lint rules 2024-01-22 15:07:00 +01:00
Miodec 33d0812019 build(backend): enable more ts flags 2024-01-18 23:33:50 +01:00
Miodec abbe77b01b build(backend): enable noPropertyAccessFromIndexSignature flag 2024-01-18 23:24:33 +01:00
Miodec e1dcd29419 build: add ts compiler flag 2024-01-18 23:20:44 +01:00
Miodec a41e241297 fix: removed non profane word 2023-12-18 12:13:30 +01:00
Christian Fehmer b3ae78f413
perf: improve leaderboard aggregation (fehmer) (#4841)
* 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
2023-12-06 16:03:44 +00:00
Christian Fehmer 9e991f3641
test(leaderboard): add test coverage for leaderboard update (#4840) 2023-12-05 14:40:34 +00:00
Wisam Abbadi 962fbc8ae1
impr: remove non-profane word (#4828) 2023-12-05 13:43:31 +00:00
Christian Fehmer 050cb7ab8a
perf(leaderboards): better index and aggregation code (fehmer) (#4836)
* perf: Improve leaderboard performance by adding better index

* review comments

* Allow aggregation to use disk if needed
2023-12-05 13:42:14 +00:00
Christian Fehmer 84dfa7aca9
impr(server): add header validation, allow validation to accept unknown fields (fehmer) (#4824)
* impr: Add header validation, allow validation to accept unknown fields

* review comments
2023-12-04 13:30:13 +00:00
Miodec fb1ea6c8be refactor: use for instead of forEach 2023-11-30 14:22:23 +00:00
Miodec a129c98323 chore: testing swapped order 2023-11-30 13:47:36 +00:00
Miodec 6c3cfe0ff4 impr: keep a list of ips that accessed the account
part of #4490
2023-11-30 13:04:36 +00:00
Miodec 25b1ecbe15 impr: reduce number of db calls by adding a caching parameter 2023-11-30 13:04:36 +00:00
Christian Fehmer 3adbdf2cdb
impr: replace body based authorization in dev mode (fehmer) (#4821)
* impr: add authorization header Uid in favour of authorization on with body on dev (fehmer)

* refactor dev mode detection
2023-11-30 12:58:28 +00:00
Christian Fehmer e426cb3fc2
fix: leaderboards missing raw and consistency (fehmer) (#4822) 2023-11-30 12:13:26 +00:00
Miodec 6f7900a868 refactor: remake aggregate to allow for an index to be added in the future 2023-11-29 16:07:49 +00:00
Miodec d6f7f77feb refactor: agent log ips can no longer be an array 2023-11-28 15:02:21 +00:00
Miodec 022e8d843f chore: remove more possible false positives 2023-11-27 16:49:53 +00:00
Miodec 924472f77c impr: remove word which isnt really a profanity 2023-11-23 16:47:18 +00:00
Christian Fehmer 1d4d7dab87
feat: Allow more results for premium users (fehmer, Miodec) (#4778)
* 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>
2023-11-20 16:17:20 +00:00
Christian Fehmer 4b3059bdc7
refactor: Import shared types back into MonkeyTypes namespace (fehmer) (#4800)
* impr: Import shared types back into MonkeyTypes namespace, partially reverts #4769

* down to 6 errors

* fixes

* cleanup
2023-11-20 14:56:28 +00:00
Christian Fehmer e5e03b603f
feat: Allow more results for premium users (fehmer) (#4767)
* 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>
2023-11-10 13:55:35 +00:00
Bruce Berrios e84f9ec5b7
refactor: add shared types (Bruception) (#4769)
* 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>
2023-11-09 14:03:56 +00:00
Christina Hanson 6b77f81201
feat(funbox): add mode that doubles each letter (LyricLy) (#4771)
* feat: add mode that doubles each letter to funbox

* increase difficulty

---------

Co-authored-by: Miodec <jack@monkeytype.com>
2023-11-09 13:56:37 +00:00
Miodec 9b8c452064 impr: remove words which might trigger false positives for profanity 2023-11-08 14:37:48 +00:00