Skip to content

[pull] master from monkeytypegame:master#806

Merged
pull[bot] merged 22 commits intoUncodedtech:masterfrom
monkeytypegame:master
Feb 28, 2026
Merged

[pull] master from monkeytypegame:master#806
pull[bot] merged 22 commits intoUncodedtech:masterfrom
monkeytypegame:master

Conversation

@pull
Copy link

@pull pull bot commented Feb 28, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

byseif21 and others added 22 commits February 28, 2026 14:57
)

fix the limitation of dots effect wouldn't work correctly for
ligature-based languages cuz connected letters cannot be rendered as
individual dots.

before it was not worth the fix for the theme only now after the new
typed effect feat #7360 i think this needed.

* introduces a small helper that breaks ligatures only after a word is
finished, allowing the dots effect to render correctly while keeping
ligatures intact during typing.

* runs only when needed (on word completion or when the typed effect is
switched to dots) and avoids any continuous checks or performance
overhead.

related #6472
### Description

Add new akl vitrimak

### Checks

- [ ] Adding quotes?
- [ ] Make sure to include translations for the quotes in the
description (or another comment) so we can verify their content.
- [ ] Adding a language?
- Make sure to follow the [languages
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LANGUAGES.md)
  - [ ] Add language to `packages/schemas/src/languages.ts`
- [ ] Add language to exactly one group in
`frontend/src/ts/constants/languages.ts`
  - [ ] Add language json file to `frontend/static/languages`
- [ ] Adding a theme?
- Make sure to follow the [themes
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/THEMES.md)
  - [ ] Add theme to `packages/schemas/src/themes.ts`
  - [ ] Add theme to `frontend/src/ts/constants/themes.ts`
  - [ ] (optional) Add theme css file to `frontend/static/themes`
- [ ] Add some screenshots of the theme, especially with different test
settings (colorful, flip colors) to your pull request
- [ ] Adding a layout?
- [ ] Make sure to follow the [layouts
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LAYOUTS.md)
  - [ ] Add layout to `packages/schemas/src/layouts.ts`
  - [ ] Add layout json file to `frontend/static/layouts`
- [ ] Adding a font?
- Make sure to follow the [fonts
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/FONTS.md)
  - [ ] Add font file to `frontend/static/webfonts`
  - [ ] Add font to `packages/schemas/src/fonts.ts`
  - [ ] Add font to `frontend/src/ts/constants/fonts.ts`
