Commit graph

686 commits

Author SHA1 Message Date
Bruce Berrios af70bc5971
Bump coverage (#3314) 2022-07-06 21:01:58 +02:00
YummyOreo e794bbd68d
Adds a reset account button to the settings page (#3206) YummyOreo
* adds reset button

* moves it up above the delete button

* i am blind

* i cant move stuff

* adds reset for the profile

* Adds reseting for ape keys, and presets, also adds more resets in the user settings

* Delets all ape keys not just one

* Prevents conflicts for delete endpoints

* changes from reset to deleteAll in ape keys

* Refactors the code to use Promise.all

* adds reloading

* unit tests ape key deletion

* fixes some bugs

* Fixes type o

* More typeo fixes

* Returns nothing for reset user

* Simplifies code

* changes from reset to deleteAll for all but users

* Checks db not the memory

* fixes typo

* fixes the tests

* fixes

* fixes bugs and refactors some code

* adds requireFreshToken to the authentication

* migrates all reseting to the user endpoint

* removes the delete all for ape unit test

* to lazy to make commit message

* parallelize the calls to the db (I think)

* also resetting config

* also resetting discordid and avatar

* using unset

* updated wording

* level 1 message

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-07-06 12:59:40 +02:00
smunky 695bccedee
remove quickTab and swapEscAndTab from config-schema (#3311) 2022-07-06 11:22:35 +02:00
Bruce Berrios 0dd2539bf7
Add minor optimization (#3294) 2022-07-03 15:57:09 +02:00
Miodec 6e6ba3bf9d Merge branch 'master' of https://github.com/Miodec/monkeytype 2022-07-02 19:04:03 +02:00
Miodec 5dac8020c2 importing performance 2022-07-02 19:03:12 +02:00
Bruce Berrios 616e26b5c5
Add version commit hash (#3286)
* Add version commit hash

* Add frontend client hash

* Remove export
2022-07-02 18:49:13 +02:00
Miodec 162beea1b8 removed log 2022-07-02 18:19:45 +02:00
Miodec d14a582cb8 sending different path to prometheus 2022-07-02 17:39:48 +02:00
Miodec 9acd68e99f optional chain 2022-07-02 14:34:01 +02:00
Bruce Berrios da61bfb83c
Refactor auth (#3291) 2022-07-02 14:23:51 +02:00
Miodec b3ef10ddc2 typo 2022-07-02 13:55:26 +02:00
Miodec 7b8a66779c removing get form path for measuing 2022-07-02 13:54:45 +02:00
Miodec 3f98c4b801 recording time to auth in prometheus 2022-07-02 13:43:40 +02:00
Miodec 211ab8ab8e removed try it out button from docs 2022-07-01 11:57:07 +02:00
Jack db3b6755b8
Rewriting middleware tests (#3266)
* aoaoaooao

* different attempts

* figured out the test

* added another test

* redefining next before each function, checking next call count

* removed eslint ignore
2022-06-30 16:31:06 +02:00
Miodec b813dd5aa0 running tests sequentially 2022-06-30 01:33:23 +02:00
Miodec 8ec307c837 added authentication tests 2022-06-30 01:15:06 +02:00
Miodec 8d17f699df removed log 2022-06-30 00:59:14 +02:00
Miodec 4b423a5484 removed condition (iat is guaranteed to be there) 2022-06-30 00:12:23 +02:00
Miodec 2aa251fc46 moved logic to another function 2022-06-30 00:11:09 +02:00
Miodec 9085b5af9d added fresh token requirement 2022-06-30 00:03:58 +02:00
Bruce Berrios 9da5e441be
Add new rate limiting flow (#3230) Bruception
* Add new rate limiting flow

* Oops

* Fix nit

* Fix some bugs

* Split key generation functions

* Remove 429

* Change message for root limiter

* Flag 429 and add config

* Add status code config

* Check enabled flag

* Add custom status for ape keys

* Bump coverage

* swapped conditions around
whats the point of checking if the status code is in the array if the whole thing is turned off anyway

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-06-28 13:45:57 +02:00
Bruce Berrios a552c127f8
Refactor Users DAL (#3223)
* Refactor two calls

* Return void

* Remove update result

* Remove delete result
2022-06-25 16:56:43 +02:00
Bruce Berrios f30fa1c9d5
Fix all time lb again (#3219) 2022-06-24 16:15:47 +02:00
Bruce Berrios 1346dd669c
Tune profanity detection (#3214)
* Tune profanity detection

* Remove console log

* Remove profanity

* Add tests for profanity

* Fix test case
2022-06-24 11:17:43 +02:00
Bruce Berrios b0b39c7dc5
Fix leaderboard update bug (#3217)
* Fix leaderboard update bug

* Add test for sanitize string
2022-06-24 11:16:53 +02:00
Miodec 9231250afd removed hell 2022-06-24 11:14:06 +02:00
Jack 66074c8314
Inventory badge selection (#3210) bruception miodec
* Fixed badges not showing on all time leaderboards

* updated types to support inventory and single badge id

* Add badge selection

* Fix bug

* Remove unnecessary prefill

* using new inventory system

* added no balloon option

* updated text color

* not showing balloon

* updated styling for showing badges selection

* Add badge selection

Co-authored-by: Bruception <bberr022@fiu.edu>
2022-06-23 18:00:53 +02:00
Evan 87a5bae7d2
remove monkeytype-js from the docs (#3213) 2022-06-23 11:44:23 -04:00
Jack d26d7d0555
Converted badges to inventory (#3209)
* added inventory type

* new badges

* fixed badges not showing on all time leaderboards

* sending the selected badge id to daily lb

* returning inventory in profiles

* updated types to support inventory and single badge id

* fixed all badges not showing on profile page

* removed await

* smol refactor
2022-06-23 15:47:15 +02:00
Miodec 90ae4938c4 removed users that need to change their name from the leaderboards 2022-06-23 01:18:29 +02:00
Miodec 275b7cf3fa also added swapescandtab 2022-06-21 15:29:44 +02:00
Bruce Berrios db9dcafc25
Add User Profiles (#3174)
* profile

* rounded table corners

* rounded leaderboards corners

* wider page by default

* v3

* font changes

* new pbtables

* blank by default

* showing pb popup

* removed some quotes

* rounding displayed acc

* removed created date (will be shown in profile)

* added profile module that fills the profile element

* updating font size in the middle of the swap to make the change not noticeable

* lowered max font size

* showing if user is banned,
not displaying most details if user is banned

* pbs not selectable

* renamed global stats to time typing

* completed previous commit

* changed function parameters

* only hiding when social is missing

* smaller badge

* aligning quick results
spanning time if wide

* larger badge

* fixed function parameters

* moved to root

* media queries

* Add user profile API (#3123) bruception

* Add flattenObjectDeep

* Add user profile API

* Bump coverage

* Add user profile configuration and rate limits

* Rename profile -> profileDetails

* Simplify

* Filter personal bests

* Handle banned users

* Add banned user test

* new profile layout system
"none" layout finished

* better "none" layout

* "socials" layout

* larger gap

* bioandkey layout done

* "both" layout finished

* final touches

* Add profile editing (#3135)

* Add profile editing

* lowered font size
increased right padding

* updated configuration schema

* moved discord integration to users object in configuration

* added warning comment

* rendering new lines

* edit popup styling

* Sanitize ZAlgo text

* Use trim

* Replace more than 2 spaces with two spaces

* Trim first

* Add profanity detection

* Ass

* Removed some profanities

* Update profanity detection

Co-authored-by: Miodec <bartnikjack@gmail.com>

* Add profile routing (#3143) bruception miodec

* Add profile routing

* removed check (also fixes circular deps)

* change page in special cases

* Hydrate profiles

* Link leaderboards to profiles

* Add failed to load div

* Dont refresh page

* always calling middle callback

* moved profile css into its own file

* fixed one media query

* added preloader, changed default layout

* added reset function
changed function name
updating profile before the page is shown, not after

* resetting after the page is hidden and before its updated

* Fix logic to not delete user if DB goes down (#3171)

* Dont route to account if uid equals current user uid

* temporairly allowing quicktab

* added copy link button

* only increasing padding on the account page

* set max height

* handling copy link button

* only showing avatar if it exists

* 1000 instead of 100

* removing placeholder if image request was successful

Co-authored-by: Miodec <bartnikjack@gmail.com>

* Fix quote length field

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-06-21 12:01:55 +02:00
Miodec bca69b6f09 Merge branch 'master' of https://github.com/Miodec/monkeytype 2022-06-20 16:32:05 +02:00
Miodec 3e5982f1de temporairly allowing quicktab 2022-06-20 16:31:59 +02:00
Bruce Berrios 6a3f01f6a9
Fix logic to not delete user if DB goes down (#3171) 2022-06-20 16:10:43 +02:00
Jack ae300bfa94
Disabled time typing requirement on dev (#3169)
* checking if mode is dev when adding to daily lb

* disabled time typing check on dev when recalculating leaderboards

* not replacing footer on localhost

* using ternary

* modified logic
2022-06-20 15:06:35 +02:00
kenny bb31d75c4b
removed swapEscAndTab, replaced quickTab with quickRestart (#3139) devkennyy
* Add leaderboard language selection (#3124) bruception

* Adds leaderboard language selection

* Update mesage

* fixed disabled select2 styling

* changed button positioning

* fixed media queries

* Add languages

Co-authored-by: Miodec <bartnikjack@gmail.com>

* remove references of swapEscToTab

* Custom Filters [FrontEnd] (#3106) nocommentcode

* Add Create and Delete functions for Filter Presets to `Users` ape endpoint
- deleteFilterPreset
- addFilterPreset

* Added name and _id fields to the `ResultFilter` interface in the front end

This matches the `ResultFilter` interface in the backend
Added the new fields for the default filter
Added checks in result-filter.ts to not update the ui based on these fields

* Added new-filter-preset-popup

This popup is displayed when creating a new filter preset
It allows the user to select a name.

* Added Filter Preset Buttons in account page html

- Added the Filter Preset button
- Added the filter preset region
- Added the new and delete buttons

* Added Filter Presets to DB Snapshot

* Implemented Custom Fileter Creation, Selection and Deletion flow

- Users can now create a custom filter based on the current settings
- Users will be prompted to select a name for the filter
- User can click on any custom filter and the current filter will be updated
- User can delete a custom filter while it is selected

* Implemented Filter Preset Creation, Selection and Deletion flow

- Users can now create a filter preset based on the current settings
- Users will be prompted to select a name for the filter
- User can click on any filter preset and the current filter will be updated
- User can delete a filter preset while it is selected

* adjusted styling

* removed margin

* removed icon

* added media query

* popup wording

* automatically replacing _ when displaying and creating preset

* using loader and notifications

* fixed bork

* fixed sometimes not being able to delete preset

* make preset popup look like tags popup

Co-authored-by: Miodec <bartnikjack@gmail.com>

* added pace caret: last closes #3113

* Add rate limits to forgot password (#3129) mehdidev

* Added New Quotes

* Add More Quotes

* Add rate limit to forgot password

* Use Prettier

* Change canCall to let so that lint doesn't flag me for the 69th time

* change forgotPassword() to async & remove console.log's

* If this doesn't fix everything idk what to do

* reduced nesting, using function to create error message

* updated notification

Co-authored-by: Miodec <bartnikjack@gmail.com>

* added: code_opencl language (#3132) codybloemhard

* added: code_opencl language;

* fixed: duplicate word in code_opencl;

* fixed: another duplicate in code_opencl;

* Include language in notification (#3134)

* Add 20 more Indonesian quotes, 151-170 (#3136) R0merol

* Added 20 more quotes (151-170)

* Fixed quote length (id: 155, 157)

* using completed events language instead of current config

* add hedge theme (#3137) devkennyy

* create hedge theme

* update _list.json

* fixed sub alt color issues

* update colors

* updated colors

Co-authored-by: Miodec <bartnikjack@gmail.com>

* replaced quickTab with quickRestart

* updated keytips and statements

* update keytips

* moved keytip update to ui module

* not opening command line if quick restart is esc

* calling update keytips when changing quick restart

* handling restarting with quick restart escape

* updated settings page to reflect new quick restart setting

* swapping legacy values

* removed line which caused circular dependencies

* reordered files to fix event not firing

* handling closing with escape before opening

* not doing anything if a modal is visible

Co-authored-by: Bruce Berrios <58147810+Bruception@users.noreply.github.com>
Co-authored-by: Miodec <bartnikjack@gmail.com>
Co-authored-by: Malo Hamon <hamon.malo@gmail.com>
Co-authored-by: Mehdi Hussain <mehdi@mehdi.us>
Co-authored-by: Cody Bloemhard <cblmhrd@live.nl>
Co-authored-by: R0merol <farisfrontiers@gmail.com>
2022-06-16 23:57:34 +02:00
Bruce Berrios 7b89328f47
Refactor add user (#3133) bruception 2022-06-16 19:42:13 +02:00
Miodec 03d90949df storing list of auto assignable roles on the server 2022-06-16 18:29:15 +02:00
Miodec 3da4eb45c0 added pace caret: last closes #3113 2022-06-15 19:35:01 +02:00
Bruce Berrios 141dc262e7
Rename customFilters -> resultFilterPresets (#3115)
* Rename customFilters -> resultFilterPresets

* Update messages
2022-06-12 19:34:52 -04:00
Malo Hamon b55419dfc0
Custom Filters [Backend] (#3105) (#3110)
* Added `ResultFilters` to types
Added customFilters field to user
This field is an optional array of `ResultFilters`
It will store a user's custom filters

* Added Add and Remove functions for `ResultFilters` in user DAL

Also added unit tests

* Added Custom Filter configuration

Can now enable/disable the custom filters feature
Can also set a cap on the number of filters per user

* Add and Remove functions for `ResultFilters` in user controller
2022-06-11 22:38:09 -04:00
Malo Hamon ba843419a1
Custom Filters [Backend] (#3105)
* Added `ResultFilters` to types
Added customFilters field to user
This field is an optional array of `ResultFilters`
It will store a user's custom filters

* Added Add and Remove functions for `ResultFilters` in user DAL

Also added unit tests

* Added Custom Filter configuration

Can now enable/disable the custom filters feature
Can also set a cap on the number of filters per user

* Add and Remove functions for `ResultFilters` in user controller
2022-06-11 20:32:06 -04:00
Miodec 957ea335c7 updated message 2022-06-09 21:43:00 +02:00
Bruce Berrios 603455d6eb
Add logic to handle fetching previous daily leaderboards (#3087)
* Add logic to handle fetching previous daily leaderboards

* Add basic select controls for time range

* Fix issue

* updated styling

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-06-09 21:04:10 +02:00
Bruce Berrios 270fa5dfbe
Fix lines stylinh (#3082) 2022-06-07 23:56:20 +02:00
Bruce Berrios 1260f13293
Add config for discord integration (#3081) Bruception 2022-06-07 23:41:37 +02:00
Bruce Berrios b25ac99527
Add leaderboard avatars and badges (#3069) bruception
* Add leaderboard avatars and badges

* Add discord id

* badges -> badgeIds
2022-06-07 23:10:58 +02:00