* 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>
integratie check for too long passwords into isPasswordStrong, and
consistently check for it wherever passwords can be created / changed.
Co-authored-by: Liewe Gutter <liewegutter@gmail.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
no longer using main, sub or error color as background
using outline instead to symbolise level
using text color on sub alt background to maximise readability