github monkeytypegame/monkeytype v1.14

latest releases: v24.27.0, v24.25.0, v24.24.0...
2 years ago

The BAMU update (bonus points if you figure out what this means). Once again big thanks to Ferotiq, Rizwan and especially Bruception for their continued huge contributions to the project. Things have been moving at light speed with their help and I really appreciate it.

They also pushed me over the edge to start the TypeScript rewrite, to make the codebase less prone to runtime errors. They also generally improved the structure of the project.

Now, some of these updates were already live, but were not included in any change logs yet. Also, these are not all of the changes - I didn't include any uber minor things or bugs that were introduced and fixed quickly.

(Names in brackets represent the authors of the respective change - thank you all so much for contributing)

New features:

  • Added Show Average. With this setting, your average speed over the last 10 tests will be displayed above the test words. (Octahedron)
  • Added Dynamic keymap legend style. With this style, the letters will change when you hold shift or use caps lock. (Ferotiq)
  • Added custom text storage. You can now store any custom text and then quickly load it from the custom text popup. Due to the possibility of custom texts being large, they will only be available on the device you saved them on. (Ferotiq)
  • Added custom theme storage. You can now save custom themes to your account by clicking 'save as new'. They will be available on any device. (rizwanmustafa)
  • Added Ape Keys. You can now generate API keys to access some API endpoints (available in the danger zone section of the settings page). More endpoints will be added in the future. (do not hesitate to ask about them)

Themes:

  • Added Leather. (ryujinscales)
  • Added Catppuccin. (tsjazil)
  • Added SNES. (Usman-Abubakr)
  • Added Passion Fruit. (teddinotteddy)
  • Added Blue Dolphin. (vimiomori)

Quotes:

  • Lots of additions and fixes. (xia0, irrelevantRyan, Root3287, sombre-hombre, mehdihdev, carlossgabriel, BlackSagittarius)
  • Removed short, inappropriate, or low quality quotes thanks to user reports.

Layouts:

  • Added whorfmax and whorfmax_ortho. (arda-a)
  • Added Hindi Inscript. (DrAlientTech)

Languages:

  • Added Code Lua and Code Luau. (howmanysmall)
  • Added Western Armenian. (sourenecho)
  • Added Code Matlab. (iuuang)
  • Added Afrikaans. (stiaannel)
  • Added Nepali. (Abinawan)
  • Added Persian 1k and 5k. (AshkanArabim)
  • Updated Code Rust. (angeloffallars)
  • Updated French 10k. (TTamisier)
  • Replaced all British spellings in English 25k. (gimmerain4days)
  • Removed some offensive words. (gimmerain4days)

Bug fixes:

  • Fixed various quote rating popup UI bugs.
  • Fixed single list command line not working when using mobile command line button.
  • Fixed tests not restarting again when funbox is not supported.
  • Fixed test config buttons not selecting correctly.
  • Fixed a bug where failed tests would be saved to the account after signing in.
  • (hopefully) fixed an issue where ghost accounts would be created when an error occured during account creation.
  • Fixed signed out results not saving correctly for users that just signed up.
  • Fixed pseudo lang funbox not working.
  • Fixed difficulty change not clearing challenges (this allowed some accuracy challenges to be completed without 100% accuracy).
  • Fixed a bug where hightlight mode off and blind mode would still highlight words.
  • Fixed random theme not working.

Other changes and improvements:

  • Various grammar fixes and other minor changes. (Architthecoder, rev1e, teddinotteddy, kwfk, samarmohan, zev4l, Abinawan)
  • Styling fixes. (clickers331)
  • Improved quote searching experience by highlighting found words. (Bruception)
  • Completely rewrote how layouts are stored and applied.
  • When saving the config, the client will no longer send the whole config object. Only the properties that changed will be sent, reducing request size.
  • Fixed empty space at the bottom of the page for new users.
  • Improved leaderboard media queries.
  • Improved quote report media queries.
  • Showing sign out button later to fix account page transition.
  • Changed max custom word count to 100000 to stop you all from bricking the website for yourselves.
  • Reworked how lazy mode, funboxes and british english are applied to tests.
  • Only appending the ad script if ads are enabled.
  • Replaced language, layout and keymap layout buttons with select dropdowns.
  • Lazy mode setting will now be remembered and automatically reapplied when going from a non lazy mode language and back.
  • Added smoothing slider to the account page.
  • Various styling changes.
  • Increased close button size on banners.
  • Burst is now calculated based on input length, not word length.
  • The monkey will now only be shown when the test is active.
  • Updated monkey animations and their speed thresholds.
  • Monkey now uses raw speed if blind mode is enabled.

Server side updates:

  • Added schemas for server requests. (Bruception, Ferotiq)
  • Improved authentication middleware. (Bruception)
  • Implemented a standard response structure across all endpoints. (Mustafiz04)
  • Implemented Ape Keys to access some API endpoints. (Bruception)
  • Added custom status codes to quickly differenciate between errors.
  • Added ability to revoke user tokens which will not allow them to make any changes to the account.
  • Rounding data that is sent to the server to hopefully fix incorrect hash errors.
  • Fixed incorrect name checking code allowing users to create accounts with duplicate names (this will need clean up in the future).

Project changes:

  • Set up TypeScript compilation. (Ferotiq, sondrekje, mrbrianevans)
  • Converted most JavaScript files to TypeScript. (Ferotiq, rizwanmustafa, Bruception)
  • Bumped up the NodeJS version to v16.13.2. (CameronCT)
  • Separated backend and frontend dependencies. (Bruception)
  • Set up pull request check action. (Bruception)
  • Replaced Browserify with Webpack to speed up build times with circular dependency detection. (rizwanmustafa, Bruception)
  • Added language documentation. (teddinotteddy)
  • Fixed some circular dependencies. (rizwanmustafa)
  • Implemented Ape Client, a frontend API client to make code cleaner. (Bruception)
  • Upgraded MongoDB version. (Bruception)
  • Removed evals from the codebase. (Ferotiq)
  • Removed deprecated code from the frontend. (rizwanmustafa)
  • Localhost infers favicon colors.
  • Moved some files around to improve project structure.
  • Sped up local development workflow by only rebuilding files that changed.
  • Using locally hosted library files if CDN failed.
  • Updated the way settings groups are handled.
  • Rewrote the whole project to remove any circular dependencies (I think it was above 100).
  • Added JSON schema validation.
  • Added Swagger stats and basic Swagger spec.

Don't miss a new monkeytype release

NewReleases is sending notifications on new releases.