this reworks the profanity check a little bit, usernames with profanity
are still considered valid if they match the regex pattern and they
match the length check
move revoke tokens function from delete user to its own funciton (together with removing from cache)
remove authutil calls from dal and move them to the controller layer
make sure to revoke tokens on email change
* wip
* wip frontend
* cleanup
* wip
* refactoring
* wip
* first working version
* wip
* update calendar with new result
* add migration script
* dates are hard
* fix naming inconsistencies
* requested changes on migration
* timezones
* update date-fns, use date-fns/utc
* resolve cyclic dependency by extracting test activity calender into new file
* cleanup
* fix increment
* fix
* tests
* test coverage
* test migration
* migration more logging
* migration add unique index on uid if missing
* update legend styling
* 53 columns
* wip
* move dropdown and legend to the top
add dropdown border
yeet hotpink
invisible filler boxes
remove year from month format
* responsive update
* lowercase months
* handle current year, fix tests
* handle year change
* make days square again
* handle newly created users correctly
* move css
* add wrapper for easier styling
rework some font sizes/widths
reorder styles
* media queries
* align
* rework styling once more
* dont commit debug
* add days full to fill the space a bit
* show partial months
* hover on 0 tests
* start dynamic calendar on sunday
* no activity
* hover
* remove label on fillers
* remove label on fillers
* fix months, update tests for months
* adjust tests to new requirements
* cleanup
* fix migration
* impr(commandline): add "add/remove quote to favorites" commands
closes#5368
* chore: remove daily lb which is no longer in the backend
* fix: dropdown element flashing for couple frames on page load
* feat(language): add japanese romaji 1k (nthngnssmnnglss)
* fix: optional chaining
!nuf
* fix(words generator): infinite custom text tests not working correctly
* chore: missing languages in list and group files
* fix(language): remove duplicates
!nuf
* add readline sync to confirm
* gh action complaints
* unnecessary check
* premium only
* add years to drop down only if premium
* Update setup-tests.ts
* test fix
* cleanup
---------
Co-authored-by: Miodec <jack@monkeytype.com>
* impr: add selfhosting using docker only
* add recaptcha config and docs
* add documentation on the backend-configuration.json file, remove ---redacted--- from example config
---------
Co-authored-by: Jack <jack@monkeytype.com>