* 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
* 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
* 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>
* 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
* 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>
* 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