Commit graph

12281 commits

Author SHA1 Message Date
Christian Fehmer
f0e25ce678
Merge branch 'master' into feature/handle-mongodb-unavailable 2025-10-27 15:04:27 +01:00
Christian Fehmer
cd8ebd1430
chore: update nodejs to 24.10.0 (@fehmer) (#7035) 2025-10-27 13:38:37 +01:00
Flatbread231
b85f13553a
impr(quotes): add English quotes (@Flatbread231) (#7031)
Fixed a typo in one quote and added others.

---------

Co-authored-by: Miodec <jack@monkeytype.com>
2025-10-27 13:06:47 +01:00
Christian Fehmer
6902b407e7
fix: run without firebase-config (@fehmer) (#7030)
Co-authored-by: Miodec <jack@monkeytype.com>
2025-10-27 13:01:29 +01:00
Daan Grob
be59c40668
impr(quotes): add English quotes (@DaanGrob05) (#7042)
### Description

<!-- Please describe the change(s) made in your PR -->

### 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`
  - [ ] Add theme css file to `frontend/static/themes`
- [ ] Add some screenshot 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 [themes
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](https://github.com/monkeytypegame/monkeytype/pull/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! :) -->
2025-10-27 12:32:44 +01:00
Rowan Monk
42d6dc8a72
fix: Advanced filters does not contain tags after first tag was added (@Rowan441) (#7025)
### Description

fixes #6972

The setup logic for the "tags", "funbox", and "language" advanced
filters are only run on the first load. So adding a tag in the /settings
won't make the "tags" multiselect render when you navigate back to the
/account page unless you reload.

Added logic to add / destroy the "tags" multiselect if you create your
first tag or delete your last tag.

<!-- Please describe the change(s) made in your PR -->

### 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`
  - [ ] Add theme css file to `frontend/static/themes`
- [ ] Add some screenshot 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 [themes
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 #6972

<!-- 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](https://github.com/monkeytypegame/monkeytype/pull/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! :) -->
2025-10-27 12:25:59 +01:00
Nad Alaba
05123e8ddb
fix: wrapper height not updated when tape is turned off mid-test (@nadalaba) (#7043)
- this happens if words were removed (due to overflowing the wrapper)
before turning the tape off


https://github.com/user-attachments/assets/97be5efb-4a37-46b7-baa2-dd482e84a43c

this is a regression introduced in #6932
2025-10-27 12:15:02 +01:00
Nad Alaba
a0c9decc3f
fix(caret): caret not resetting position on quick restart (@nadalaba) (#7038)
- quick restarting immediately after some input makes the caret fail to
reset its position sometimes.


https://github.com/user-attachments/assets/d9e1def5-d8f6-4af2-845c-778c89279849

this happens because the reset of caret's position that should happen on
the callback inside `requestAnimationFrame` in `caret.goTo()` (triggered
in `TestUI.updateWordsWrapperClasses()`) is cancelled by a later call to
`caret.goTo()` (triggered by `TestUI.focusWords()`). However the second
call sets the position directly without stopping previous animation
`$('#caret').stop().animate()`. As a result, the earlier animation
(caused by last input) continues after the reset, if the restart was
done fast enough.

- update some previous comments.
2025-10-27 12:14:26 +01:00
Miodec
42227666a8 fix(quotes): remove backspace character from kotlin quote 2025-10-27 11:34:48 +01:00
Miodec
c95b6bd362 impr(input): extract visual equivalence check to a util function
!nuf

also adds greek characters
closes #7036
2025-10-22 09:47:53 +02:00
Miodec
1cf4b079cd fix(pace caret): stopping at the end of the word in blind mode 2025-10-21 13:53:53 +02:00
Miodec
da01d294c6 fix(caret): incorrect position in blind mode 2025-10-21 13:53:53 +02:00
Miodec
22922004dc fix(pace caret): go back to using self-correcting timing 2025-10-21 13:53:53 +02:00
Andele Swierstra
e4afca1ff1
feat(layout): add Gallium-NL layout (@ririshi) (#7029)
### Description
I recently created a modded version of Gallium that is more suited for
typing a mix of English and Dutch, rather than just being optimized for
English. I'd love to start learning the layout, so having a visual guide
would be very useful. I think others in my situation (who type a mix of
English and Dutch) could also benefit from having this layout added.
<!-- Please describe the change(s) made in your PR -->

### Checks

- [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` 

<!-- 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.-->

<!-- 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](https://github.com/monkeytypegame/monkeytype/pull/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! :) -->
2025-10-21 13:24:18 +02:00
Christian Fehmer
46fa005feb
build(docker): fix firebase config update (@fehmer) (#7034)
firebase-config-live was moved out of the main bundle.
2025-10-21 13:05:34 +02:00
Christian Fehmer
4268572be4
build: fix scope of dependency @monkeytype/schemas (@fehmer) (#7033) 2025-10-21 13:05:07 +02:00
Miodec
c4ffa5febb fix(caret): invisible caret when quick restarting 2025-10-17 19:48:15 +02:00
Miodec
79b79e0519 fix(caret): incorrect underline positioning 2025-10-17 16:54:41 +02:00
Miodec
5526088142 fix: caret disappearing when changing font size through commandline 2025-10-17 16:42:30 +02:00
dependabot[bot]
c17abc9dc0
build(deps-dev): bump happy-dom from 20.0.0 to 20.0.2 in /frontend (#7022)
Bumps [happy-dom](https://github.com/capricorn86/happy-dom) from 20.0.0
to 20.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/capricorn86/happy-dom/releases">happy-dom's
releases</a>.</em></p>
<blockquote>
<h2>v20.0.2</h2>
<h3>👷‍♂️ Patch fixes</h3>
<ul>
<li>Adds frozen intrinsics flag to workers in
<code>@happy-dom/server-renderer</code> - By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1934">#1934</a></li>
</ul>
<h2>v20.0.1</h2>
<h3>👷‍♂️ Patch fixes</h3>
<ul>
<li>Adds warning for environment with unfrozen intrinsics (builtins)
when JavaScript evaluation is enabled- By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1932">#1932</a>
<ul>
<li>A security advisory has been reported showing that the recommended
preventive measure of running Node.js with
<code>--disallow-code-generation-from-strings</code> wasn't enough to
protect against attackers escaping the VM context and accessing
process-level functions. Big thanks to <a
href="https://github.com/cristianstaicu"><code>@​cristianstaicu</code></a>
for reporting this!</li>
<li>The documentation for how to run Happy DOM with JavaScript
evaluation enabled in a safer way has been updated. Read more about it
in the <a
href="https://github.com/capricorn86/happy-dom/wiki/JavaScript-Evaluation-Warning">Wiki</a></li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f4bd4ebe3f"><code>f4bd4eb</code></a>
fix: <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/0">#0</a>
Adds frozen intrinsics flag to server-renderer workers (<a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1934">#1934</a>)</li>
<li><a
href="f45d92e176"><code>f45d92e</code></a>
fix: <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/0">#0</a>
Adds warning for environemnt with unfrozen builtins (<a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1932">#1932</a>)</li>
<li>See full diff in <a
href="https://github.com/capricorn86/happy-dom/compare/v20.0.0...v20.0.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=happy-dom&package-manager=npm_and_yarn&previous-version=20.0.0&new-version=20.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/monkeytypegame/monkeytype/network/alerts).

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Miodec <jack@monkeytype.com>
2025-10-17 15:11:32 +02:00
Flatbread231
c42217c37b
impr(quotes): add English quotes (@Flatbread231) (#7023)
Couple quotes from All Quiet on the Western Front and one from The
Brothers Karamazov.

---------

Co-authored-by: Miodec <jack@monkeytype.com>
2025-10-17 15:08:23 +02:00
Jack
9ae232925d
refactor: caret rewrite (@miodec) (#6955)
Moves common logic to a new Caret class with single responsibility
principles.

---------

Co-authored-by: Nad Alaba <37968805+NadAlaba@users.noreply.github.com>
2025-10-17 15:07:43 +02:00
Miodec
fa9c50cab8 fix: false positive typo for gmx.de email domain 2025-10-16 12:14:12 +02:00
Christian Fehmer
d9d375d05a
fix: discord avatars not loading (@fehmer) (#6999)
fixes #6998

Seems it was fixed by discord in the meantime. Still I think this is a
better approach because it only takes one rest call to the discord cdn
instead of two for each avatar.

---------

Co-authored-by: Miodec <jack@monkeytype.com>
2025-10-15 13:07:57 +02:00
Miodec
015252120f impr(british english): replace double quotes with single quotes
closes #7015
2025-10-15 12:56:10 +02:00
Miodec
be106b8f1c fix: local typing stats not updated on result save
closes #7016
2025-10-15 12:56:10 +02:00
Seif Soliman
acbd1de113
impr(funbox): proper per-language handling in polyglot mode (@byseif21, @fehmer) (#6666)
### Description

#### fixes some polyglot issues

* when mixing RTL (e.g. Arabic) with LTR (e.g. English), ligatures were
broken if the main `Config.Language` was a LTR lang.
* lazy mode: previously, if the main language didn’t support lazy mode,
none of the languages would, even if they did individually.

closes #6665

---------

Co-authored-by: Jack <jack@monkeytype.com>
2025-10-15 12:43:24 +02:00
gablilli
b455d49943
impr(quotes): fix italian quote punctuation (@gablilli) (#7019)
### Description
Fixed the punctuation on an Italian Oscar Wilde quote.

### 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`
  - [ ] Add theme css file to `frontend/static/themes`
- [ ] Add some screenshot 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 [themes
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.-->

<!-- 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](https://github.com/monkeytypegame/monkeytype/pull/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! :) -->
2025-10-15 11:00:13 +02:00
dependabot[bot]
865631db18
build(deps-dev): bump happy-dom from 15.10.2 to 20.0.0 in /frontend (#7018)
Bumps [happy-dom](https://github.com/capricorn86/happy-dom) from 15.10.2
to 20.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/capricorn86/happy-dom/releases">happy-dom's
releases</a>.</em></p>
<blockquote>
<h2>v20.0.0</h2>
<p>I avoid making breaking changes as much as possible in Happy DOM.
When I have to make a breaking change, I try to keep it as minimal as
possible. This could be a breaking change that impacts many projects,
and I am truly sorry if you are negatively affected by this.</p>
<h3>💣 Breaking Changes</h3>
<ul>
<li>Due to security risks, JavaScript evaluation is now disabled by
default - By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1930">#1930</a>
<ul>
<li>A security advisory (GHSA-37j7-fg3j-429f) has been reported that
shows a security vulnerability where it's possible to escape the VM
context and get access to process level functionality. Big thanks to <a
href="https://github.com/Mas0nShi"><code>@​Mas0nShi</code></a> for
reporting this!</li>
<li>Due to this security risk, JavaScript evaluation is now disabled by
default to prevent that consumers accidentally executes untrusted code
without taking precautions</li>
<li>JavaScript evaluation can be enabled by setting <a
href="https://github.com/capricorn86/happy-dom/wiki/IOptionalBrowserSettings">enableJavaScriptEvaluation</a>
to &quot;true&quot;. Read more about how to enable this in a safer way
in the <a
href="https://github.com/capricorn86/happy-dom/wiki/Code-Generation-From-Strings-Warning">Wiki</a></li>
</ul>
</li>
</ul>
<h2>v19.0.2</h2>
<h3>👷‍♂️ Patch fixes</h3>
<ul>
<li>Fixes issue related to CSS pseudo selector <code>:scope</code> that
didn't work correctly for direct descendants to root - By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1620">#1620</a></li>
</ul>
<h2>v19.0.1</h2>
<h3>👷‍♂️ Patch fixes</h3>
<ul>
<li>Fixes issue with sending in URLs as string in
<code>@happy-dom/server-renderer</code> config using CLI - By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1908">#1908</a></li>
</ul>
<h2>v19.0.0</h2>
<h3>💣 Breaking Changes</h3>
<ul>
<li>Removes support for CommonJS - By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a>
<ul>
<li>Support for CommonJS is no longer needed as Node.js v18 is
deprecated and v20 and above supports loading ES modules from CommonJS
using <code>require()</code></li>
</ul>
</li>
<li>Updates Jest to v30 in the <code>@happy-dom/jest-environment</code>
package - By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a></li>
<li>Makes Jest packages peer dependencies to make it easier to align
versions with the project using <code>@happy-dom/jest-environment</code>
- By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a></li>
</ul>
<h3>🎨 Features</h3>
<ul>
<li>Adds a new package called <code>@happy-dom/server-renderer</code> -
By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a>
<ul>
<li>This package provides a simple way to statically render (SSG) or
server-side render (SSR) your client-side application</li>
<li>Read more in the Wiki under <a
href="https://github.com/capricorn86/happy-dom/wiki/Server-Renderer">Server-Renderer</a></li>
</ul>
</li>
<li>Adds support for <code>import.meta</code> to the ESM compiler - By
<strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a></li>
<li>Adds support for the CSS pseudo selector <code>:scope</code> - By
<strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1620">#1620</a></li>
<li>Improves support for <code>MediaList</code> - By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a></li>
<li>Adds support for <code>CSSKeywordValue</code>,
<code>CSSStyleValue</code>, <code>StylePropertyMap</code>,
<code>StylePropertyMap</code>, <code>StylePropertyMapReadOnly</code> -
By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a></li>
<li>Improves debug information in the ESM compiler - By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a></li>
<li>Adds validation of browser settings when creating a new
<code>Browser</code> instance - By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a></li>
<li>Adds support for the browser setting <a
href="https://github.com/capricorn86/happy-dom/wiki/IBrowserSettings">navigation.beforeContentCallback</a>
which makes it possible to inject event listeners or logic before
content is loaded to the document when navigating a browser frame - By
<strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a></li>
<li>Adds support for the browser setting <a
href="https://github.com/capricorn86/happy-dom/wiki/IBrowserSettings">fetch.requestHeaders</a>
which provides with a declarative and simple way to add request headers
- By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a></li>
<li>Adds support for setting an object to <a
href="https://github.com/capricorn86/happy-dom/wiki/IBrowserSettings">timer.preventTimerLoops</a>
which makes it possible to define different settings for
<code>setTimeout()</code> and <code>requestAnimationFrame()</code> - By
<strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a></li>
<li>Adds support for the browser setting <a
href="https://github.com/capricorn86/happy-dom/wiki/IBrowserSettings">viewport</a>
which makes it possible to define a default viewport size - By
<strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a></li>
<li>Adds support for the parameters <code>beforeContentCallback</code>
and <code>headers</code> to <code>BrowserFrame.goto()</code>,
<code>BrowserFrame.goBack()</code>,
<code>BrowserFrame.goForward()</code>,
<code>BrowserFrame.goSteps()</code> and
<code>BrowserFrame.reload()</code> - By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a></li>
<li>Adds support for <code>PopStateEvent</code> and trigger the event
when navigating the page history using <code>History.pushState()</code>
- By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a></li>
<li>Use local file paths for virtual server files in stack traces - By
<strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a></li>
<li>Adds support for <code>ResponseCache.fileSystem.load()</code> and
<code>ResponseCache.fileSystem.save()</code> for storing and loading
cache from the file system - By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a></li>
</ul>
<h3>👷‍♂️ Patch fixes</h3>
<ul>
<li>Fixes a bug in the ESM compiler that caused it to fail to parse
certain code - By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a></li>
<li>Disables the same origin policy when navigating a browser frame
using <code>BrowserFrame.goto()</code> - By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a></li>
<li>Fixes bug where CSS selectors with the pseudos &quot;+&quot; and
&quot;&gt;&quot; failed for selectors without arguments - By <strong><a
href="https://github.com/capricorn86"><code>@​capricorn86</code></a></strong>
in task <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1730">#1730</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="819d15ba28"><code>819d15b</code></a>
BREAKING CHANGE: <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/0">#0</a>
Changes JavaScript evaluation to be disabled by default...</li>
<li><a
href="c80a08f30a"><code>c80a08f</code></a>
fix: <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1620">#1620</a>
Fixes issue related to CSS pseudo selector :scope (<a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1911">#1911</a>)</li>
<li><a
href="220df23dea"><code>220df23</code></a>
fix: <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1908">#1908</a>
Fixes issue with sending in URLs as string in server-renderer co...</li>
<li><a
href="9849f8bb18"><code>9849f8b</code></a>
chore: <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1906">#1906</a>
Fixes failing unit test caused by package version (<a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1907">#1907</a>)</li>
<li><a
href="48d174ec33"><code>48d174e</code></a>
chore: <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1904">#1904</a>
Updates conventional commit package (<a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1905">#1905</a>)</li>
<li><a
href="275efe5f9a"><code>275efe5</code></a>
BREAKING CHANGE: <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1620">#1620</a>
Release v18.0.0</li>
<li><a
href="cf74f5f63c"><code>cf74f5f</code></a>
fix: <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1841">#1841</a>
Addresses an issue where an error occurred if the Element ID was...</li>
<li><a
href="bfd0fffc12"><code>bfd0fff</code></a>
chore: <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1154">#1154</a>
Fixes failing unit test (<a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1843">#1843</a>)</li>
<li><a
href="99ebbfceef"><code>99ebbfc</code></a>
BREAKING CHANGE: <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1154">#1154</a>
Makes the types for Happy DOM strict (<a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1842">#1842</a>)</li>
<li><a
href="a94d780290"><code>a94d780</code></a>
fix: <a
href="https://redirect.github.com/capricorn86/happy-dom/issues/1154">#1154</a>
Removes global typescript definition that was used for custom el...</li>
<li>Additional commits viewable in <a
href="https://github.com/capricorn86/happy-dom/compare/v15.10.2...v20.0.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=happy-dom&package-manager=npm_and_yarn&previous-version=15.10.2&new-version=20.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/monkeytypegame/monkeytype/network/alerts).

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Christian Fehmer <cfe@sexy-developer.com>
Co-authored-by: Miodec <jack@monkeytype.com>
2025-10-15 10:59:47 +02:00
Noah
06a20e7b8d
impr(quotes): add 6 new english quotes (@ixnoahlive) (#7009)
### Description
Adds some quotes from media I particularly like and would like to see
more of!
Translations not applicable.

### Checks

- [x] Adding quotes?
- [x] Make sure to include translations for the quotes in the
description (or another comment) so we can verify their content.
- [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.

Co-authored-by: Miodec <jack@monkeytype.com>
2025-10-15 10:59:34 +02:00
Omar Emad
0311da26db
impr(quotes): add French quotes (@OM3X4) (#7017)
### Description

<!-- Please describe the change(s) made in your PR -->
Added a new Egyptian Arabic Quote , this is the translation:

> Life, my son, has two faces — white and black. When it shows you its
white face, remember the black one so you can stay cautious. And when it
turns black, remember the white one so you can endure and live for
tomorrow.

### Checks

- [x] Adding quotes?
- [x] 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`
  - [ ] Add theme css file to `frontend/static/themes`
- [ ] Add some screenshot 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 [themes
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.
2025-10-15 10:45:45 +02:00
Ryan Souza
154b88eecf
feat(language): add Erlang programming language support (@Ryrden) (#7013)
### Description

This PR adds support for the Erlang programming language to Monkeytype,
providing developers with a comprehensive set of essential Erlang
keywords, OTP behaviors, and standard library functions for typing
practice.

**Changes made:**
- Add `code_erlang` to language schema
(`packages/schemas/src/languages.ts`)
- Add `code_erlang` to frontend constants in the `code` language group
(`frontend/src/ts/constants/languages.ts`)
- Create `code_erlang.json` with 245 essential Erlang keywords and
functions
- Includes core language constructs (after, and, case, receive, spawn),
OTP behaviors (gen_server, supervisor, application), built-in functions
(spawn_link, monitor, register), and standard library modules (lists,
string, ets, mnesia, file, io)

### 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`
  - [ ] Add theme css file to `frontend/static/themes`
- [ ] Add some screenshot 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 [themes
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.

<!-- No related issues found -->

Note: Please, is it possible to add the label `hacktoberfest-accepted`
to this PR?

Co-authored-by: Jack <jack@monkeytype.com>
2025-10-15 10:44:50 +02:00
Ryan Souza
260c3a94c3
feat(language): add Clojure programming language support (@Ryrden) (#7012)
### Description

This PR adds support for the Clojure programming language to Monkeytype,
providing developers with a comprehensive set of essential Clojure
keywords and constructs for typing practice.

**Changes made:**
- Add `code_clojure` to language schema
(`packages/schemas/src/languages.ts`)
- Add `code_clojure` to frontend constants in the `code` language group
(`frontend/src/ts/constants/languages.ts`)
- Create `code_clojure.json` with 212 essential Clojure keywords and
functions
- Includes core language constructs (def, defn, let, fn), control flow
(if, when, cond), data manipulation (map, filter, reduce), concurrency
primitives (atom, ref, agent), and utility functions

### 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`
  - [ ] Add theme css file to `frontend/static/themes`
- [ ] Add some screenshot 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 [themes
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.

<!-- No related issues found -->

Note: Please, is it possible to add the label `hacktoberfest-accepted`
to this PR?
2025-10-15 10:43:14 +02:00
dependabot[bot]
4e5ba24a3e
build(deps): bump nodemailer from 6.9.14 to 7.0.7 in /backend (#7011)
Bumps [nodemailer](https://github.com/nodemailer/nodemailer) from 6.9.14
to 7.0.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/nodemailer/nodemailer/releases">nodemailer's
releases</a>.</em></p>
<blockquote>
<h2>v7.0.7</h2>
<h2><a
href="https://github.com/nodemailer/nodemailer/compare/v7.0.6...v7.0.7">7.0.7</a>
(2025-10-05)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>addressparser:</strong> Fixed addressparser handling of
quoted nested email addresses (<a
href="1150d99fba">1150d99</a>)</li>
<li><strong>dns:</strong> add memory leak prevention for DNS cache (<a
href="0240d6795d">0240d67</a>)</li>
<li><strong>linter:</strong> Updated eslint and created prettier
formatting task (<a
href="df13b7487e">df13b74</a>)</li>
<li>refresh expired DNS cache on error (<a
href="https://redirect.github.com/nodemailer/nodemailer/issues/1759">#1759</a>)
(<a
href="ea0fc5a663">ea0fc5a</a>)</li>
<li>resolve linter errors in DNS cache tests (<a
href="3b8982c1f2">3b8982c</a>)</li>
</ul>
<h2>v7.0.6</h2>
<h2><a
href="https://github.com/nodemailer/nodemailer/compare/v7.0.5...v7.0.6">7.0.6</a>
(2025-08-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>encoder:</strong> avoid silent data loss by properly
flushing trailing base64 (<a
href="https://redirect.github.com/nodemailer/nodemailer/issues/1747">#1747</a>)
(<a
href="01ae76f2cf">01ae76f</a>)</li>
<li>handle multiple XOAUTH2 token requests correctly (<a
href="https://redirect.github.com/nodemailer/nodemailer/issues/1754">#1754</a>)
(<a
href="dbe0028635">dbe0028</a>)</li>
<li>ReDoS vulnerability in parseDataURI and _processDataUrl (<a
href="https://redirect.github.com/nodemailer/nodemailer/issues/1755">#1755</a>)
(<a
href="90b3e24d23">90b3e24</a>)</li>
</ul>
<h2>v7.0.5</h2>
<h2><a
href="https://github.com/nodemailer/nodemailer/compare/v7.0.4...v7.0.5">7.0.5</a>
(2025-07-07)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>updated well known delivery service list (<a
href="fa2724b337">fa2724b</a>)</li>
</ul>
<h2>v7.0.4</h2>
<h2><a
href="https://github.com/nodemailer/nodemailer/compare/v7.0.3...v7.0.4">7.0.4</a>
(2025-06-29)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>pools:</strong> Emit 'clear' once transporter is idle and
all connections are closed (<a
href="839e28634c">839e286</a>)</li>
<li><strong>smtp-connection:</strong> jsdoc public annotation for socket
(<a
href="https://redirect.github.com/nodemailer/nodemailer/issues/1741">#1741</a>)
(<a
href="c45c84fe9b">c45c84f</a>)</li>
<li><strong>well-known-services:</strong> Added AliyunQiye (<a
href="bb9e6daffb">bb9e6da</a>)</li>
</ul>
<h2>v7.0.3</h2>
<h2><a
href="https://github.com/nodemailer/nodemailer/compare/v7.0.2...v7.0.3">7.0.3</a>
(2025-05-08)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>attachments:</strong> Set the default transfer encoding for
message/rfc822 attachments as '7bit' (<a
href="007d5f3f40">007d5f3</a>)</li>
</ul>
<h2>v7.0.2</h2>
<h2><a
href="https://github.com/nodemailer/nodemailer/compare/v7.0.1...v7.0.2">7.0.2</a>
(2025-05-04)</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md">nodemailer's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/nodemailer/nodemailer/compare/v7.0.6...v7.0.7">7.0.7</a>
(2025-10-05)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>addressparser:</strong> Fixed addressparser handling of
quoted nested email addresses (<a
href="1150d99fba">1150d99</a>)</li>
<li><strong>dns:</strong> add memory leak prevention for DNS cache (<a
href="0240d6795d">0240d67</a>)</li>
<li><strong>linter:</strong> Updated eslint and created prettier
formatting task (<a
href="df13b7487e">df13b74</a>)</li>
<li>refresh expired DNS cache on error (<a
href="https://redirect.github.com/nodemailer/nodemailer/issues/1759">#1759</a>)
(<a
href="ea0fc5a663">ea0fc5a</a>)</li>
<li>resolve linter errors in DNS cache tests (<a
href="3b8982c1f2">3b8982c</a>)</li>
</ul>
<h2><a
href="https://github.com/nodemailer/nodemailer/compare/v7.0.5...v7.0.6">7.0.6</a>
(2025-08-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>encoder:</strong> avoid silent data loss by properly
flushing trailing base64 (<a
href="https://redirect.github.com/nodemailer/nodemailer/issues/1747">#1747</a>)
(<a
href="01ae76f2cf">01ae76f</a>)</li>
<li>handle multiple XOAUTH2 token requests correctly (<a
href="https://redirect.github.com/nodemailer/nodemailer/issues/1754">#1754</a>)
(<a
href="dbe0028635">dbe0028</a>)</li>
<li>ReDoS vulnerability in parseDataURI and _processDataUrl (<a
href="https://redirect.github.com/nodemailer/nodemailer/issues/1755">#1755</a>)
(<a
href="90b3e24d23">90b3e24</a>)</li>
</ul>
<h2><a
href="https://github.com/nodemailer/nodemailer/compare/v7.0.4...v7.0.5">7.0.5</a>
(2025-07-07)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>updated well known delivery service list (<a
href="fa2724b337">fa2724b</a>)</li>
</ul>
<h2><a
href="https://github.com/nodemailer/nodemailer/compare/v7.0.3...v7.0.4">7.0.4</a>
(2025-06-29)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>pools:</strong> Emit 'clear' once transporter is idle and
all connections are closed (<a
href="839e28634c">839e286</a>)</li>
<li><strong>smtp-connection:</strong> jsdoc public annotation for socket
(<a
href="https://redirect.github.com/nodemailer/nodemailer/issues/1741">#1741</a>)
(<a
href="c45c84fe9b">c45c84f</a>)</li>
<li><strong>well-known-services:</strong> Added AliyunQiye (<a
href="bb9e6daffb">bb9e6da</a>)</li>
</ul>
<h2><a
href="https://github.com/nodemailer/nodemailer/compare/v7.0.2...v7.0.3">7.0.3</a>
(2025-05-08)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>attachments:</strong> Set the default transfer encoding for
message/rfc822 attachments as '7bit' (<a
href="007d5f3f40">007d5f3</a>)</li>
</ul>
<h2><a
href="https://github.com/nodemailer/nodemailer/compare/v7.0.1...v7.0.2">7.0.2</a>
(2025-05-04)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>ses:</strong> Fixed structured from header (<a
href="faa9a5eafa">faa9a5e</a>)</li>
</ul>
<h2><a
href="https://github.com/nodemailer/nodemailer/compare/v7.0.0...v7.0.1">7.0.1</a>
(2025-05-04)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>ses:</strong> Use formatted FromEmailAddress for SES emails
(<a
href="821cd09002">821cd09</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9357a71233"><code>9357a71</code></a>
chore(master): release 7.0.7 [skip-ci] (<a
href="https://redirect.github.com/nodemailer/nodemailer/issues/1761">#1761</a>)</li>
<li><a
href="df13b7487e"><code>df13b74</code></a>
fix(linter): Updated eslint and created prettier formatting task</li>
<li><a
href="62629a0674"><code>62629a0</code></a>
Updated tests for addressparser</li>
<li><a
href="1150d99fba"><code>1150d99</code></a>
fix(addressparser): Fixed addressparser handling of quoted nested email
addre...</li>
<li><a
href="3b8982c1f2"><code>3b8982c</code></a>
fix: resolve linter errors in DNS cache tests</li>
<li><a
href="0240d6795d"><code>0240d67</code></a>
fix(dns): add memory leak prevention for DNS cache</li>
<li><a
href="ea0fc5a663"><code>ea0fc5a</code></a>
fix: refresh expired DNS cache on error (<a
href="https://redirect.github.com/nodemailer/nodemailer/issues/1759">#1759</a>)</li>
<li><a
href="430ca75aa8"><code>430ca75</code></a>
chore(master): release 7.0.6 [skip-ci] (<a
href="https://redirect.github.com/nodemailer/nodemailer/issues/1753">#1753</a>)</li>
<li><a
href="e3e700c4c4"><code>e3e700c</code></a>
Bumped deps</li>
<li><a
href="f322c380ae"><code>f322c38</code></a>
replaced escaped single quotes with unescaped ones</li>
<li>Additional commits viewable in <a
href="https://github.com/nodemailer/nodemailer/compare/v6.9.14...v7.0.7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nodemailer&package-manager=npm_and_yarn&previous-version=6.9.14&new-version=7.0.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/monkeytypegame/monkeytype/network/alerts).

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Christian Fehmer <cfe@sexy-developer.com>
2025-10-15 10:42:46 +02:00
Eric Zhang
9e48142495
impr(quotes): add quotes from the book How to Win Friends and Influence People (@Eric-Zhang-Developer) (#7005)
### Description

Added 7 of the most popular quotes on Goodreads from *How to Win Friends
& Influence People* by Dale Carnegie

### 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/contracts/src/schemas/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/contracts/src/schemas/themes.ts`
  - [ ] Add theme to `frontend/src/ts/constants/themes.ts`
  - [ ] Add theme css file to `frontend/static/themes`
- Also please add a screenshot of the theme, it would be extra awesome
if you do so!
- [ ] Adding a layout?
- [ ] Make sure to follow the [layouts
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LAYOUTS.md)
  - [ ] Add layout to `packages/contracts/src/schemas/layouts.ts`
  - [ ] Add layout json file to `frontend/static/layouts` 
- [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.
2025-10-15 10:40:13 +02:00
nyx
79f557f5d6
style(quotes): standardise number of tabs for rust quotes (@nyxmeowmeow) (#7001)
### Description
changed the rust quotes to use one tab of indentation instead of two, a
mixture of one or two, or even eight for some reason

### 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`
  - [ ] Add theme css file to `frontend/static/themes`
- [ ] Add some screenshot 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 [themes
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.
2025-10-15 10:38:56 +02:00
informal-stripes-condo
820ac7148e
feat(languages): add code ocaml language (@informal-stripes-condo) (#7000)
### Description

Add Code OCaml Language

### Checks

- [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` 
- [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.-->

<!-- 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](https://github.com/monkeytypegame/monkeytype/pull/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! :) -->
2025-10-15 10:38:03 +02:00
Legonard
00552366b2
impr(quotes): add german quotes (@Legonard) (#6997)
"Wie soll ich ein Monster stoppen, ohne selbst eins zu werden?" - The
Vampire Diaries

"How can I stop a monster without becoming one myself?" - The Vampire
Diaries

Dies ist ein Zitat des Charakters Stefan Salvatore aus der Serie "The
Vampire Diaries".

This is a quote from the character Stefan Salvatore from the series “The
Vampire Diaries.”.
2025-10-15 10:36:12 +02:00
Christian Fehmer
d6439f045f
ci: improve error messages for check-assets (@fehmer) (#6994) 2025-10-15 10:35:34 +02:00
Christian Fehmer
85671a32b2
chore: update version of supertest (@fehmer) (#6839) 2025-10-15 10:34:47 +02:00
Miodec
8699351be9 fix: additional accents not applied correctly 2025-10-12 16:20:06 +02:00
Christian Fehmer
7d859b62ce
cleanup 2025-10-06 11:59:56 +02:00
Christian Fehmer
3edfd605f6
impr: handle mongodb errors, fix user validation (@fehmer) 2025-10-01 12:23:06 +02:00
Christian Fehmer
e5ae18e0e9
impr: handle mongodb errors, fix user validation (@fehmer) 2025-10-01 12:18:18 +02:00
MasterRon
a15d84e0ce
feat(layout): add gust layout (@MasterRon) (#6991)
### Description

<!-- Please describe the change(s) made in your PR -->

### 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`
  - [ ] Add theme css file to `frontend/static/themes`
- [ ] Add some screenshot 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 [themes
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](https://github.com/monkeytypegame/monkeytype/pull/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! :) -->
2025-09-25 13:47:17 +02:00
Christian Fehmer
42dcf16ad3
chore: remove search link not working in issue template (@fehmer) (#6993) 2025-09-25 12:53:15 +02:00
Christian Fehmer
b6ef5c0d8d
ci: run asset validation on any changes not just json files (@fehmer) (#6992) 2025-09-25 12:46:13 +02:00
Christian Fehmer
b903abd863
chore: add search links to bug report template (@fehmer) (#6990) 2025-09-25 12:31:35 +02:00
Jack
de847fc314
refactor(input validation): rework getting current validation status (@miodec) (#6988)
Rename to diffrentiate between the predicate `isValid` and the element
`isValid`
Return `ValidationResult` instead of just a boolean
Update usage to the new format
Move config specific `resetIfEmpty` to the `ConfigInputOptions` type
2025-09-24 16:00:37 +02:00
Miodec
f025b121cb impr(save custom text modal): add validation for custom text name input 2025-09-24 14:46:19 +02:00