- [ ] Check if any open issues are related to this PR; if so, be sure to
tag them below.
- [ ] Make sure the PR title follows the Conventional Commits standard.
(https://www.conventionalcommits.org for more info)
- [ ] Make sure to include your GitHub username prefixed with @ inside
parentheses at the end of the PR title.

<!-- label(optional scope): pull request title (@your_github_username)
-->

<!-- I know I know they seem boring but please do them, they help us and
you will find out it also helps you.-->

Closes #

<!-- the issue(s) your PR resolves if any (delete if that is not the
case) -->
<!-- please also reference any issues and or PRs related to your pull
request -->
<!-- Also remove it if you are not following any issues. -->

<!-- pro tip: you can mention an issue, PR, or discussion on GitHub by
referencing its hash number e.g:
[#1234](#1234) -->

<!-- pro tip: you can press . (dot or period) in the code tab of any
GitHub repo to get access to GitHub's VS Code web editor Enjoy! :) -->

---------

Co-authored-by: fehmer <3728838+fehmer@users.noreply.github.com>
Co-authored-by: Miodec <jack@monkeytype.com>
Updates documentation to reflect the project's transition from Prettier
to `oxc` (`oxfmt` and `oxlint`) for code formatting and linting.

- `docs/CONTRIBUTING.md`
- `docs/CONTRIBUTING_ADVANCED.md`

Fixes #7491

---------

Co-authored-by: Jack <jack@monkeytype.com>
### Description

`isPartOfSubgruop` -> `isPartOfSubgroup`

Co-authored-by: Jack <jack@monkeytype.com>
fix some widths issue for the test bar:

ways to reproduce

* case 1
1- being logged in
2- switch to quote mode
3- log out
4- observe extra spacing before `all` button

* case 2
1- switch between modes s (e.g., time → quote)
2- open DevTools "to change size"
3- switch modes again and be lastly in quote mode selection
3- close DevTools
4- the bar incorrectly sized

* case 3 
this have many inconstant way to reproduce but that will give what
happens shortly
 1- stay in a mode other than quote
2- open the console and run `qsa("#testConfig .quoteLength
.textButton").removeClass("active")`
 3- switch to quote mode
 4- no buttons get rehighlighted as it should

---------

Co-authored-by: Jack <jack@monkeytype.com>
…rscores in its name (@Leonabcd123) (#7501)

### Description

1. Create new preset with an underscore in its name (e.g.
`underscore_here`)
2. Notice that name still has underscores
3. Click on edit and save without making any changes
4. Notice that name has a space instead of an underscore
5. Click on edit
6. Notice that you can't save the preset because the space isn't
replaced with an underscore

This PR makes it so that we display the preset name with spaces, but
when you edit it spaces are replaced with underscores.

---------

Co-authored-by: Jack <jack@monkeytype.com>
- adds the total amount of entries to the histogram footer 
- adds top percentage to tooltip label
- set minimum bar height to avoid issue with very small bars having
disproportionate sizes
## unable to select filter presets, chart not updating

reproduce:

- create two presets e.g. `all` and `last three month`
- switch between presets

The current preset doesnt get highlighted and the chart doesnt get
updated.

## advanced filters 
- clear filters not working
We are using navigator.onLine to detect if the user is online. This is
not very reliable and we get bug reports from people who are able to
access the site but are prevented from logging in.

> Browsers and operating systems leverage different heuristics to
determine whether the device is online. In general, connection to LAN is
considered online, even though the LAN may not have Internet access.
> [...] On Windows, the online status is determined by whether it can
reach a Microsoft home server, which may be blocked by firewalls or
VPNs, even if the computer has Internet access.
> Therefore, this property is inherently unreliable, and you __should
not disable features based on the online status__, only provide hints
when the user may seem offline.

source: [mdn
Navigator.onLine](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/onLine)

---------

Co-authored-by: Jack <jack@monkeytype.com>
Co-authored-by: Miodec <13181393+Miodec@users.noreply.github.com>
…byseif21) (#7513)

in the settings page, clicking "hide elements" or "danger zone" from the
top quick nav did not open those sections when they were collapsed,
unlike the other quick nav links,

that's due to a mismatch between the visible label and the section’s
class name.


Steps to reproduce

1. open the settings page
2. collapse the hide elements or danger zone sections
3. scroll back up to the top quick nav and click one of them
4. section stays collapsed (does not open)
### Description

Added two new English quotes to `english.json`:

1. "The only way to learn is by playing. The only way to win is by
learning. And the only way to begin is by beginning."
   - Source: Sam Reich on Game Changer

2. "I will travel far beyond the path of reason. Take me back to Eden."
   - Source: Sleep Token

These follow JSON standards and the `length` and `id` fields have been
properly updated.

---------

Co-authored-by: Miodec <jack@monkeytype.com>
### Description

all sounds normalized using peak normalize: 
`ffmpeg-normalize "$file" -nt peak -t -10  -o "$file" -f -ext wav`

some sounds were quiet like 'click', 'nk creams' - they are louder now,
and some sounds were pretty loud, like 'fart-reverb' - it's a bit
quieter now.

### Checks
- [x] Make sure the PR title follows the Conventional Commits standard.
(https://www.conventionalcommits.org for more info)
- [x] Make sure to include your GitHub username prefixed with @ inside
parentheses at the end of the PR title.

<!-- label(optional scope): pull request title (@your_github_username)
-->

<!-- I know I know they seem boring but please do them, they help us and
you will find out it also helps you.-->

Co-authored-by: rzr <rzr>
…ests (@openvaibhav) (#7519)

### Description

Single word custom tests (e.g.  "a" or "I") were incorrectly flagged as 
"AFK detected" instead of "too short".

This happens because AFK validation was evaluated before the 
"too short" validation inside the result checks chain.

Since both checks exist in the same "else if" chain, the first match
wins.
Very short completed tests therefore triggered AFK before the
"too short" condition was reached.

This PR reorders the validation so that "too short" is evaluated
before AFK detection.

### Reproduction

1. Go to custom mode
2. Set word count to 1
3. Complete a test with word "a" or "I"
4. Observe incorrect AFK message

### After Fix

The test correctly shows:

Test invalid - too short


instead of:

Test invalid - AFK detected


### Technical Notes

No logic was modified, only validation priority was adjusted.
Duration mismatch and difficulty checks remain unaffected.

### Checks

- [ ] Adding quotes?
- [ ] Make sure to include translations for the quotes in the
description (or another comment) so we can verify their content.
- [ ] Adding a language?
- Make sure to follow the [languages
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LANGUAGES.md)
  - [ ] Add language to `packages/schemas/src/languages.ts`
- [ ] Add language to exactly one group in
`frontend/src/ts/constants/languages.ts`
  - [ ] Add language json file to `frontend/static/languages`
- [ ] Adding a theme?
- Make sure to follow the [themes
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/THEMES.md)
  - [ ] Add theme to `packages/schemas/src/themes.ts`
  - [ ] Add theme to `frontend/src/ts/constants/themes.ts`
  - [ ] (optional) Add theme css file to `frontend/static/themes`
- [ ] Add some screenshots of the theme, especially with different test
settings (colorful, flip colors) to your pull request
- [ ] Adding a layout?
- [ ] Make sure to follow the [layouts
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LAYOUTS.md)
  - [ ] Add layout to `packages/schemas/src/layouts.ts`
  - [ ] Add layout json file to `frontend/static/layouts`
- [ ] Adding a font?
- Make sure to follow the [fonts
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/FONTS.md)
  - [ ] Add font file to `frontend/static/webfonts`
  - [ ] Add font to `packages/schemas/src/fonts.ts`
  - [ ] Add font to `frontend/src/ts/constants/fonts.ts`
- [x] Check if any open issues are related to this PR; if so, be sure to
tag them below.
- [x] Make sure the PR title follows the Conventional Commits standard.
(https://www.conventionalcommits.org for more info)
- [x] Make sure to include your GitHub username prefixed with @ inside
parentheses at the end of the PR title.

<!-- label(optional scope): pull request title (@your_github_username)
-->

<!-- I know I know they seem boring but please do them, they help us and
you will find out it also helps you.-->

Closes #7518

<!-- the issue(s) your PR resolves if any (delete if that is not the
case) -->
<!-- please also reference any issues and or PRs related to your pull
request -->
<!-- Also remove it if you are not following any issues. -->

<!-- pro tip: you can mention an issue, PR, or discussion on GitHub by
referencing its hash number e.g:
[#1234](#1234) -->

<!-- pro tip: you can press . (dot or period) in the code tab of any
GitHub repo to get access to GitHub's VS Code web editor Enjoy! :) -->
### Description

added miligram layout, made by me, inspired by engram

### Checks

- [ ] Adding quotes?
- [ ] Make sure to include translations for the quotes in the
description (or another comment) so we can verify their content.
- [ ] Adding a language?
- Make sure to follow the [languages
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LANGUAGES.md)
  - [ ] Add language to `packages/schemas/src/languages.ts`
- [ ] Add language to exactly one group in
`frontend/src/ts/constants/languages.ts`
  - [ ] Add language json file to `frontend/static/languages`
- [ ] Adding a theme?
- Make sure to follow the [themes
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/THEMES.md)
  - [ ] Add theme to `packages/schemas/src/themes.ts`
  - [ ] Add theme to `frontend/src/ts/constants/themes.ts`
  - [ ] (optional) Add theme css file to `frontend/static/themes`
- [ ] Add some screenshots of the theme, especially with different test
settings (colorful, flip colors) to your pull request
- [x] Adding a layout?
- [x] Make sure to follow the [layouts
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LAYOUTS.md)
  - [x] Add layout to `packages/schemas/src/layouts.ts`
  - [x] Add layout json file to `frontend/static/layouts`
- [ ] Adding a font?
- Make sure to follow the [fonts
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/FONTS.md)
  - [ ] Add font file to `frontend/static/webfonts`
  - [ ] Add font to `packages/schemas/src/fonts.ts`
  - [ ] Add font to `frontend/src/ts/constants/fonts.ts`
- [ ] Check if any open issues are related to this PR; if so, be sure to
tag them below.
- [x] Make sure the PR title follows the Conventional Commits standard.
(https://www.conventionalcommits.org for more info)
- [x] Make sure to include your GitHub username prefixed with @ inside
parentheses at the end of the PR title.

<!-- label(optional scope): pull request title (@your_github_username)
-->

<!-- I know I know they seem boring but please do them, they help us and
you will find out it also helps you.-->

Closes #

<!-- the issue(s) your PR resolves if any (delete if that is not the
case) -->
<!-- please also reference any issues and or PRs related to your pull
request -->
<!-- Also remove it if you are not following any issues. -->

<!-- pro tip: you can mention an issue, PR, or discussion on GitHub by
referencing its hash number e.g:
[#1234](#1234) -->

<!-- pro tip: you can press . (dot or period) in the code tab of any
GitHub repo to get access to GitHub's VS Code web editor Enjoy! :) -->

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jack <jack@monkeytype.com>
`addClass("hidden")` -> `hide()`
`removeClass("hidden")` -> `show()`

Co-authored-by: Jack <jack@monkeytype.com>
…7529)

### Description

This PR expands the **Kinyarwanda** vocabulary by adding **100
additional common words**.

Building on the initial language support merged recently, these words
were carefully curated from **Digital Umuganda** open-source datasets to
improve the typing experience with more modern and frequently used
terms.

* Expanded word count from ~200 to ~300 words.
* All new words are in lowercase and have been verified for duplicates
using `check-assets-languages`.
* Corrected minor BCP 47 properties to ensure full standards compliance.

### Checks

* [ ] Adding quotes?
* [x] Adding a language?
* [x] Add language json file to `frontend/static/languages` (Updated
existing file)


* [ ] Adding a theme?
* [ ] Adding a layout?
* [ ] Adding a font?
* [x] Check if any open issues are related to this PR.
* [x] Make sure the PR title follows the Conventional Commits standard.
* [x] Make sure to include your GitHub username prefixed with @ inside
parentheses at the end of the PR title.

**impr(languages): expand kinyarwanda word list (@cedrick13bienvenue)**

---
### Description

This PR adds several quotes from popular Esperanto songs and poems, and
adds some quotes from the Esperanto translation of The Hobbit by
Christopher Gledhill and William Auld.

### Checks

- [x] Adding quotes?
- [ ] Make sure to include translations for the quotes in the
description (or another comment) so we can verify their content.
- [ ] Adding a language?
- Make sure to follow the [languages
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LANGUAGES.md)
  - [ ] Add language to `packages/schemas/src/languages.ts`
- [ ] Add language to exactly one group in
`frontend/src/ts/constants/languages.ts`
  - [ ] Add language json file to `frontend/static/languages`
- [ ] Adding a theme?
- Make sure to follow the [themes
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/THEMES.md)
  - [ ] Add theme to `packages/schemas/src/themes.ts`
  - [ ] Add theme to `frontend/src/ts/constants/themes.ts`
  - [ ] (optional) Add theme css file to `frontend/static/themes`
- [ ] Add some screenshots of the theme, especially with different test
settings (colorful, flip colors) to your pull request
- [ ] Adding a layout?
- [ ] Make sure to follow the [layouts
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LAYOUTS.md)
  - [ ] Add layout to `packages/schemas/src/layouts.ts`
  - [ ] Add layout json file to `frontend/static/layouts`
- [ ] Adding a font?
- Make sure to follow the [fonts
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/FONTS.md)
  - [ ] Add font file to `frontend/static/webfonts`
  - [ ] Add font to `packages/schemas/src/fonts.ts`
  - [ ] Add font to `frontend/src/ts/constants/fonts.ts`
- [x] Check if any open issues are related to this PR; if so, be sure to
tag them below.
- [x] Make sure the PR title follows the Conventional Commits standard.
(https://www.conventionalcommits.org for more info)
- [x] Make sure to include your GitHub username prefixed with @ inside
parentheses at the end of the PR title.

<!-- label(optional scope): pull request title (@your_github_username)
-->

<!-- I know I know they seem boring but please do them, they help us and
you will find out it also helps you.-->

Closes #

<!-- the issue(s) your PR resolves if any (delete if that is not the
case) -->
<!-- please also reference any issues and or PRs related to your pull
request -->
<!-- Also remove it if you are not following any issues. -->

<!-- pro tip: you can mention an issue, PR, or discussion on GitHub by
referencing its hash number e.g:
[#1234](#1234) -->

<!-- pro tip: you can press . (dot or period) in the code tab of any
GitHub repo to get access to GitHub's VS Code web editor Enjoy! :) -->
Added some more quotes for code java quote mode

---------

Co-authored-by: fehmer <3728838+fehmer@users.noreply.github.com>
### Description

Check for quotes shorter than 60 characters (60 being the threshold
mentioned in the
[docs](https://github.com/monkeytypegame/monkeytype/blob/v26.6.0/docs/CONTRIBUTING.md?plain=1#L82)).

---------

Co-authored-by: Jack <jack@monkeytype.com>
### Description - Adds Irish 1k word list (corpus-based)

<br/>
This PR adds a frequency-based **Irish 1k word list** to Monkeytype.

### Source

The list is primarily based on Kevin Scannell’s @kscanne corpus-derived
“Top 1000” Irish wordforms (Fleiscíniú project), which were extracted
from a large corpus of Irish texts.

The original list included typographic hyphenation for syllable
breaking. These hyphens were removed to ensure compatibility with
Monkeytype and to reflect standard written forms.

A very small number of invalid or incompatible entries were replaced
with common alternatives to maintain a clean 1000-word set.

### Rationale

* Based on real-world corpus frequency
* Wordform-based (not lemma-only), better suited for typing practice
* Function-word heavy, which improves natural rhythm and realistic
typing flow
* Cleaned, deduplicated, and validated locally

### Changes

* Added `irish_1k.json` (1000 non-duplicate common Irish words)
* Updated `irish.json` (added valid BCP-47 code)
* Updated `languages.ts` (registered `irish_1k`)
* Updated `constants/languages.ts` (dropdown integration)

### Testing & changes to existing files.
Tested locally in a browser after running `pnpm run dev`. It feels
natural and well-balanced for B1/B2 level typing practice. Checked for
duplicates. Added bcp47 to existing irish.json.


### Checks

- [ ] Adding quotes?
- [ ] Make sure to include translations for the quotes in the
description (or another comment) so we can verify their content.
- [X] Adding a language?
- Make sure to follow the [languages
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LANGUAGES.md)
  - [X] Add language to `packages/schemas/src/languages.ts`
- [X] Add language to exactly one group in
`frontend/src/ts/constants/languages.ts`
  - [X] Add language json file to `frontend/static/languages`
- [ ] Adding a theme?
- Make sure to follow the [themes
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/THEMES.md)
  - [ ] Add theme to `packages/schemas/src/themes.ts`
  - [ ] Add theme to `frontend/src/ts/constants/themes.ts`
  - [ ] (optional) Add theme css file to `frontend/static/themes`
- [ ] Add some screenshots of the theme, especially with different test
settings (colorful, flip colors) to your pull request
- [ ] Adding a layout?
- [ ] Make sure to follow the [layouts
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LAYOUTS.md)
  - [ ] Add layout to `packages/schemas/src/layouts.ts`
  - [ ] Add layout json file to `frontend/static/layouts`
- [ ] Adding a font?
- Make sure to follow the [fonts
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/FONTS.md)
  - [ ] Add font file to `frontend/static/webfonts`
  - [ ] Add font to `packages/schemas/src/fonts.ts`
  - [ ] Add font to `frontend/src/ts/constants/fonts.ts`
- [X] Check if any open issues are related to this PR; if so, be sure to
tag them below.
- [X] Make sure the PR title follows the Conventional Commits standard.
(https://www.conventionalcommits.org for more info)
- [X] Make sure to include your GitHub username prefixed with @ inside
parentheses at the end of the PR title.

<!-- label(optional scope): pull request title (@your_github_username)
-->

<!-- I know I know they seem boring but please do them, they help us and
you will find out it also helps you.-->

Closes #

<!-- the issue(s) your PR resolves if any (delete if that is not the
case) -->
<!-- please also reference any issues and or PRs related to your pull
request -->
<!-- Also remove it if you are not following any issues. -->

<!-- pro tip: you can mention an issue, PR, or discussion on GitHub by
referencing its hash number e.g:
[#1234](#1234) -->

<!-- pro tip: you can press . (dot or period) in the code tab of any
GitHub repo to get access to GitHub's VS Code web editor Enjoy! :) -->
@pull pull bot locked and limited conversation to collaborators Feb 28, 2026
@pull pull bot added the ⤵️ pull label Feb 28, 2026
@pull pull bot merged commit c9e6f71 into Uncodedtech:master Feb 28, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.