Commit graph

1146 commits

Author SHA1 Message Date
Miodec 242e017371 allowing change if undefined or null 2023-06-14 23:56:39 +02:00
Xea 850a14c584
split smoothCaret into several modes (#4374) im-0xea
* split smoothCaret into several modes

* implemented requested changes of smoothCaret modes

* moved config migration code

* bring back caretFlash animation

* fixed error (weird how the build process didnt catch this)

---------

Co-authored-by: Miodec <jack@monkeytype.com>
Co-authored-by: Niki <n.topel@callassoftware.com>
2023-06-14 13:59:24 +02:00
Miodec 2ff29b1f5a actually fixed hour offset getting overwritten 2023-06-14 12:25:29 +02:00
Miodec cb166d2743 fixed everyuser getting houroffset 0 automatically 2023-06-13 23:15:13 +02:00
Miodec d500e06d9b pretty fix 2023-06-12 14:47:13 +02:00
Jack 27b1a7fedb
Streak hour offset (#4357)
* backend flow to set hour offset

* added frontend popup to set streak hour offset

* displaying a message that the user can change offset
displaying the actual offset if its already set

* applying offset when checking streaks

* added tests for the new offset
updated old streak tests

* defaulting to undefined

* removing content if offset is already set

* updated the way offset is displayed

* also updating in the local snapshot
2023-06-12 14:38:44 +02:00
Miodec cca3f8090d updated admin limit 2023-06-07 15:15:14 +02:00
Miodec b2ac4e7197 moved to admin route 2023-06-07 15:00:13 +02:00
Miodec 0107530eae added toggle banned endpoint 2023-06-07 14:53:53 +02:00
Miodec 45eb1e8a40 added rate limiter 2023-06-07 14:53:33 +02:00
Miodec 5a1070be52 1 email attempt 2023-06-07 09:14:58 +02:00
Miodec 895c6738cb added test that verified pb funbox check is working 2023-06-05 18:07:00 +02:00
Miodec 985ef5959e fixed pbs not working with funboxes 2023-06-05 17:46:44 +02:00
Miodec 009c79350b removed console logs 2023-06-05 17:38:41 +02:00
Miodec 6ff95b0e83 updated funbox structure
added frontend properties and functions
updated type
2023-06-05 13:11:39 +02:00
Miodec 2e7179df8e checking if result funboxes are unique
checking if result funboxes are compatible with each other
2023-06-05 13:11:16 +02:00
Miodec f8f80fbeb0 making sure to only take unique funboxes 2023-06-05 12:27:38 +02:00
Miodec bcc6445440 stricter result schema 2023-06-05 11:27:32 +02:00
Miodec f51a64727e stricted result schema 2023-06-05 11:27:32 +02:00
Evan 0f51c384f6
Force mode2 to always be string (#4097) Ferotiq Miodec
* make a util type

* `StringNumber` in `leaderboards.ts`

* fix errors in`pb-tables.ts`

* remove string conversion

* update schemas

* refactor `checkAndUpdatePb`

* use string arrays

* parse the mode2 before comparing

* refactor types

* fallback to empty array

* complete the mode2 string conversion

* missed a few things

* assert

* fix tests

* those were meant to be arrays

* don't supply custom and zen by default

* update interfaces

* add `parseInt`

* rename

* apparently those weren't even needed

* updated type

* added types

* types

* added comment

* added comments, removed triple equals

* another comment and again removed type check

* making sure to include legacy results

* using template strings instead

* using template strings and triple equals

---------

Co-authored-by: Miodec <jack@monkeytype.com>
2023-05-24 15:53:37 +02:00
Nis-chal-Jain 7c8f537941
Fixed an typo at the documentation of monkeytype api (#4306) Nis-chal-Jain 2023-05-22 15:05:03 +02:00
Miodec 5d2b07308b removed console log 2023-05-22 14:32:07 +02:00
Miodec 5ff41ded22 fixed email client not catching sending errors
logging errors to the database
2023-05-17 23:51:37 +02:00
Miodec 014e20cf82 setting cached user banned property,
not checking again if user is already banned
2023-05-17 13:34:46 +02:00
Miodec 445f61c8a8 better comment 2023-05-17 13:34:46 +02:00
Miodec 82bfc5956e updated log 2023-05-17 13:34:46 +02:00
Miodec 16b2b11caf better log 2023-05-17 12:05:48 +02:00
Miodec f0ec3d36ff not allowing users to report themselves
closes #4269
2023-05-15 13:36:58 +02:00
Miodec 6c9eb9ec3a deleting inbox on user reset
closes #4281
2023-05-15 13:36:57 +02:00
Miodec 219ec63794 turns out date.now uses miliseconds instead of seconds... who knew? 2023-05-09 16:06:47 +02:00
Evan 9408322503
Update PersonalBests Interface (#4158) Ferotiq
* update `PersonalBests` interface

* removed properties

* setting to skeleton if needed

* consistency and add skeleton by default

* consistency

* populate personalBests on user get

* simplification + consistency + small fixes

* protecting against partial object

* removed duplicate

* not optional property

* ensuring personal bests structure while creating user snapshot

* checking pb structure for tags

* missing skeleton

* required personal bests property

* simplify

---------

Co-authored-by: Miodec <jack@monkeytype.com>
2023-05-03 11:39:32 +02:00
Bruce Berrios 8ee934c69d
Remove daily lb cache (#4231)
* Remove daily lb cache

* remove init

* lint
2023-04-30 11:25:18 -04:00
Miodec 02d4fa050f logging more fields 2023-04-24 12:54:54 +02:00
Miodec 9ff57a773f fixed tests 2023-04-21 12:05:38 +02:00
Miodec aecdd21474 allowing users to update the casing of their own name 2023-04-21 11:22:43 +02:00
Miodec 017ca95236 passing previous name as function parameter to avoid requesting the user multiple times 2023-04-21 10:44:40 +02:00
Miodec 7d4e1ffc03 moved last name change check to the controller 2023-04-21 10:43:32 +02:00
Miodec ad664812be missing styles in the config validation 2023-04-21 10:11:13 +02:00
Miodec c12852eef2 updated bullmq 2023-04-20 13:27:41 +02:00
Miodec 5fbc14c73c cron version bump 2023-04-20 13:13:08 +02:00
Miodec 2d8a4a7651 update firebase admin 2023-04-20 13:08:53 +02:00
Miodec cc59b346fc looking fo the service account key in the src folder 2023-04-18 16:19:46 +02:00
Miodec c6d0070dd3 moved firebase admin into its own module
not initialising if ther eis no service account
this allows the backend server to be ran without firebase (all though it will throw errors)
closes #4190
2023-04-18 15:50:54 +02:00
Miodec 942df911bd fixed server boot errors not displayed correctly 2023-04-18 15:50:54 +02:00
Miodec dcbf5e0333 Merge branch 'newads' 2023-04-18 12:44:55 +02:00
Miodec e6cbdfd6c0 not including users who have opted out 2023-04-18 11:28:00 +02:00
Miodec f053ca2c96 stopped ab test, removed ab test tracking code 2023-04-17 16:47:39 +02:00
Miodec d96eea2bca Merge branch 'master' into newads 2023-04-12 16:26:59 +02:00
Miodec 26a876938e i am stupid 2023-04-12 16:26:45 +02:00
Miodec 73c84b43c3 Merge branch 'master' into newads 2023-04-12 00:03:00 +02:00
Miodec c36664c00c passing lboptout into validation 2023-04-12 00:01:31 +02:00
Miodec f29db00949 added catch, disabled cache for send verification email 2023-04-11 23:24:14 +02:00
Miodec 4262144c85 Merge branch 'master' into newads 2023-04-06 01:40:35 +02:00
Miodec eedb92d77f sending chartotal to the backend 2023-04-06 01:39:44 +02:00
Miodec 09bb9d5687 Merge branch 'master' into newads 2023-04-05 18:29:20 +02:00
Miodec 1a47ca9b00 added start to first 2023-04-05 18:27:17 +02:00
Miodec 5cfc79f578 deleting new properties 2023-04-05 18:26:46 +02:00
Miodec 9902f983a1 Merge branch 'master' into newads 2023-04-05 13:37:00 +02:00
Miodec 9a5ea07ca0 logging ua 2023-04-05 13:36:50 +02:00
Miodec 70bf4d7d3c Merge branch 'master' into newads 2023-04-05 10:41:29 +02:00
Miodec 8f0f63182e logging version 2023-04-05 10:41:01 +02:00
Miodec dc14aa9e41 Merge branch 'master' into newads 2023-04-04 18:57:12 +02:00
Miodec 1d3501ce94 reworked the way key spacing is recorded
added lastKeyToEnd (time between last keypress and test end)
2023-04-03 19:27:15 +02:00
Miodec 252139178e updated error message 2023-04-03 19:25:13 +02:00
Miodec 486c2d0632 using new duration calculation
added keyoverlap
2023-04-03 14:57:59 +02:00
Miodec 8e7f966fc7 added min value 2023-04-03 14:52:54 +02:00
Miodec 1205b5cfd4 moved key stats up,
moved hash check down
2023-04-03 14:52:34 +02:00
Miodec 9f99e1ee37 added todo 2023-04-03 14:51:51 +02:00
Miodec 13fff606d0 array type 2023-04-03 13:22:25 +02:00
Miodec 77092a508e Merge branch 'master' into newads 2023-03-27 15:18:55 +02:00
Miodec 18f27c26db added admin endpoints configuration 2023-03-27 15:12:33 +02:00
Miodec f90a8f6e02 inverted property logic 2023-03-27 13:42:13 +02:00
Miodec ecd97ebc51 Merge branch 'master' into newads 2023-03-24 14:15:20 +01:00
Jack 317f5b23ba
Admin auth (#4101)
* added admin auth

* always decoding token
2023-03-24 12:17:27 +01:00
Miodec b1443a1170 Merge branch 'master' into newads 2023-03-21 15:40:44 +01:00
Miodec ce4087d0bd missing param 2023-03-21 15:40:32 +01:00
Miodec bd84f341fc Merge branch 'master' into newads 2023-03-21 15:02:55 +01:00
Miodec fd0120d075 added duplicate result log 2023-03-21 15:02:25 +01:00
Miodec e8d7182f66 Merge branch 'master' into newads 2023-03-20 14:21:18 +01:00
Evan 642e99331e
Require === and !== in Backend (#4086) Ferotiq
* eqeqeq in backend

* simplify
2023-03-20 12:11:21 +01:00
Miodec b20643b411 small bug 2023-03-16 14:55:12 +01:00
Miodec 0102dc1806 optional for a while 2023-03-16 14:46:49 +01:00
Miodec 24af35b7aa optional for a while 2023-03-16 14:46:34 +01:00
Miodec 3fb761d3ee loggign ad provider to prometheus 2023-03-16 14:43:54 +01:00
Albert 7ed088a13e
Account graph (#4049) albertying
* Create graph with ao10, ao100, and pb

* Display best ao10 and 100

* Fix ts errors

* Remove old graph

* Remove smoothing slider and toggle chart style button

* Clean up code

* Populate graph if chartData > 0

* Fix filter not displaying data correctly

* Fix wpm cpm labels

* Update colors using theme colors

* brought back accuracy averages

* different colors

* Add toggle ao10 and ao100

* Change opacity based on toggles

* Persist on refresh

* Fix accountActivity chart point color not updating when changing theme in the command line

* Refactor

* Keep pb color consistent

* removed dot

* smaller buttons, in one row, media queries

* hiding bottom scale

* connected the config properties into 1

* Refactor

* Combine into one loop

* cleanup
removed unused functions
reduced repeating code
removed comments
removed console logs

* removed highest avg 10 and 100 stats

* sweep

---------

Co-authored-by: Miodec <jack@monkeytype.com>
2023-03-16 12:57:47 +01:00
Rob Sassack 239c43f240
Added plus three funbox (#4076) robsassack 2023-03-16 12:55:36 +01:00
Miodec 85606bcb6c added strong types to later queue
closes #3966
2023-03-06 15:40:53 +01:00
Miodec 5c93fa7edf added better error to try to identify an issue 2023-03-03 12:10:43 +01:00
Jack 56d8c7c9ae
Added ability to opt out of leaderboards (#4016)
* added button to opt out of leaderboards

* also not allowing daily leaderboards

* also not allowing weekly lb

* added lb opt out notice on the leaderboards

* updated message

* resetting lboptout state on account reset
2023-02-25 23:26:06 +01:00
Miodec 6dab8323a5 updated schema 2023-02-23 21:05:09 +01:00
Miodec 4400ebe538 added duplicate result check 2023-02-21 14:03:56 +01:00
Miodec 6ed5a9422d added zipf funbox 2023-02-21 13:14:36 +01:00
Bruce Berrios 5337a9bb99
Add weekly xp rewards results job (#3939) bruception
* Add weekly xp rewards results job

* Fix formatting

* Pluralize

---------

Co-authored-by: Jack <jack@monkeytype.com>
2023-02-20 12:30:14 +01:00
Miodec 126e67811c removed length check 2023-02-20 11:57:54 +01:00
Rob Sassack 3deb2809a1
Added binary mode to funbox (#4005) robsassack
* Added binary mode to funbox

* changed description and added punctionation off for binary funbox
2023-02-19 13:02:45 +01:00
Miodec 4781755fef replaced email address 2023-02-13 23:55:08 +01:00
Miodec cecfd8b7b5 custom handling error 2023-02-13 15:28:20 +01:00
Miodec aa4f0a41f3 returning false if response was not ok 2023-02-13 15:10:15 +01:00
Jack 1ca0fd1b23
Custom email (#3964)
* added nodemailer and mjml

* added email template

* basic email util file

* added email queue

* email worker

* renamed folder

* showing which queues and workers were initialized

* initializing email on server boot
added some test code

* renamed to email worker

* type fix

* renamed queue

* added queue to list

* added worker to list

* logging when config was verified

* handling send mail result

* not minifying (not supported anymore)
using .html property
returning correct value

* dont send me emails

* added port to .env

* updated example

* updated test email

* using env email

* parseint base

* message

* refactor

* message

* rename

* moved email templates

* using async file read

* typo

* using mustache

* moved file
renamed to email client

* logging with prometheus

* added social links

* line

* using stronger types (object instead of array of any[])
moved prometheus logging into email client
added function to send mail using a template

* fixed templates not working

* removed console log

* name change

* rename

* moved templates

* rename

* string interpolation

* string interpolation

* moved to dev dependencies, exact versions

* moved types

* removed function, remove unnecessary if

* update template params

* updated name

* fixed button not clickable

* throwing

* moved template metadata to one place

* rename

* sending email on account creation

* removed test code
removed await

* fixed button

* not stopping the server if email client validation failed

* added metric for queue lengths

* exposing getjobcounts

* added job to log queue lengths

* added endpoint to request verification email

* using send verification email that calls api instead of firebase built in

* updated route

* renamed function

* recording time to complete

* returning 400 if email already verified

* setting transport initialized to true earlier, setting it to false if caught error

* moved forgot password flow to a simple popup, added new endpoint to ape

* added forgotpasswordemail route

* added email tempalte

* setting transport to false if caught error

* added email queue function

* moved try higher

* fixed log
2023-02-13 13:24:43 +01:00
Jerry Zhou da9b691bb1
New Sound on Click - Pentatonic Scale (#3970)
* added scale function

* cleaned up merge

* cleaned up scale implementation and created closure for previewing scales

* finalized changes

* fixed ci/de

* switched to upper camel case

* undid accidental changes

* updates

* fixed indexing bug and audioCtxt being intialized

* removed mapping

* updated schema with non-inclusive range for two new sound-on-clicks

---------

Co-authored-by: Bruce Berrios <bberr022@fiu.edu>
Co-authored-by: Bruce Berrios <58147810+Bruception@users.noreply.github.com>
2023-02-10 18:11:52 -05:00
Miodec 47c581c5f8 recording time to complete job
closes #3965
2023-02-09 15:27:55 +01:00
Miodec 41834d9c5e logging every 5 minutes 2023-02-01 12:09:08 +01:00
Miodec 666522c0b3 added job to log queue lengths 2023-02-01 02:05:19 +01:00
Miodec bb39afa753 exposing getjobcounts 2023-02-01 02:05:15 +01:00
Miodec 06a2c91eee added metric for queue lengths 2023-02-01 02:05:08 +01:00
Miodec b177232710 refactor 2023-01-31 01:04:04 +01:00
Miodec 921aa94dc7 added cron job to log collection sizes 2023-01-30 16:53:12 +01:00
Miodec 14ad135483 updated messages 2023-01-29 15:20:04 +01:00
Miodec 2dd1baac95 added another custom error handler
changed returned code
2023-01-29 15:14:46 +01:00
Miodec 2aa95b4526 added custom error handling 2023-01-29 14:43:04 +01:00
Jack 6647a81ad1
Structure (#3951)
* created file which holds skeletons for popups

* using skeleton

* saving skeleton after the events are bound

* moved click event to a static element

* using skeleton

* added hide and show functions
using skeleton

* using skeleton

* using skeleton

* using skeleton

* using skeleton

* using skeleton

* fixed a bug where updating the preset name would not immediately show the update

* using skeleton

* shorter link transition

* using skeleton

* using skeleton

* using skeleton

* fixed a bug where accounts with no pbs would cause misplaced "show all pbs" button

* using skeleton

* using skeleton

* using skeleton

* using skeleton

* fixed quote mod not being sent to the client

* using skeleton

* using skeleton

* using skeleton

* using skeleton

* using skeleton

* using state object instead of html attributes
fixed a bug where no tags text would persist even when tags were added to the test
using skeleton

* using skeleton

* using skeleton

* using skeleton

* using skeleton

* using skeleton

* removed unused code

* unnecessary import

* unused code

* using skeleton

* changed click handling element
only hiding and restarting the test if init returned true

* using skeleton
returning boolean from init function

* removed console log

* added function to check if a popup is visible

* better visibility check

* rewrote alerts to use state object instead of pushing straight to dom
using skeleton

* better visibility check

* not using skeleton for now

* using skeleton
using state object
better visibility check

* added parent override

* unnecessary code

* changed function to a more generic one

* fixed cookie popup text possibly overflowing popup

* using "isPopupVisible" function instead of a "hasClass" check
added some missing escape key handlers

* using skeleton

* using skeleton

* using skeleton

* using skeleton

* standard popup animation length

* consistent animation timing

* using iselementvisible function

* removed unused function

* using isElementVisible

* proper show and hide functions, added callback funciton on hide,
added noAnim params

* fixed no animation on the logo sub text

* reordered click handlers

* moved code to a fill function

* using proper show and hide functions
added callback on hide param
added no anim and no callback parameters

* added no anim parameter
callback func is optional

* also applying noanimation to hiding animation

* using proper hide and show functions

* using iselementvisible

* using skeleton

* missing space

* storing text area state in custom text

* using skeleton

* setting state on show instead of on hide

* moved click handler

* unused code

* missing parent override

* using skeleton

* no longer waiting for document to be ready

* settings using skeleton

* profile search using skeleton

* page profile using skeleton

* navigating to account if already logged in

* using skeleton

* using skeleton

* emptying result replay and words history on restart

* optimised theme picker

* optimised settings page fill

* performance optimisation

* awaiting promises

* brought back code that was accidentally removed

* async

* addad param to avoid duplicate group update on settings page load

* added main thread yields to remove long tasks

* optimising performance of about page loading

* not awaiting

* breaking up long tasks to optimise performance

* optimised button appending

* fixed avatar being too big

* optimisation
splitting up code
added yields to split tasks

* fixed merge

* removed sleep

* missing chart color update

* updating main chart first

* disabling animation during update

* updating chart colors once instead of on every update

* added one more sleep

* removed sleep causing graphical issues

* update chart regardless if it has data or not

* hiding estimated words typed when no data was found
2023-01-27 15:10:07 +01:00
Rizwan Mustafa 85f52ff49e
Add typescript support for jest (#3949) rizwanmustafa
* Add typescript support for jest

* Add typescript support for jest setup-tests.ts

* Some more bug fixing
2023-01-26 14:13:14 +01:00
Oxey 6c9ee41444
Make quote actions not break with c++ language (#3925) o-x-e-y
* Make quote actions not break with c++

c++ currently obviously has `+` symbols which means stuff like quote ratings break because of the validation regex. I feel like changing `\w` straight to `.` would also be fine since languages and their names get approved manually, but this should work fine for now

* fix silly mistake

a `.regex()` got removed for whatever reason

* Fix prettier bug

* remove unnecessary spaces

Co-authored-by: Rizwan Mustafa <rizwanmustafa0000@gmail.com>
2023-01-26 14:09:11 +01:00
Miodec 698d43d64e more validation 2023-01-25 23:52:37 +01:00
Miodec 385fc00ea2 more regex validation 2023-01-25 23:52:28 +01:00
Miodec 6bdf6de1f6 added body validation 2023-01-25 23:41:53 +01:00
Jack 59b252389e
fix: backend/package.json & backend/package-lock.json to reduce vulnerabilities (#3945)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-SIMPLEGIT-3177391

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2023-01-25 23:21:53 +01:00
Jack 2f46176f34
Allowing configuration endpoint access if user is configuration mod (#3936)
* showing error when fetch failed

* added function to only use an array of middlewares in production

* allowing patch configuration and get schema if user is a configuration mod

* fixed empty middleware not working as expected
2023-01-24 16:00:29 +01:00
Bruce Berrios b36c842921
Add stricter typing to configuration (#3933) Bruception 2023-01-24 15:41:21 +01:00
Miodec 4c1175e698 showing error when fetch failed 2023-01-24 14:03:31 +01:00
Miodec 178b6ae83d schema update 2023-01-24 13:15:16 +01:00
Bruce Berrios 74fe4c864d
Add later queue (#3789) bruception
* Add later queue

* Fix test

* renamed property

* update name

* missing rename

* try 23 times

Co-authored-by: Miodec <jack@monkeytype.com>
2023-01-23 14:07:11 +01:00
Veemyu d2a8b316c6
Add an upside down mode to the Funbox (#3915) Veemyu
* Add Upside Down to Funbox

* Resolve formatting issues

* Re-add missing css
2023-01-16 22:19:58 +01:00
Miodec 9d11dafd7c not storing incomplete tests 2023-01-15 14:05:41 +01:00
Miodec 75d635eef5 protecting against negative xp 2023-01-11 22:03:51 +01:00
Miodec adf47214db added option to report users 2023-01-09 18:20:56 +01:00
Miodec a926ad4d1f checking with regex 2023-01-07 17:05:21 +01:00
Miodec 8ca71f0320 replacing homoglyphs when checking for profanities
closes #3844
2023-01-04 19:25:54 +01:00
Miodec aba0f27c06 removed smooth consistency and unsmoothed raw. part of #3878 2023-01-04 18:43:57 +01:00
Miodec 0e977a7c38 optional smooth consistency. part of #3878 2023-01-04 18:43:33 +01:00
hossammenem 6867850c74
adding the WPM to the daily leaderboard message (#3838) hossammenem
* adding the WPM to the daily leaderboard message

* rounding the WPM
2023-01-04 14:23:47 +01:00
Miodec 7c34fa2591 upgraded swagger stats 2022-12-28 15:42:12 +01:00
Snyk bot 6813c707a0
fix: backend/package.json & backend/package-lock.json to reduce vulnerabilities (#3860)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-JSONWEBTOKEN-3180020
- https://snyk.io/vuln/SNYK-JS-JSONWEBTOKEN-3180022
- https://snyk.io/vuln/SNYK-JS-JSONWEBTOKEN-3180024
- https://snyk.io/vuln/SNYK-JS-JSONWEBTOKEN-3180026
2022-12-28 15:37:37 +01:00
Miodec 948f667b2a fixed incorrect validation message being shown 2022-12-11 22:39:55 +01:00
Miodec bf93ea753a removing errorId when not a server error 2022-12-11 01:00:33 +01:00
Miodec f697ec00fe logging errorid 2022-12-10 23:40:02 +01:00
Miodec 5005b9aad6 if the user is not found: check if it exists in auth, if it does, recreate it in db 2022-12-10 23:38:41 +01:00
Bruce Berrios bdd6ce0ffa
Housekeeping (#3816)
* housekeeping

* bad commit

* fix bad
2022-12-08 14:46:17 +01:00
bvoo 4e9ab796ad
Add timestamp filter for results (#3815)
* Add timestamp filter for results

* moved validation, changed mongo filter to gte.

* conditionally include time in mongo query, strict schema.

* changed min to monkeytype birth date

* added result options, check for nil.

* update description

* timestamp constant

* rename timestamp to onOrAfterTimestamp, make opts optional

* declaration and description modifications

* one last time

* move result ops

* one last one for real
2022-12-07 22:11:22 -05:00
Miodec cb8237a0c0 longer bio 2022-12-07 17:54:15 +01:00
Miodec b458a6dd9d false positives 2022-12-07 17:54:09 +01:00
Snyk bot 829a68b3e7
fix: backend/package.json & backend/package-lock.json to reduce vulnerabilities (#3814)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-GOT-2932019
- https://snyk.io/vuln/SNYK-JS-QS-3153490
2022-12-07 15:52:48 +01:00
Bruce Berrios c1dfc53e58
Refactor queues (#3783) Bruception 2022-11-30 19:39:16 +01:00
egorguslyan 618c9ec931
Ip (#3784) egorguslyan
* Finishing logic

* Numbers + layoutfluid

* One interface

* Filter results

* tts error on undefined

Extencions like NoScript can partly block scripts on the page.
If speech synthesis is not loaded, notification shows up
without freezing the page

* Improved randomcase

* Prevent dublicates in command line

* Change filter logic

* Prettier

* Convert numbers

* num

* Quote and zen modes

* withWords

* Misc

* Expand funboxes list for pb saving

* Move list to backend

* Move to constants

* Async withWords, checkFunbox tweak

* Prettier

* Forbid nonexistent funboxes

* Disable speech if language is ignored

TtS's init() uses setLanguage()

* canGetPb

* Less circular imports

* Ligatures typo

* Simon says blocks word highlight

* blockWordHighlight backend

* Changed imports

* usesLayout

* JSON schema

* IP funbox

* Split

* Display notification instead of reseting

* canGetPB

* One getWordHtml

* Dividing properties

* No sync

* blockedModes

* forcedConfig

* Infinitness parameter, list sync

* applyConfig, memory

Remove extra applyConfig somewhere;
Memory in quotes and custom modes

* I lost this code after merging

* Remove arrowKeys

* isFunboxCompatible

* Fix logic

* sync canGetPb

* remove FunboxObjectType

* baloons

* moved cangetpb function to pb utils

* updated the pb check to be easier to understand

* Refactor isFunboxCompatible

* Check modes conflicts

* Strict highlightMode type

* Only one allowed or blocked highlight mode

* More checks

* Undefined only, not false

* Prettier

* Highlight modes

* added intersect helper function

* reworked forced config
 - storing allowed modes as an array, not string
 - first value will be used if config is outside of the allowed values
 - instead of checking if highlight mode is allowed, checking if the whole config is available
- removed the "Finite" forced config and replaced it with "noInfiniteDuration" property
- config event listener now checks every config change, not just highlight mode. this will ensure any future forced configs will work straight out of the box

* ManualRestart in commandline

* fixed funbox commands not correctly showing which funbox is active

* Upd list

* Merge

* canGetPB for ip

* Reduce list

* split funbox into smaller files
moved funbox files into its own folder

* missing none command

* added function to convert camel case to space separated words

* changed config validation to be blocking the change rather than reacting to the change

* reduced code duplication

* allowing sub color flash

* moved keymap key higlighting and flashing into an observable event

* moved tts into a observable event

* passing funbox into config validation funcitons

* replaced getActive with get

* only keeping functions structure in the list, moved the actual function bodies to funbox.ts
done to remove a circular dependency
still need to finish the rest of the funboxes

* removed empty function definitions (typing issues)

* removed unnecessary type

* unnecessary check

* moved mode checking to config validation

* longer notification

* checking funboxes before changing mode

* moved more functions

* fixed incorrect type

* checking funboxes when setting punctuation and numbers

* Rest of funboxes

* fixed funbox commands showing tags text and icon

* checking if funbox can be set with the current config

* better error message

* validating with setting time and words
importing from a new file

* added a function to capitalise the first letter of a string

* using function from a new file
new parameters

* moved test length check to a function in a different file

* moved some funbox validation into its own file

* only  showing notifications if the setWordCount returned true

* moved funbox validation to its own file

* setting manual restart when trying to set funbox to nonoe

* moving this validation to before activating the funbox

* returning forcedConfigs along side if current value is allowed
moved infinite check to checkFunboxForcedConfigs

* removed function, replaced by funox validation

* removing duplicates

* throwing if no intersection

* wrong type

* always allowing setting funbox
sometimes it might be possible to update the config

* checking forced configs first, and updating config if possible
only setting funbox to none when couldnt update config

* basic difficulty levels

* xp funbox bonus

* Delete old file

* Difficulty level

* removed console logs

* renamed import, renamed type

* lowercase b for consistency across the codebase

* renamed variable for readability

* renamed for clarity

* converted metadata to object

* changed from beforesubgroup on the command to before list on the subgroup

* using code suggested by bruce

* renamed type

* removed console log

* merch banner fix

* important animation

* updating the icon of "none" funbox command

* removed unnecessary import

* lowercase b

* updated description

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Miodec <jack@monkeytype.com>
2022-11-30 19:25:57 +01:00
egorguslyan 588d14a2b3
Multiple funboxes (#3578) egorguslyan
* input-controller

* result

* Finishing logic

* Numbers + layoutfluid

* One interface

* Filter results

* tts error on undefined

Extencions like NoScript can partly block scripts on the page.
If speech synthesis is not loaded, notification shows up
without freezing the page

* Improved randomcase

* Prevent dublicates in command line

* Change filter logic

* Prettier

* Convert numbers

* num

* Quote and zen modes

* withWords

* Misc

* Expand funboxes list for pb saving

* Move list to backend

* Move to constants

* Async withWords, checkFunbox tweak

* Prettier

* Forbid nonexistent funboxes

* Disable speech if language is ignored

TtS's init() uses setLanguage()

* canGetPb

* Less circular imports

* Ligatures typo

* Simon says blocks word highlight

* blockWordHighlight backend

* Changed imports

* usesLayout

* JSON schema

* Display notification instead of reseting

* canGetPB

* One getWordHtml

* Dividing properties

* No sync

* blockedModes

* forcedConfig

* Infinitness parameter, list sync

* applyConfig, memory

Remove extra applyConfig somewhere;
Memory in quotes and custom modes

* I lost this code after merging

* Remove arrowKeys

* isFunboxCompatible

* Fix logic

* sync canGetPb

* remove FunboxObjectType

* baloons

* moved cangetpb function to pb utils

* updated the pb check to be easier to understand

* Refactor isFunboxCompatible

* Check modes conflicts

* Strict highlightMode type

* Only one allowed or blocked highlight mode

* More checks

* Undefined only, not false

* Prettier

* Highlight modes

* added intersect helper function

* reworked forced config
 - storing allowed modes as an array, not string
 - first value will be used if config is outside of the allowed values
 - instead of checking if highlight mode is allowed, checking if the whole config is available
- removed the "Finite" forced config and replaced it with "noInfiniteDuration" property
- config event listener now checks every config change, not just highlight mode. this will ensure any future forced configs will work straight out of the box

* ManualRestart in commandline

* fixed funbox commands not correctly showing which funbox is active

* Upd list

* Reduce list

* split funbox into smaller files
moved funbox files into its own folder

* missing none command

* added function to convert camel case to space separated words

* changed config validation to be blocking the change rather than reacting to the change

* reduced code duplication

* allowing sub color flash

* moved keymap key higlighting and flashing into an observable event

* moved tts into a observable event

* passing funbox into config validation funcitons

* replaced getActive with get

* only keeping functions structure in the list, moved the actual function bodies to funbox.ts
done to remove a circular dependency
still need to finish the rest of the funboxes

* removed empty function definitions (typing issues)

* removed unnecessary type

* unnecessary check

* moved mode checking to config validation

* longer notification

* checking funboxes before changing mode

* moved more functions

* fixed incorrect type

* checking funboxes when setting punctuation and numbers

* Rest of funboxes

* fixed funbox commands showing tags text and icon

* checking if funbox can be set with the current config

* better error message

* validating with setting time and words
importing from a new file

* added a function to capitalise the first letter of a string

* using function from a new file
new parameters

* moved test length check to a function in a different file

* moved some funbox validation into its own file

* only  showing notifications if the setWordCount returned true

* moved funbox validation to its own file

* setting manual restart when trying to set funbox to nonoe

* moving this validation to before activating the funbox

* returning forcedConfigs along side if current value is allowed
moved infinite check to checkFunboxForcedConfigs

* removed function, replaced by funox validation

* removing duplicates

* throwing if no intersection

* wrong type

* always allowing setting funbox
sometimes it might be possible to update the config

* checking forced configs first, and updating config if possible
only setting funbox to none when couldnt update config

* basic difficulty levels

* xp funbox bonus

* removed console logs

* renamed import, renamed type

* lowercase b for consistency across the codebase

* renamed variable for readability

* renamed for clarity

* converted metadata to object

* changed from beforesubgroup on the command to before list on the subgroup

* using code suggested by bruce

* renamed type

* removed console log

* merch banner fix

* important animation

* updating the icon of "none" funbox command

* removed unnecessary import

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Miodec <jack@monkeytype.com>
2022-11-30 16:57:48 +01:00
Bruce Berrios 83cfd272a2
Fix weekly leaderboard timestamp logic (#3780) 2022-11-29 11:33:58 +01:00
Miodec dcfc5702b4 changed to monkeytype 2022-11-29 01:04:00 +01:00
Bruce Berrios a4022f43a8
Refactor ape rate limiter (#3778) Bruception 2022-11-28 17:13:00 +01:00
Bruce Berrios 87b89e0d57
Add weekly xp leaderboards backend (#3511) Bruception
* Add weekly seasons

* Fix test

* Add week timestamp tests

* Add unit tests

* Fix weeks before calculation

* Update user.spec.ts

* Remove minXp maxXp reward config

* Record total time typed + last activity timestamp

* Season -> Weekly XP Leaderboard

* prettier

* Add config hints

* Update leaderboard.ts

* monkeytype

Co-authored-by: Miodec <jack@monkeytype.com>
2022-11-28 14:10:02 +01:00
Miodec 7f78018475 updated regex 2022-11-18 23:54:49 +01:00
Miodec 25883e3bc9 removed regex 2022-11-18 23:54:49 +01:00
Miodec 32bdcbbec0 removed regex 2022-11-16 00:14:55 +01:00
Miodec 6458029d0a removed regex check 2022-11-15 23:58:39 +01:00
Miodec 0192b025df verifying language with regex 2022-11-15 16:51:22 +01:00
Miodec f76849f921 better request validation 2022-11-15 16:40:19 +01:00
Miodec 17d9733bba upgraded packages
cors
firebase-admin
simple-git
2022-11-15 12:44:24 +01:00
Miodec f72c3a6702 added a state token to make sure we only link to the user that started the oauth2 flow 2022-11-09 15:44:31 +01:00
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
Miodec 0fca1073bb fixed exact wpm match showing as new pb
closes #3539
2022-09-15 12:55:26 +02:00
Miodec 48a1c765eb missing type 2022-09-12 13:01:35 +02:00
Miodec ddea63d371 added more detailed incomplete test tracking
altering incomplete xp gained based on accuracy of those tests
2022-09-12 12:57:24 +02:00
Bruce Berrios 7339ec7ce0
Clear rewards (#3528) 2022-09-10 18:30:36 +02:00
Miodec 8dabb39d70 missing rounding 2022-09-09 11:03:31 +02:00
Bruce Berrios c894a862e4
Add xp reward overrides (#3525) Bruception, Miodec
* Add xp reward overrides

* edge case

* switched to defined brackets instead of just min and max

* foreach

* moved type to its own interface

* updated spec

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-09-08 22:38:28 +02:00
Miodec e9c6534c39 fixed failing test 2022-09-07 13:53:34 +02:00
Miodec 5bf0c9a951 moved streak logic from controller to dal
closes #3515
2022-09-07 13:15:37 +02:00
Miodec 9e7e0fc6ff checking if inventory is undefined 2022-09-06 17:02:35 +02:00
Miodec fada34500d fixed users being unable to claim their rewards 2022-09-06 16:57:54 +02:00
Miodec 1c82d85662 not sending awards if maxXpReward is 0 2022-09-05 15:16:50 +02:00
Miodec ee5c07d10a displaying longest streak on profile 2022-09-05 15:12:24 +02:00
Miodec 949e49cfa2 added maxstreak 2022-09-05 15:05:12 +02:00
Miodec 85dc20e8cd Merge branch 'newnav' 2022-09-05 13:55:09 +02:00
Miodec d461255be1 Merge branch 'master' of https://github.com/Miodec/monkeytype 2022-09-05 12:17:59 +02:00
typermonkeyuser b08c194c3d
Implement streaks (#3385) typermonkeyuser, bruception, miodec
* Implement streaks

* Improve code

* Update package.json

* Store streak on the user

* Pretty-fix

* Ensure that streak is up to date

* Fix issue in streak calculation

* Revert prettier changes

* Update polish.json

* Update db.ts

* Remove initial calculation

* Write mandatory test

* using strict equality

* moved functions to the utils file

* importing utils

* adding streak to breakdown,
rounding and parsing streak modifier

* renamed variable

* renamed fields

* using correct field name

* added streaks to configuration

* showing streak during xp breakdown

* incrementing streak earlier
checking configuration before applying modifier

* returning streak to the client

* setting local streak with the number returned from the backedn

* only reading streak when updating profile instead of updating

* sending streak information in profile

* only showing streak if greater than 0

* setting to empty if no streak

* renamed config property

* updated streak calculation

* refactored isYesterday

* refactored streak update

* only displaying if streak larger than 1

* merged configuration properties into 1

* added configuration for max streak bonus

* added isToday check back (derp)

* reverted streaks back to multiplier approach

* using better maprange functin

* removed import

* moved test to dal spec

* clamping

* removed imports

* fixed test

* increased coverage

* removed angry console log

* typo

* using date now instead of dates

* mocking date now
awaiting expect

* not using date

Co-authored-by: Anonymous <110769200+fasttyperdog@users.noreply.github.com>
Co-authored-by: Rizwan Mustafa <rizwanmustafa0000@gmail.com>
Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-09-05 12:13:55 +02:00
Miodec de251d0741 checking if xp is nan 2022-09-05 02:19:21 +02:00
Bruce Berrios 20a5cac5e6
Reward daily leaderboards and refactor mail API (#3508) Bruception
* Reward daily leaderboards and refactor mail API

* Reorder

* Change mail template
2022-09-04 23:58:46 +02:00
Miodec 2a7b6a874c updated message 2022-09-04 20:18:27 +02:00
Miodec 93ab0c6116 not using template 2022-09-04 20:16:01 +02:00
Miodec 86371ae432 only sending inbox data if inbox is enabled 2022-09-04 20:06:05 +02:00
Miodec 283c2773c5 Merge branch 'master' into newnav 2022-09-04 20:04:08 +02:00
Miodec 18f9785e04 sending to inbox if user got banned 2022-09-04 20:03:27 +02:00
Miodec 002d007f1f returning if user got banned 2022-09-04 20:03:09 +02:00
Miodec 2f21bff1a2 fixed corrected everything bonus being applied too often 2022-09-04 18:22:24 +02:00
Miodec 2081f29f32 omiting selected field 2022-09-03 14:38:34 +02:00
Miodec f61691d4fe sending max mail in response 2022-09-02 00:03:15 +02:00
Miodec de895a1cd2 converted font size to use an input field allowing any font size 2022-08-30 22:34:27 +02:00
Bruce Berrios 4b49900d57
Add inbox (#3458) Bruception
* Add basic inbox

* Changes

* Remove export

* Move condition

* Use for each
2022-08-30 15:19:26 +02:00
Miodec e43a30b39d building breakdown object on the server 2022-08-29 01:33:18 +02:00
Bruce Berrios 0dfa3ef773
Urgent (#3457) 2022-08-27 20:39:02 +02:00
Bruce Berrios 87a0da839a
Add endpoint for getting server config (#3431) Bruception
* Add endpoint for getting server config

* Fix route stack

* Add comment
2022-08-23 12:24:37 +02:00
Miodec 453e88599f removed another one 2022-08-22 16:16:58 +02:00
Miodec 4c4f20313f removed word from profanities 2022-08-22 16:16:40 +02:00
Miodec 6f41db5575 30 instead of 7 days 2022-08-22 14:27:36 +02:00
Bruce Berrios 5a0e8ae72e
Housekeeping (#3374) 2022-08-08 16:16:07 +02:00
Bruce Berrios 43a384c0e0
Fix/refactor xp (#3373) bruception
* Fix/refactor xp

* Prettier fixes

* Prettier
2022-08-06 16:57:01 +02:00
Miodec cf15878713 calculating daily bonus based on the total user xp, up to 1000 2022-08-05 15:40:35 +02:00
Miodec 115d32ab26 disabled daily bonus for now 2022-08-05 15:19:12 +02:00
Miodec 18c7d7db18 fixed server always reporting daily bonus 2022-08-05 15:13:07 +02:00
Miodec 2ee84972ee catching error 2022-08-05 00:56:17 +02:00
Miodec a32821c02e added min values in result schema 2022-08-05 00:33:11 +02:00
Miodec fdcc1337ae added daily bonus 2022-08-05 00:27:06 +02:00