(Names in brackets represent the authors of the respective change - thank you all so much for contributing)
New features:
- XP and levels (aka neuron activation). You now gain experience for every completed test. Experience grants you levels that slowly require more XP. The xp works as follows:
You gain 2xp for every second you spend typing. (any time from incomplete tests is pooled together and saved with the next successful result, with a 50% penalty)
There are various bonuses you can earn that scale the base XP:
- 100% accuracy: 150% xp
- Corrected every mistake: 125% xp (cant be applied on top of the 100% bonus)
- Quote mode bonus: 150% xp
- Punctuation enabled: 140% xp (cant be applied on top of the quote mode bonus)
- Numbers mode enabled: 110% xp (cant be applied on top of the quote mode bonus)
- Bonuses will be adjusted and added as more and more feedback comes in
After the bonuses are applied an accuracy penalty is applied - 100% accuracy is no penalty
- 75% accuracy is 50% penalty
After all that, a last, flat, "first test of the day" bonus is added. This bonus is scaled based on your level, up to a maximum of 1000xp
Languages:
- Updated Code Luau (verbxtim)
- Added Kurdish Central 2k (Abdulbasit0123)
- Added Tamil 1k (bala418)
- Added Hausa and Shona(devkennyy)
Layouts:
- Added Prog Workman (Jelso13)
- Added Canary and Canary Matrix (Miodec, j-fosstvedt)
Quotes:
- Removed inappropriate or low quality quotes
- Added more quotes in various languages (jay-tau, R0merol, Ciezo, aria, satelerd, holyhearted, shashwat-pd, devkennyy, j-fosstvedt, janreggie, xp4u1, randomkid88)
Bug fixes:
- Fixed a bug where pressing tab on the result page would sometimes not focus the restart button
- Fixed random string of overlapping characters sometimes appearing on screenshots generated by the website (smunky)
- Fixed footer not fading out smoothly when test is started
- Fixed confirmed PSAs showing up again after the server was in maintenance mode
Other changes and improvements:
- Reworked the route controller
- Keeping the previous theme applied until the new one is fully loaded. This will avoid the page going blank if the theme is taking a bit longer to download than usual
- Refactored some backend users functions (Bruception)
- Fixed popup style inconsistencies (devkennyy, Miodec)
- Fixed notification wording inconsistencies (devkennyy)
- Custom background filters now automatically save and don't require the user to press the save button
- Completely reworked the rate limiting flow (Bruception)
- Very sensitive actions (like deleting account) now requires a fresh token
- Storing commit hash in server version (Bruception)
- Replaced deprecated functions (devkennyy)
- Removed min accuracy grace period to make the feature more predictable (MichaelDeutschCoding)
- Added a reset account button (YummyOreo)
- Rewrote input system to user composition events (omackenzie)
- Improved how github and twitter links are added to the profile (guijin13)
- Added config to show keymap top row (bowski23)
Project changes:
- Fixed various typos in documentation (smunky)
- Converted all classes to use camel case instead of dash separated (Ferotiq)