* fix: invalid return values
* add: hexToRgb test suite
* test: update hexToRgb test value
* add more tests
* fix: save custom text button not enabled (#5692)
---------
Co-authored-by: Miodec <jack@monkeytype.com>
* fix(caret): jumping in word tape mode (@NadAlaba)
* fix(caret): diacritics getting caret width of last letter
* fix(caret): hide extra letters in RTL languages
* fix(caret): add space width for non-mono fonts
* optimize getting space width
* refactor assignmet in conditional and remove console.log
* move left calculation in tape mode to getTargetPositionLeft
* no need to calculate left 2 times in tape mode
* prophylactically consider future changes of hide extra letters
* treat blind mode and hide extra letters the same
* change naming and fix tape word
* final refactor
* change naming
* nope, cleaner version doesn't work
* || instead of ?? for letter.offsetTop
* reduce unneeded code
* chore: run anticheat for banned accounts
---------
Co-authored-by: Jack <jack@monkeytype.com>
* impr(pace caret): add tags pb mode (@NadAlaba)
* update modes notice when clear tags from commandline
* remove all mode because it grabs only 1k results
* short circuit tag.active
* update setting name
---------
Co-authored-by: Miodec <jack@monkeytype.com>
* replaced sound volume settings with a slider
* used SettingsGroup instead of custom class, minor css change
* use common structure, remove css
* notify if sound volume is out of range
* command input goes from 0 to 1
* fix test
---------
Co-authored-by: Jack <jack@monkeytype.com>
* fix: fix ipv6 compression
* chore: remove console log
* fix: remove accidental removal of last colon
* refactor: change the IPv6 compression algorithm
* fix: fix problem in compression algorithm while handling one 16 bit 0 field
* chore: move function out into utils/misc.ts
* feat: Add unit tests for compressing ipv6 and move ip-addresses.ts from test to utils
* fix: add a new test case with port and fix compression algorithm
* chore: remove console log
* test: add test case for generation of ipv4 addresses
* chore: changed generation constant from 10 to 1k
* test: add unit tests for generating ipv4, and converting ip address to cidr
* fix: fix wrong upper value
* fix: fix wrong values
* fix: really fix the ranges
* chore: fix a NaN error in test due to compressed ipv6 address being passed