Commit graph

4529 commits

Author SHA1 Message Date
Miodec
c8a04fa8e4 impr: notify the user if custom text saving failed due to local storage being full 2025-03-12 11:45:06 +01:00
Miodec
b9928f03c0 chore: lowercase word 2025-03-07 18:05:41 +01:00
Miodec
25dada50eb fix(commandline): blur active element after closing the modal to hide balloons
closes #6320
2025-03-05 19:03:05 +01:00
Christian Fehmer
02c48fc50d
impr(leaderboard): show typing speed in selected unit (@fehmer) (#6328) 2025-03-05 13:55:29 +01:00
Christian Fehmer
aaa519bc8d
fix(leaderboards): user button navigating to the wrong page (@fehmer) (#6334) 2025-03-05 13:02:03 +01:00
Miodec
e4baedee09 fix(leaderboards): bottom go to page button not working 2025-03-04 19:15:27 +01:00
Miodec
853605af24 fix(leaderboards): user button navigating to the wrong page 2025-03-04 19:11:02 +01:00
Miodec
61e0fd1590 chore: reorder code 2025-03-04 19:08:22 +01:00
Christian Fehmer
8193569a01
impr: leaderboard showing times in utc and local time (@fehmer) (#6332)
Co-authored-by: Miodec <jack@monkeytype.com>
2025-03-04 19:06:24 +01:00
Jack
b84f400113
fix: default snapshot and config not actually cloning (@miodec) (#6333)
!nuf Closes #6280
2025-03-04 18:52:51 +01:00
HotDog640
b52391ec7b
impr(quotes): add English quotes from Undertale and Deltarune (@HotDog640) (#6331)
### Description

Added two quotes: the introduction sequences from the games Undertale
and Deltarune.

### 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] Adding a language or a theme?
- [x] If is a language, did you edit `_list.json`, `_groups.json` and
add `languages.json`?
  - [x] If is a theme, did you add the theme.css?
- Also please add a screenshot of the theme, it would be extra awesome
if you do so!
- [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-03-04 13:08:52 +01:00
Christian Fehmer
7747db8d84
impr: use zod schema for url parameters on leaderboard (@fehmer) (#6305)
!nuf
2025-03-04 13:08:00 +01:00
ButterflyOfFire
1b5529ccaa
feat(languages): add Kabyle 200, 1k, 2k, 5k, 10k (@BoFFire) (#6325)
### Description

Added kabyle language corpora.

### Checks
- [x] If is a language, did you edit `_list.json`, `_groups.json` and
add `languages.json`?

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

---------

Co-authored-by: Miodec <jack@monkeytype.com>
2025-03-03 17:46:08 +01:00
Christian Fehmer
4a22c0647b
fix: legacy test settings urls not importing correctly (@fehmer) (#6314)
Some people have old links with test settings we should support.
2025-03-03 12:31:09 +01:00
sledgehammer999
3a5b3783f2
fix: Remove invalid words from Greek lang (@sledgehammer999) (#6300)
### Description

These words aren't valid greek words.
2025-03-03 11:55:40 +01:00
YuxOfficial
60cee0cd4c
impr(quotes): Add Chinese Quotes (@YuxOfficial) (#6245)
### Description

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

### 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 or a theme?
- [ ] If is a language, did you edit `_list.json`, `_groups.json` and
add `languages.json`?
  - [ ] If is a theme, did you add the theme.css?
- Also please add a screenshot of the theme, it would be extra awesome
if you do so!
- [ ] 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 #

<!-- 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! :) -->

---------

Co-authored-by: Miodec <jack@monkeytype.com>
2025-03-03 11:53:28 +01:00
Anna Buchholz
12ab49ce21
fix(challenge): Slow and Steady Challenge not verifying correctly (@AnnaBuchholz) (#6319)
### Description

I changed the Slow and Steady authentication to check if
"liveSpeedStyle" is "off" rather than checking the if the legacy
"showLiveWpm" was "false". This allows people to actually get the Slow
and Steady challenge role automatically instead of getting a failure
error even when they had liveSpeedStyle off.

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

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-03-03 11:23:41 +01:00
JN03
366f62ac88
feat(language): add Thai 20k (@jnx03) (#6324) 2025-03-03 11:23:02 +01:00
Nopke
b375636c99
fix(account page): tidy up highest wpm description (@cosmatevs) (#6329)
### Description
Account page:
* remove unnecessary &
![& in highest wpm
description](https://github.com/user-attachments/assets/61e01116-2db8-4a80-93f0-c204c6e3349a)
* build punctuation and number strings only if they're going to be used

### Checks
- [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-03-03 11:18:07 +01:00
Carlo
823e9e0685
impr(language): add more vim commands to the word list (@soycarlo99) (#6330)
### Description

This pull request adds several new Vim commands to the monkeytype vim
plugin, enhancing the typing practice experience for users. The new
commands cover a wide range of Vim functionalities, including search,
text objects, substitution, alignment, indentation, and various text
manipulations.

* - Search forward for word under cursor # - Search backward for word
under cursor
ip - Inner paragraph text object
ap - A paragraph text object (including newline)
is - Inner sentence text object
as - A sentence text object (including trailing space) :%s/old/new/gc -
Substitute with confirmation
:center - Center align text
>> - Indent line
<< - Unindent line
= - Auto-indent
]p, ]P, [p, [P - Paste with automatic indentation
gP, gp - Paste and leave cursor after new text
g~ - Toggle case
gu - Make lowercase
gU - Make uppercase
gs - Go to sleep (pause) for n seconds
gJ - Join lines without space
g& - Repeat last substitution on all lines
gv - Reselect last visual selection
gn, gN - Search and visually select match
gi - Insert mode at the end of last insert
gI - Insert at start of line

### Checks

- [] If is a language, did you edit `_list.json`, `_groups.json` and
add `languages.json`?
2025-03-03 11:16:36 +01:00
Hemram Kumarapu
94a320eb26
feat(theme): add solarized osaka (@H4-MM-3R) (#6287) 2025-02-27 11:29:16 +01:00
Miodec
04797b281f fix(result page): clicking on daily leaderboard rank not navigating to the leaderboards page
closes #6311
2025-02-27 11:02:14 +01:00
Christian Fehmer
41b02155f2
test: fix tests not awaiting expect with resolves or rejects (@fehmer) (#6308) 2025-02-26 17:50:24 +01:00
Christian Fehmer
95967ef4f1
impr: validate tag name on tag creation and rename (@fehmer) (#6264) 2025-02-25 11:40:47 +01:00
Christian Fehmer
5acdc6d364
impr: remember last opened leaderboard in local storage (@fehmer) (#6304) 2025-02-24 12:21:12 +01:00
Abdul Malek
566ec04162
fix: remove deprecated galite layout (@almk-dev) (#6302) 2025-02-24 12:07:46 +01:00
Hoàng Anh Tuấn
39a235abe5
fix: view leaderboards command not working (@iwmywn) (#6301) 2025-02-24 12:07:21 +01:00
sledgehammer999
73182d450f
fix(punctuation): Add period instead of semicolon for Greek lang (@sledgehammer999) (#6299)
### Description

This is a followup to PR #6297.
1. `:` is a valid punctuation mark and isn't decided in another if/else
branch, so I left it as-is.
2. `;` is also a valid punctuation mark but it is used as a question
mark in the appropriate if/else branch. So here I convert it to a
period.

Modern greeks use either a period or a comma in place of a middle
dot/ano teleia. I would say that a period fits better most of the time.

### 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 or a theme?
- [ ] If is a language, did you edit `_list.json`, `_groups.json` and
add `languages.json`?
  - [ ] If is a theme, did you add the theme.css?
- Also please add a screenshot of the theme, it would be extra awesome
if you do so!
- [ ] 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-02-22 12:10:33 +01:00
Miodec
1bb15af190 fix: daily leaderboards not showing current rank 2025-02-22 09:48:36 +01:00
sledgehammer999
d363cb3933
fix: remove seldomly used punctuation mark from Greek lang (@sledgehammer999) (#6297) 2025-02-22 09:19:38 +01:00
Christian Fehmer
0dd044baae
fix: leaderboard keeping pagination after switching language (@fehmer) (#6291) 2025-02-21 17:04:57 +01:00
Adam Perkowski
6b8236516f
feat(language): add code_jule (@adamperkowski) (#6282)
### Description

Hey. I'm adding the keywords & snippets (quotes) for the [Jule
programming language](https://jule.dev). Feel free to suggest any
changes :)

### Checks

- [x] Adding quotes?
- [x] Adding a language or a theme?
- [x] If is a language, did you edit `_list.json`, `_groups.json` and
add `code_jule.json`?
- [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.

Signed-off-by: Adam Perkowski <adas1per@protonmail.com>
2025-02-21 16:53:01 +01:00
Christian Fehmer
8a41ccee97
fix: past leaderboard not fetching the users rank (@fehmer) (#6289)
Show the users ranking for the last day on the daily and for the last
week on the weekly leaderboard correctly.

- Fix request query schema for the [daily
rank](https://api.monkeytype.com/docs/internal#tag/leaderboards/operation/leaderboards.getDailyRank)
having pagination
- Fix request query schema for the [weekly
rank](https://api.monkeytype.com/docs/internal#tag/leaderboards/operation/leaderboards.getWeeklyXpRank)
missing the `weeksBefore` parameter
- Fix frontend to include the `daysBefore` or `weeksBefore` parameter on
`rank` calls

---------

Co-authored-by: Miodec <jack@monkeytype.com>
2025-02-21 16:52:20 +01:00
Christian Fehmer
0b840d2b6b
feat: leaderboard scroll to users position when using the user button (@fehmer) (#6285)
- scroll to users position when using the user button
- add scroll to top button on leaderboard page

---------

Co-authored-by: Miodec <jack@monkeytype.com>
2025-02-20 22:21:24 +01:00
Christian Fehmer
7edbd95e9e
fix: remove function getFunctionsFromActiveFunboxes because it does not work (@fehmer) (#6288) 2025-02-20 22:20:24 +01:00
Miodec
4aec384842 chore: add data-nosnipppet to warnings 2025-02-20 20:49:37 +01:00
Miodec
c0d254d2da impr: make leaderboard requests in parallel 2025-02-20 20:29:39 +01:00
Miodec
ba940232a0 chore: update version string format 2025-02-20 11:42:10 +01:00
Miodec
9f677f3324 fix: nospace being active for all tests 2025-02-20 11:41:31 +01:00
Miodec
2ed8341eb5 chore: hopefully fix seo issues 2025-02-20 09:31:16 +01:00
Christian Fehmer
f7190a5eae
refactor: refactor british english (@fehmer) (#6277) 2025-02-19 16:28:21 +01:00
Christian Fehmer
09eb1a2b0e
refactor: use validation on email update modal (@fehmer) (#6272) 2025-02-19 16:27:20 +01:00
Adam Al Shouli
14d423e088
impr(quotes): add English quotes (@thedev0ps) (#6271) 2025-02-19 15:49:49 +01:00
Christian Fehmer
cad977ec89
impr: use preload for vendor.css and fonts (@fehmer) (#6234)
!nuf
2025-02-19 15:49:03 +01:00
Christian Fehmer
ef5263d646
refactor: refactor iteration over funboxes (@fehmer) (#6275) 2025-02-19 15:46:43 +01:00
Dmitry
ba7bf22d09
impr(quotes): add Belarusian quotes (@Dmskrzh) (#6276) 2025-02-19 09:51:38 +01:00
WormholeDragon
9ff723ba9f
impr(quotes): add Russian quotes (@WormholeDragon) (#6278) 2025-02-19 09:40:41 +01:00
Abdul Malek
6920f9d7d4
feat(layout): add galite (@almk-dev) (#6273)
### Description
Adding `galite`, a hybrid tweak of GalliumV2, Graphite, and Colemak-DH,
with more standard punctuation keys.
The [final
version](https://www.reddit.com/r/KeyboardLayouts/comments/1iqo9ob/galite_galliumgraphite_hybrid_with_simplified/)
is based on discussion and feedback from a
[thread](https://www.reddit.com/r/KeyboardLayouts/comments/1ipdk2t/what_are_the_communitys_thoughts_on_a_gallium_row/)
on the AKL community subreddit.

Repo with details, notes, and stats:
[almk-dev/galite](https://github.com/almk-dev/galite)


![413474537-68b97426-dcc2-4d06-be35-5c23bcc959b0](https://github.com/user-attachments/assets/3d5312bc-3303-4d18-a98a-6f544530f2de)
2025-02-19 09:24:08 +01:00
Mer
2c8fec3f83
fix(language): spelling and translation errors for Frisian (@M3R14M) (#6263)
### Description

The language was added as "Frysk", but the English name is "Frisian".
I've updated the filenames and `_groups.json` and `_list.json` to use
the correct name. There were also a few spelling errors, Dutch-isms and
unfinished translations from English that I fixed.

### Checks

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


Related PRs: #5211 #4317
2025-02-19 09:14:54 +01:00
[ PIPIN ]
02de52558e
feat(language and quotes): update Tamil & Tanglish Words and add Quotes (@pipinthedev) (#6224)
### feat(quotes): Update Tamil & Tanglish Words and Quotes
(@pipinthedev)

### Description  

- Updated `tamil.json` with new Tamil words.  
- Expanded `tanglish.json` with additional words and removed
inappropriate terms.
- Added new Tamil quotes in `tamil.json`.  

### Files Changed  
- `frontend/static/languages/tamil.json`  
- `frontend/static/languages/tanglish.json`  
- `frontend/static/quotes/tamil.json` 

### Translations:

```json
[
  {
    "text": "Water without purity lasts three days; a heart without love does not last even a single day.",
    "source": "Thiruvalluvar",
    "length": 84,
    "id": 26
  },
  {
    "text": "A learned man, who conducts himself harmoniously with the world, is truly cultured and wise.",
    "source": "Thiruvalluvar, Thirukkural 141",
    "length": 51,
    "id": 27
  },
  {
    "text": "If there is even one righteous person, for his sake, rain will bless everyone.",
    "source": "Thiruvalluvar, Thirukkural 59",
    "length": 61,
    "id": 28
  },
  {
    "text": "Those whose thoughts are unrefined lack determination; their words lack truth, even to their own kin.",
    "source": "Thiruvalluvar, Thirukkural 292",
    "length": 72,
    "id": 29
  },
  {
    "text": "The wise consider all living beings as their own kin.",
    "source": "Thiruvalluvar, Thirukkural 72",
    "length": 54,
    "id": 30
  },
  {
    "text": "Think only of what is noble; even if difficulties arise, never abandon that thought.",
    "source": "Thiruvalluvar, Thirukkural 595",
    "length": 62,
    "id": 31
  },
  {
    "text": "If love and virtue prevail, family life will flourish in prosperity and purpose.",
    "source": "Thiruvalluvar, Thirukkural 45",
    "length": 58,
    "id": 32
  }
]
2025-02-19 09:09:45 +01:00