Commit graph

567 commits

Author SHA1 Message Date
Jack 9ca477da54
Added tape mode (#2862)
* added config param for tape mode

* added settings section

* added commands

* moving caret to the correct place with tape mode is active

* only jumping line when not using tape mode

* prettier

* scrolling tape

* restarting test when tape mode changed

* showing one line when tape mode is active

* added function for scrolling words horizontally

* scrolling tape when layout emulator is enabled

* removed left margin when tape is active

* disable tape for some challenges

* fixed incorrect caret position when going back to a previous word

* ignoring no-this-alias

* fixed lines scrolling to often when tape mode was disabled

* storing caret width in a variable

* not allowing tape mode and show all lines together

* removed unnecessary comment
2022-04-24 17:04:46 +02:00
Evan 58505a9f31
Fix Collection Types (#2864) 2022-04-24 01:37:05 +02:00
Jack b60e6905ce
Made username non optional (#2859)
* reduced code repetition

* throwing error when no name provided

* stopping signout if no current user

* expanded to 16 chars

* moved code to popup file

* added google sign up popup

* checking if name is available in the backend

* deleting account if popup was closed
uncommented sign up process
addd functions to enable and disable input

* added google sign up event to avoid circular dependency

* hiding by default

* name is no longer optional
user is deleted if its database object is not found

* using loader to indicate background activity
2022-04-23 19:46:41 +02:00
Jack bdacc24660
Converted new quotes to typescript (#2844)
* renamed to ts

* added type for new quote

* converted to ts

* renamed dao to dal, fixed logic
2022-04-21 17:23:24 +02:00
Rizwan Mustafa 5691643b7a
Fixed versions (#2851) 2022-04-21 12:28:30 +02:00
Jack 6598823d60
Converted leaderboards DAO to typescript (#2843)
* added type for leaderboard entry

* converted leaderboards to ts

* fixed return type

* renamed occurences to DAL

* removed as any

* removed as any

* removed type casting
2022-04-21 12:24:13 +02:00
Rizwan Mustafa b4c191e931
Convert ResultDAO to typescript and rename to DAL (#2838)
* Started conversion to typescript

* Added types to db collection

* Removed changed logic
2022-04-19 13:49:12 +02:00
Rizwan Mustafa a0d5392884
(Backend) Ability to make Quotes Favorite (#2826) rizwanmustafa
* Created API for making quotes fav

* Moved routes over to quotes

* Renamed favQuotes to favoriteQuotes

* Renamed routes

* Removed error to prevent confusion and panic

* Added regex check for quote id and added fav quote number check

* Some fixy

* Added configuration for max favorite quotes

* Added grouping

* Created variable for storing collection

* Changed variable name

* Changed variable name

* Fixed some problems

* Fixed bug

* Added length chekc for quoteId

* MOved routes over to user

* Renamed routes
2022-04-14 22:53:44 +02:00
Miodec 6c6ebc2a24 removed unnecessary type cast 2022-04-14 18:38:03 +02:00
Rizwan Mustafa f07a6dd656
Convert UserDAO to typescript & rename to UserDAL (#2821)
* Started conversion to typescript

* Some more fixy fixy

* Final fixy fixy or at least that is what it seems

* Even more fixy fixy

* Add verifed = false upon usre creation

* Added return type

* Removed extra data

* Fixes

* Removed class syntax of UserDAO

* Name fix

* Renamed UserDAO to UserDAL

* Fixed errors

* Fixed some problems

* Fixed pb bug

* Strict Equality

* Var name change

* Var name change
2022-04-14 18:07:28 +02:00
Miodec ccd0bd6174 added support for approving quotes of one language
closes #2825
2022-04-11 16:05:07 +02:00
Miodec e6fcc2daf2 added name field to approved quotes. closes #2824 2022-04-11 15:55:59 +02:00
Jack ca00a53317
Added sub alt color, fixed various styling inconsistencies (#2804)
* replaced rgba with sub-alt

* changed color name

* reworked button styles, removed icon-button

* renamed color

* grid

* no text decoration

* renamed all icon buttons to text buttons

* using text-button

* fixed discord section

* using button class instead of redeclaring styles

* updated scroll styling

* more consistent scroll to top styling

* dot not in link

* fixed dot spacing

* actually fixed dot (stupid prettier)

* signout closer to the edge

* using text-button class

* updated button text for consistency

* lowercase

* moved show average section down

* fixed icon not being fixed width

* updated focus and hover button styling

* footer using text-button class

* fixed spacing
added new lines

* making sure custom themes work with sub alt

* updated validation

* reordered colors

* added sub alt colors to all themes

* updated alt sub colors

* temp

* updated sub alt colors

* updated sub alt

* fixed merge

* fixed merge

* merge fix

* moved section down

* lowercase

* merge fix

* consistent wording

* merge fix

* fixed merge

* removed test notifications

* removed balloon

* adjusted subalt

* removed debug code

* removed unused code

* removed some unused/old code

* fixed dot spacing
2022-04-07 22:04:43 +02:00
Miodec 5169f20ece unnecessary check 2022-04-07 01:30:16 +02:00
Bruce Berrios a3fc6e9997
Migrate redis client and configuration client from class syntax (#2802) 2022-04-05 12:41:20 -04:00
Miodec 5545b8e0a3 added error message if user is already linked
closes #2794
2022-03-31 19:47:18 +02:00
Bruce Berrios beb7e35dcb
Remove class syntax from controllers (#2791)
* Remove class syntax from controllers

* Specify base and rename
2022-03-30 18:20:13 -04:00
Miodec d3c093bb42 checking size of config
removed confusing error
2022-03-28 17:41:16 +02:00
Rizwan Mustafa 020ac5cb24
Add logging support from Winston with colored output (#2774)
* Converted initial outputs to color outputs

* Some more coloring

* Colored all error outputs

* Completed coloring of outputs

* Created basic logger instance

* Moved over to Winston for logging

* Remove unnnecessary stuff

* Added max file size

* Renamed log to logToDb

* minor refactor and added tab separation with timestamps

* Some changes. Thanks Bruception

* Created wrapper for logger

* Tiny refactor

* Some fixes

* Some fixes

* Update example env

* Remove general

* using default yellow, making colors bold

* removed square brackets

* removed square brackets

* using logger instead of console log

* updated timestamp format

* moved comment up

* Fixed typo

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-03-27 11:29:11 -04:00
Miodec a8bf141ed7 checking if resulthash length is 40 2022-03-25 20:46:35 +01:00
Bruce Berrios 1159072755
Optional redis (#2770)
* Make redis optional

* Specify return value
2022-03-25 19:15:26 +01:00
Bruce Berrios ad8c433e45
Save exact (#2769) 2022-03-25 16:01:45 +01:00
Rizwan Mustafa 47c7fd42c7
Improve webpack - Reduced filesize by 18% by converting from node-object-hash to object-hash (#2768) rizwanmustafa
* Refreshed the PR

* not sending stringified result anymore

* removed length check

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-03-25 15:36:04 +01:00
Miodec ed1d248ab6 allowing to run backend without redis 2022-03-25 15:25:03 +01:00
Evan cbca2a8957
Remove JavaScript Compilation from the Frontend (#2764) Ferotiq
* remove javascript compilation from frontend

* add dat back

* I'm going risky

* regen and put the type back
2022-03-25 13:19:21 +01:00
Bruce Berrios 4999fd4bf5
Add Redis client and george task queue (#2765) bruception
* Add Redis client and george task queue

* Add queue configuration

* Change dual write
2022-03-25 13:13:54 +01:00
Evan e60baef095
Add Show Average Accuracy and Make Show Average Speed Show CPM (#2756) Ferotiq
* show cpm for always show cpm

* Add show average: acc and make speed work for cpm

* eqeqeq

* round

* rename to remove clutter

* rename and change icon

* Combine functions

* remove comment

* Update index.html

* rounding if show decimal places is disabled

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-03-24 13:58:32 +01:00
Jack 6b49a3c5e7
v1.14.1 (#2745)
* updated default config to fix incorrect font button being highlighted

* Convert account controller to ts (#2731)

* using modular sdk

* removing last script

* replacing more code

* unused code

* removed unused code

* removed unused code

* importing auth

* using analytics controller

* importing auth and analytics

* importing auth

* updated git ignore

* fixed path

* removed live config from gitignore

* added error message when failing to initialize firebase

* added live config
using live config when building production

* removed unused code

* fixed incorrect function use

* added example config

* added a step to the contributing guide

* optional steps

* fixed path

* using example in source code so that github actions dont cry like little babies

* using function correctly

* using function correctly

* ignoring live

* removed

* added action webpack config

* bruce said "no-no"

This reverts commit 0a1e5e1660.

* Fix

* Add ignore

* updated instructions

* using correct functions

* using correct function

* missing parameter

* using correct function

* using correct function

* removed ts ignores

* using new functions

* removed refresh

* using new functions

* merge fix

* fixed merge

* regenereated lockfile

* using correct function

* defaulting to the email thats already entered

* storing default snap in a file

* optional parameter

* made parameters non optional

* converted file to ts

* removed unused parameters

* removed unnecessary optional chaining

* destructuring array

* added a function to create error message

* removed type

* removed duplicate gitignore

* removed no check

Co-authored-by: Bruception <bberr022@fiu.edu>

* Include dev branch in CI (#2739)

* Decreased filesize and introduced chunk splitting (#2732) Rizwanmustafa

* Decreased filesize

* Introduce splitting for vendors

* Added HTML webpack plugin for dynamic change of chunkhash and minification on production

* Added bundle analyzer plugin for webpack

* Prevent analyzer from opening on its own

* updated contributors list

* Package lock update

* Created separate webpack config for analysing bundle

* Standardize paths in webpack base config

* Added devtool in dev webpack config

* Minor issues

* Based audit config off of the production config, saved exact packages and renamed some constants

* Saved exact version of packages

* Rename Config

* Added intellisense for webpack configs

* Added script for using audit config

* Simple changes

* Removed unnecessary cd and replaced webpack with npx wepback

* added npm script accessible from root dir
since audit is now a separate script, reenabled auto opening

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

* Enable live reloading (#2738) bruception

* Enable live reloading

* Update scripts and documentation

* Fix resolve

* Use resolve

* Fix layoutfluid timer warnings (#2740) Ferotiq

* reduced date-fns import size

* using inline source map so that code is debuggable

* removed tinycolor2 dependency

* Migrate Chart.js to 3.7.1 (#2735) DanGonite57

* Migrate Chart.js to 3.7.1

* Show funbox label with StartGraphsAtZero disabled

* Fix label positioners

* Include dev branch in CI (#2739)

* Remove draw animation

* Avoid RangeError with no data

* Disable account chart initial render animation

* Add temporary type assertion for options.animation

* Test disabling animations via updateColors

* Test re-update chart after resetting animation duration

* Test dataset specific animation duration

* Disable animations for now

* Remove unused annotation

Co-authored-by: Bruce Berrios <58147810+Bruception@users.noreply.github.com>

* installed dev dependency to stop audit from complaining

* removed mr mime dev dependency
regenerate package-lock

* not updating live burst when its disabled

* using vanilla js to increase performance

* updating chart once instead of 3 times

* made log async

* increased minimum wordset length to disable repeating words to 4
this stops infinite A B C sequences
closes #2742

* increased tick padding

* added some padding to stop data points from being cut off

* fixed account graphs not being responsive

* removed unnecessary style

* updated button active color

* Server version (#2746) Bruception

* Add server version

* typo

* Fix logic

* Moved to utility

* Actually save version

* Move logic order

* updated metric name

* removed unnecessary else

Co-authored-by: Bruception <bberr022@fiu.edu>
Co-authored-by: Bruce Berrios <58147810+Bruception@users.noreply.github.com>
Co-authored-by: Rizwan Mustafa <rizwanmustafa0000@gmail.com>
Co-authored-by: Evan <64989416+Ferotiq@users.noreply.github.com>
Co-authored-by: DanGonite57 <danzinc57@gmail.com>
2022-03-21 21:22:47 +01:00
Miodec ef5ebe6eb9 cloning request body instead of referencing 2022-03-17 15:09:04 +01:00
Bruce Berrios e512eeb149
Remove generic validation message (#2721) 2022-03-17 12:27:01 +01:00
Miodec 0e1d151112 only logging with psas path 2022-03-17 01:10:15 +01:00
Miodec d613f9a0f3 typo 2022-03-17 01:08:27 +01:00
Miodec e9a37e0598 tracking unknown version 2022-03-17 01:08:13 +01:00
Miodec 9f6322e572 temp typo 2022-03-16 23:43:06 +01:00
Miodec 7ee40b6b6f Revert "removing custom text from the hash"
This reverts commit 3b01cd4f19.
2022-03-16 23:00:18 +01:00
Miodec 3b01cd4f19 removing custom text from the hash 2022-03-16 22:41:21 +01:00
Miodec c4e6b5dfca temp remove required 2022-03-16 22:08:11 +01:00
Miodec b6aa92b5cd temp 2022-03-16 21:34:02 +01:00
Miodec 7cb4bb9a35 temp 2022-03-16 21:28:39 +01:00
Miodec 389fe63a49 Revert "not sending key data when not needed"
Key data is needed to validate test

This reverts commit 2a7eab75be.
2022-03-16 20:48:42 +01:00
Bruce Berrios 64f06231cd
Add initial client version tracking (#2710) bruception
* Add initial client version tracking

* Make headers optional

* Add client version

* Add client version on build

* header fix

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-03-16 16:53:11 +01:00
Miodec b0a32f37b7 logging test duration 2022-03-16 14:32:40 +01:00
Miodec e4632d3f91 added buffer second 2022-03-16 14:31:19 +01:00
Miodec 052e120bd8 rewrote spacing check, should work more reliably 2022-03-16 14:17:40 +01:00
Miodec 2a7eab75be not sending key data when not needed 2022-03-16 13:19:27 +01:00
Miodec 6459983840 updating leaderboards every 15 minutes 2022-03-12 21:47:43 +01:00
Miodec d80ad81746 tracking how long it took to update the leaderboard 2022-03-12 21:06:53 +01:00
Miodec ac63198f74 added wpm, acc and duration histograms 2022-03-12 18:29:32 +01:00
Miodec 9dae088202 added result, language and funbox counters 2022-03-12 16:11:00 +01:00
Jack 4c396717ef
Added a custom auth counter to prometheus metrics (#2690)
* added basic auth and prom client dependencies

* incrementing auth counter

* added custom prometheus metric

* turns out there is no need for basic auth

* updated name

* exact

* exact
2022-03-12 15:20:18 +01:00