mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 23:27:26 +01:00
e9b2c1b51a37c726480aa6fb07d4759559660ae2
40 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
e9b2c1b51a | restructure admin pages | ||
|
|
17d22dda3f | enforce x-client header (#15476) | ||
|
|
f26d2a59ae |
add InvalidCredentialsError with language-agnostic code (#15472)
* add InvalidCredentialsError with language-agnostic code and update backend & web logout logic * error.code in API error responses Updated the error handler to serialize responseErr.code as the JSON error field, falling back to responseErr.name when no code is set. * fix(lint): whitespace and missing def * fix(lint): missed one * add InvalidCredentialsError case for bad token Add test verifying that auth middleware throws InvalidCredentialsError with code "invalid_credentials" and correct translated message when the API token is invalid. * fix(test): user fields implicitly required --------- Co-authored-by: Kalista Payne <sabrecat@gmail.com> |
||
|
|
1fab19acf4 |
Refactor Cron to be more robust (#15399)
* Simplify cron code
use transactions for cron
remove only
bump mongoose to 8.x
remove deprecated config
fix race condition when users join a party
console debugging time
try calling transaction differently
add missing await
addditional console log
.
..
...
….
await
more debug log
mongoose logging
more logging
move session to encapsulate all of cron
delete old todos before fetching all tasks
changes
try waiting for mongoose connection
try adding timeout to time jump
cleanup and code refactoring
Translated using Weblate (Spanish)
Currently translated at 100.0% (821 of 821 strings)
Translated using Weblate (German)
Currently translated at 100.0% (821 of 821 strings)
Translated using Weblate (Japanese)
Currently translated at 87.0% (228 of 262 strings)
Translated using Weblate (Spanish (Latin America))
Currently translated at 93.8% (107 of 114 strings)
Translated using Weblate (Spanish (Latin America))
Currently translated at 18.1% (44 of 243 strings)
Translated using Weblate (Spanish (Latin America))
Currently translated at 11.9% (29 of 243 strings)
Translated using Weblate (Spanish (Latin America))
Currently translated at 88.1% (724 of 821 strings)
Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (22 of 22 strings)
Translated using Weblate (Spanish (Latin America))
Currently translated at 91.2% (104 of 114 strings)
Translated using Weblate (Spanish (Latin America))
Currently translated at 7.4% (18 of 243 strings)
Translated using Weblate (Spanish)
Currently translated at 99.5% (817 of 821 strings)
Translated using Weblate (German)
Currently translated at 99.3% (816 of 821 strings)
Translated using Weblate (German)
Currently translated at 100.0% (3265 of 3265 strings)
Translated using Weblate (German)
Currently translated at 100.0% (3265 of 3265 strings)
Translated using Weblate (English (United Kingdom))
Currently translated at 98.2% (112 of 114 strings)
Translated using Weblate (English (United Kingdom))
Currently translated at 97.7% (131 of 134 strings)
Translated using Weblate (English (United Kingdom))
Currently translated at 69.1% (2257 of 3265 strings)
Translated using Weblate (English (United Kingdom))
Currently translated at 99.5% (239 of 240 strings)
Translated using Weblate (English (United Kingdom))
Currently translated at 16.4% (40 of 243 strings)
Translated using Weblate (German)
Currently translated at 99.9% (3264 of 3265 strings)
Translated using Weblate (Japanese)
Currently translated at 86.6% (227 of 262 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (272 of 272 strings)
Translated using Weblate (Japanese)
Currently translated at 97.9% (423 of 432 strings)
Translated using Weblate (German)
Currently translated at 100.0% (262 of 262 strings)
Translated using Weblate (German)
Currently translated at 100.0% (432 of 432 strings)
Translated using Weblate (German)
Currently translated at 100.0% (240 of 240 strings)
Translated using Weblate (English (United Kingdom))
Currently translated at 14.8% (36 of 243 strings)
Translated using Weblate (German)
Currently translated at 99.1% (814 of 821 strings)
Translated using Weblate (German)
Currently translated at 100.0% (397 of 397 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 84.7% (222 of 262 strings)
Translated using Weblate (English (United Kingdom))
Currently translated at 84.3% (221 of 262 strings)
Translated using Weblate (German)
Currently translated at 100.0% (60 of 60 strings)
Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (22 of 22 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.0% (415 of 432 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 94.2% (3077 of 3265 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 63.7% (155 of 243 strings)
Translated using Weblate (German)
Currently translated at 99.0% (813 of 821 strings)
Translated using Weblate (English (United Kingdom))
Currently translated at 99.7% (396 of 397 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.7% (885 of 896 strings)
Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (German)
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Japanese)
Currently translated at 97.4% (265 of 272 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (114 of 114 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (134 of 134 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (260 of 260 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (397 of 397 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (60 of 60 strings)
Update translation files
Updated by "Cleanup translation files" hook in Weblate.
Translated using Weblate (Japanese)
Currently translated at 98.7% (392 of 397 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (240 of 240 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (262 of 262 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (114 of 114 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (60 of 60 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (432 of 432 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (240 of 240 strings)
Translated using Weblate (Spanish)
Currently translated at 99.0% (813 of 821 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (397 of 397 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (French)
Currently translated at 100.0% (262 of 262 strings)
Translated using Weblate (French)
Currently translated at 100.0% (60 of 60 strings)
Translated using Weblate (French)
Currently translated at 100.0% (432 of 432 strings)
Translated using Weblate (French)
Currently translated at 100.0% (3265 of 3265 strings)
Translated using Weblate (French)
Currently translated at 100.0% (240 of 240 strings)
Translated using Weblate (French)
Currently translated at 100.0% (821 of 821 strings)
Translated using Weblate (French)
Currently translated at 100.0% (397 of 397 strings)
Translated using Weblate (French)
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (French)
Currently translated at 100.0% (3265 of 3265 strings)
Update translation files
Updated by "Cleanup translation files" hook in Weblate.
Update translation files
Updated by "Cleanup translation files" hook in Weblate.
Translated using Weblate (French)
Currently translated at 100.0% (3265 of 3265 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (3255 of 3255 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (15 of 15 strings)
Co-authored-by: Asier Gallego <agr2367789@gmail.com>
Co-authored-by: Asier Gallego Roca <asiernoide@users.noreply.translate.habitica.com>
Co-authored-by: Henrique Ferreira <pedroferreira217.ph@gmail.com>
Co-authored-by: Jaime Martí <jaumemarti77@icloud.com>
Co-authored-by: John Doe (Anonymous) <shyamjayeshduck@duck.com>
Co-authored-by: Katharina <katharinaanna.wilding@gmail.com>
Co-authored-by: Marie Blosse--Gilbin <mbgil@hotmail.fr>
Co-authored-by: Mauricio Pérez <mauriciodavidperez@gmail.com>
Co-authored-by: Raul Ernesto Ceron Lara <raztreuzz1234@gmail.com>
Co-authored-by: Sophie LE MASLE <sophiesuff@gmail.com>
Co-authored-by: Toro Mor <thomas.bizer@gmx.de>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Willhelm Winter <carapax@posteo.de>
Co-authored-by: mattya 226 <worldworld1114@gmail.com>
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en_GB/
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/fr/
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt_BR/
Translate-URL: https://translate.habitica.com/projects/habitica/content/de/
Translate-URL: https://translate.habitica.com/projects/habitica/content/en_GB/
Translate-URL: https://translate.habitica.com/projects/habitica/content/es/
Translate-URL: https://translate.habitica.com/projects/habitica/content/fr/
Translate-URL: https://translate.habitica.com/projects/habitica/content/ja/
Translate-URL: https://translate.habitica.com/projects/habitica/death/es/
Translate-URL: https://translate.habitica.com/projects/habitica/faq/en_GB/
Translate-URL: https://translate.habitica.com/projects/habitica/faq/es_419/
Translate-URL: https://translate.habitica.com/projects/habitica/faq/pt_BR/
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en_GB/
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/
Translate-URL: https://translate.habitica.com/projects/habitica/generic/
Translate-URL: https://translate.habitica.com/projects/habitica/generic/de/
Translate-URL: https://translate.habitica.com/projects/habitica/generic/en_GB/
Translate-URL: https://translate.habitica.com/projects/habitica/generic/es/
Translate-URL: https://translate.habitica.com/projects/habitica/generic/fr/
Translate-URL: https://translate.habitica.com/projects/habitica/generic/ja/
Translate-URL: https://translate.habitica.com/projects/habitica/groups/
Translate-URL: https://translate.habitica.com/projects/habitica/groups/de/
Translate-URL: https://translate.habitica.com/projects/habitica/groups/es/
Translate-URL: https://translate.habitica.com/projects/habitica/groups/fr/
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/
Translate-URL: https://translate.habitica.com/projects/habitica/groups/pt_BR/
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ja/
Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/en_GB/
Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/es_419/
Translate-URL: https://translate.habitica.com/projects/habitica/messages/de/
Translate-URL: https://translate.habitica.com/projects/habitica/messages/es/
Translate-URL: https://translate.habitica.com/projects/habitica/messages/fr/
Translate-URL: https://translate.habitica.com/projects/habitica/messages/ja/
Translate-URL: https://translate.habitica.com/projects/habitica/npc/en_GB/
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ja/
Translate-URL: https://translate.habitica.com/projects/habitica/pets/en_GB/
Translate-URL: https://translate.habitica.com/projects/habitica/pets/es/
Translate-URL: https://translate.habitica.com/projects/habitica/pets/es_419/
Translate-URL: https://translate.habitica.com/projects/habitica/pets/ja/
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es/
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es_419/
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/fr/
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ja/
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/de/
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/en_GB/
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/es/
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ja/
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pt_BR/
Translation: Habitica/Backgrounds
Translation: Habitica/Content
Translation: Habitica/Death
Translation: Habitica/Faq
Translation: Habitica/Gear
Translation: Habitica/Generic
Translation: Habitica/Groups
Translation: Habitica/Limited
Translation: Habitica/Loginincentives
Translation: Habitica/Messages
Translation: Habitica/Npc
Translation: Habitica/Pets
Translation: Habitica/Questscontent
Translation: Habitica/Settings
Translation: Habitica/Subscriber
5.33.1
fix(links): next round of wiki revisions
Translated using Weblate (German)
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Portuguese)
Currently translated at 96.4% (864 of 896 strings)
Co-authored-by: Miya <baddybadges@gmail.com>
Co-authored-by: Toro Mor <thomas.bizer@gmx.de>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt/
Translation: Habitica/Backgrounds
5.33.2
Fix achievement display in admin panel (#15326)
Fix news related permission issues (#15287)
Support sprite version of armoire icon (#15354)
* Use sprite component for armoire sprite
* use gif version of armoire sprite
* fix(import): sprite component path
---------
Co-authored-by: Kalista Payne <sabrecat@gmail.com>
log slow requests to loggly (#15364)
Update .eslintrc.js (#15388)
Add `require-await` to eslint config
Translated using Weblate (Japanese)
Currently translated at 93.0% (764 of 821 strings)
Translated using Weblate (Hungarian)
Currently translated at 54.8% (1790 of 3265 strings)
Translated using Weblate (Hungarian)
Currently translated at 53.5% (1748 of 3265 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (262 of 262 strings)
Translated using Weblate (Hungarian)
Currently translated at 52.1% (1704 of 3265 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Hungarian)
Currently translated at 59.3% (532 of 896 strings)
Translated using Weblate (Hungarian)
Currently translated at 79.3% (208 of 262 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (13 of 13 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (432 of 432 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (245 of 245 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (91 of 91 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Spanish (Latin America))
Currently translated at 77.4% (2528 of 3265 strings)
Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (167 of 167 strings)
Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (167 of 167 strings)
Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (167 of 167 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (272 of 272 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 93.0% (764 of 821 strings)
Translated using Weblate (French)
Currently translated at 100.0% (193 of 193 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (French)
Currently translated at 100.0% (260 of 260 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Hungarian)
Currently translated at 94.8% (258 of 272 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (245 of 245 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 95.2% (378 of 397 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Hungarian)
Currently translated at 82.8% (203 of 245 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (821 of 821 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 94.9% (377 of 397 strings)
Translated using Weblate (Hungarian)
Currently translated at 52.1% (1704 of 3265 strings)
Translated using Weblate (Hungarian)
Currently translated at 49.7% (122 of 245 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.1% (789 of 821 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (821 of 821 strings)
Translated using Weblate (Hungarian)
Currently translated at 48.5% (119 of 245 strings)
Translated using Weblate (Hungarian)
Currently translated at 26.1% (64 of 245 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2 of 2 strings)
Translated using Weblate (Hungarian)
Currently translated at 8.9% (22 of 245 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (15 of 15 strings)
Translated using Weblate (Hungarian)
Currently translated at 96.2% (790 of 821 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (22 of 22 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (432 of 432 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (240 of 240 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 95.4% (784 of 821 strings)
Translated using Weblate (Hungarian)
Currently translated at 91.5% (752 of 821 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (91 of 91 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (397 of 397 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (47 of 47 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (193 of 193 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (114 of 114 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (60 of 60 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (397 of 397 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (193 of 193 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (193 of 193 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (260 of 260 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (94 of 94 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (134 of 134 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (240 of 240 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (47 of 47 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (260 of 260 strings)
Translated using Weblate (German)
Currently translated at 99.2% (133 of 134 strings)
Translated using Weblate (German)
Currently translated at 99.2% (133 of 134 strings)
Translated using Weblate (Czech)
Currently translated at 95.2% (159 of 167 strings)
Translated using Weblate (Russian)
Currently translated at 91.2% (2978 of 3265 strings)
Translated using Weblate (Russian)
Currently translated at 99.3% (890 of 896 strings)
Translated using Weblate (German)
Currently translated at 100.0% (3265 of 3265 strings)
Translated using Weblate (German)
Currently translated at 100.0% (3265 of 3265 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (134 of 134 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (47 of 47 strings)
Translated using Weblate (French)
Currently translated at 100.0% (134 of 134 strings)
Translated using Weblate (French)
Currently translated at 100.0% (47 of 47 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (56 of 56 strings)
Translated using Weblate (Korean)
Currently translated at 98.5% (132 of 134 strings)
Translated using Weblate (Korean)
Currently translated at 6.9% (17 of 245 strings)
Translated using Weblate (Korean)
Currently translated at 71.9% (645 of 896 strings)
Translated using Weblate (Korean)
Currently translated at 49.2% (129 of 262 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (13 of 13 strings)
Translated using Weblate (Korean)
Currently translated at 81.9% (77 of 94 strings)
Translated using Weblate (Korean)
Currently translated at 91.6% (153 of 167 strings)
Translated using Weblate (Korean)
Currently translated at 67.3% (291 of 432 strings)
Translated using Weblate (Korean)
Currently translated at 79.5% (191 of 240 strings)
Translated using Weblate (Korean)
Currently translated at 54.6% (1785 of 3265 strings)
Translated using Weblate (Korean)
Currently translated at 88.8% (48 of 54 strings)
Translated using Weblate (Korean)
Currently translated at 89.3% (42 of 47 strings)
Translated using Weblate (Korean)
Currently translated at 93.9% (373 of 397 strings)
Translated using Weblate (Korean)
Currently translated at 54.9% (50 of 91 strings)
Translated using Weblate (German)
Currently translated at 100.0% (182 of 182 strings)
Translated using Weblate (German)
Currently translated at 100.0% (182 of 182 strings)
Translated using Weblate (Spanish (Latin America))
Currently translated at 73.0% (179 of 245 strings)
Translated using Weblate (French)
Currently translated at 100.0% (245 of 245 strings)
Translated using Weblate (German)
Currently translated at 99.1% (243 of 245 strings)
Translated using Weblate (French)
Currently translated at 99.5% (244 of 245 strings)
Translated using Weblate (Spanish (Latin America))
Currently translated at 62.0% (152 of 245 strings)
Translated using Weblate (Indonesian)
Currently translated at 73.4% (180 of 245 strings)
Translated using Weblate (Indonesian)
Currently translated at 96.0% (861 of 896 strings)
Translated using Weblate (Spanish (Latin America))
Currently translated at 62.0% (152 of 245 strings)
Translated using Weblate (German)
Currently translated at 98.7% (242 of 245 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (245 of 245 strings)
Translated using Weblate (Spanish)
Currently translated at 99.5% (244 of 245 strings)
Translated using Weblate (Portuguese)
Currently translated at 33.7% (82 of 243 strings)
Translated using Weblate (Portuguese)
Currently translated at 73.3% (602 of 821 strings)
Translated using Weblate (Portuguese)
Currently translated at 56.0% (51 of 91 strings)
Translated using Weblate (German)
Currently translated at 100.0% (167 of 167 strings)
Translated using Weblate (German)
Currently translated at 100.0% (167 of 167 strings)
Translated using Weblate (Portuguese)
Currently translated at 97.2% (107 of 110 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (896 of 896 strings)
Co-authored-by: César Orlando Pallares Delgado <copdeb@gmail.com>
Co-authored-by: Céu <marcel.ufscar@gmail.com>
Co-authored-by: Diego Benitez <diego.benitez@bigpond.com>
Co-authored-by: Finrod <963505255@qq.com>
Co-authored-by: ForbiddenFigs <sorautai@outlook.com>
Co-authored-by: Hexe des Windes (she/her) <krausanna1@gmail.com>
Co-authored-by: Icaro <icaro.mascarenhas@outlook.com>
Co-authored-by: Ikmal <ikmal.s.16@gmail.com>
Co-authored-by: Jackal <qwerty70244@gmail.com>
Co-authored-by: Jaime Martí <jaumemarti77@icloud.com>
Co-authored-by: Katharina <katharinaanna.wilding@gmail.com>
Co-authored-by: Leslie Munguía <moongeeuh@gmail.com>
Co-authored-by: Lio Zam <zerofux@web.de>
Co-authored-by: Marius <mariusschmid11@gmail.com>
Co-authored-by: Miya <baddybadges@gmail.com>
Co-authored-by: Natalie Luhrs <eilatan@gmail.com>
Co-authored-by: Raul Ernesto Ceron Lara <raztreuzz1234@gmail.com>
Co-authored-by: Sophie LE MASLE <sophiesuff@gmail.com>
Co-authored-by: Toro Mor <thomas.bizer@gmx.de>
Co-authored-by: Viktor Révész <rviktor@ivankapal.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: 小王 <963505255@qq.com>
Co-authored-by: 이채린 <cofls1256@gmail.com>
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/cs/
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/de/
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es_419/
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ko/
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/id/
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ko/
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt/
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/pt/
Translate-URL: https://translate.habitica.com/projects/habitica/character/es/
Translate-URL: https://translate.habitica.com/projects/habitica/character/fr/
Translate-URL: https://translate.habitica.com/projects/habitica/character/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hans/
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ko/
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/pt/
Translate-URL: https://translate.habitica.com/projects/habitica/content/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/content/ko/
Translate-URL: https://translate.habitica.com/projects/habitica/content/pt_BR/
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hans/
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/es/
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/fr/
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/ko/
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/zh_Hans/
Translate-URL: https://translate.habitica.com/projects/habitica/death/zh_Hans/
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ko/
Translate-URL: https://translate.habitica.com/projects/habitica/faq/de/
Translate-URL: https://translate.habitica.com/projects/habitica/faq/es/
Translate-URL: https://translate.habitica.com/projects/habitica/faq/es_419/
Translate-URL: https://translate.habitica.com/projects/habitica/faq/fr/
Translate-URL: https://translate.habitica.com/projects/habitica/faq/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/faq/id/
Translate-URL: https://translate.habitica.com/projects/habitica/faq/ko/
Translate-URL: https://translate.habitica.com/projects/habitica/faq/pt/
Translate-URL: https://translate.habitica.com/projects/habitica/front/de/
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es_419/
Translate-URL: https://translate.habitica.com/projects/habitica/gear/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ko/
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/
Translate-URL: https://translate.habitica.com/projects/habitica/generic/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/generic/ko/
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/
Translate-URL: https://translate.habitica.com/projects/habitica/groups/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ko/
Translate-URL: https://translate.habitica.com/projects/habitica/limited/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/zh_Hans/
Translate-URL: https://translate.habitica.com/projects/habitica/messages/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/noscript/zh_Hans/
Translate-URL: https://translate.habitica.com/projects/habitica/npc/de/
Translate-URL: https://translate.habitica.com/projects/habitica/npc/es/
Translate-URL: https://translate.habitica.com/projects/habitica/npc/fr/
Translate-URL: https://translate.habitica.com/projects/habitica/npc/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ko/
Translate-URL: https://translate.habitica.com/projects/habitica/pets/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/quests/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/quests/ko/
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt/
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/ko/
Translate-URL: https://translate.habitica.com/projects/habitica/settings/es/
Translate-URL: https://translate.habitica.com/projects/habitica/settings/fr/
Translate-URL: https://translate.habitica.com/projects/habitica/settings/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/spells/ko/
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ko/
Translation: Habitica/Achievements
Translation: Habitica/Backgrounds
Translation: Habitica/Challenge
Translation: Habitica/Character
Translation: Habitica/Communityguidelines
Translation: Habitica/Content
Translation: Habitica/Contrib
Translation: Habitica/Death
Translation: Habitica/Defaulttasks
Translation: Habitica/Faq
Translation: Habitica/Front
Translation: Habitica/Gear
Translation: Habitica/Generic
Translation: Habitica/Groups
Translation: Habitica/Limited
Translation: Habitica/Loginincentives
Translation: Habitica/Messages
Translation: Habitica/Noscript
Translation: Habitica/Npc
Translation: Habitica/Pets
Translation: Habitica/Quests
Translation: Habitica/Questscontent
Translation: Habitica/Rebirth
Translation: Habitica/Settings
Translation: Habitica/Spells
Translation: Habitica/Subscriber
5.33.3
March 2025 Content Build (#15392)
* build: March 2025 css, backgrounds, subscriber gear, armoire
* build: March 2025 quests, seasonal gear, various fixes
* fix: fix string
* fix: fixes to string errors
* fix: string fixes
wait for mongoose connection on timetravel
rework broken cron recovery
remove lodash from cron code
remove old cron notification
Simplify cron code
fix unit tests
Remove unnecessary user fetch
Further code simplification
fix test check
lint fix
disable world boss calculation during cron for now
prevent saving user twice in paralllel when leaving group plan
correctly call cron in api call
remove console
fix tests failing
mark cronSignature as modified
fix test
Translated using Weblate (Spanish)
Currently translated at 99.5% (3288 of 3303 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (836 of 836 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (836 of 836 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (899 of 899 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (836 of 836 strings)
Translated using Weblate (Spanish)
Currently translated at 99.5% (832 of 836 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (836 of 836 strings)
Translated using Weblate (German)
Currently translated at 98.8% (826 of 836 strings)
Translated using Weblate (Russian)
Currently translated at 40.8% (100 of 245 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (836 of 836 strings)
Translated using Weblate (French)
Currently translated at 100.0% (836 of 836 strings)
Translated using Weblate (Russian)
Currently translated at 40.4% (99 of 245 strings)
Translated using Weblate (Russian)
Currently translated at 40.0% (98 of 245 strings)
Translated using Weblate (Russian)
Currently translated at 40.0% (98 of 245 strings)
Translated using Weblate (Russian)
Currently translated at 39.1% (96 of 245 strings)
Translated using Weblate (Russian)
Currently translated at 91.2% (219 of 240 strings)
Translated using Weblate (Russian)
Currently translated at 38.7% (95 of 245 strings)
Translated using Weblate (Russian)
Currently translated at 38.7% (95 of 245 strings)
Translated using Weblate (Russian)
Currently translated at 38.7% (95 of 245 strings)
Translated using Weblate (Russian)
Currently translated at 37.5% (92 of 245 strings)
Translated using Weblate (Russian)
Currently translated at 37.1% (91 of 245 strings)
Translated using Weblate (Russian)
Currently translated at 36.7% (90 of 245 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (60 of 60 strings)
Translated using Weblate (Russian)
Currently translated at 90.8% (218 of 240 strings)
Translated using Weblate (Russian)
Currently translated at 90.8% (218 of 240 strings)
Translated using Weblate (Russian)
Currently translated at 36.3% (89 of 245 strings)
Translated using Weblate (Russian)
Currently translated at 36.3% (89 of 245 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (899 of 899 strings)
Translated using Weblate (Russian)
Currently translated at 99.3% (893 of 899 strings)
Translated using Weblate (Russian)
Currently translated at 99.2% (892 of 899 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (836 of 836 strings)
Translated using Weblate (Spanish)
Currently translated at 99.4% (831 of 836 strings)
Translated using Weblate (Hungarian)
Currently translated at 62.6% (2068 of 3303 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 97.9% (804 of 821 strings)
Translated using Weblate (Portuguese)
Currently translated at 72.0% (602 of 836 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (836 of 836 strings)
Translated using Weblate (Spanish)
Currently translated at 99.1% (829 of 836 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.4% (885 of 899 strings)
Translated using Weblate (Portuguese)
Currently translated at 99.6% (896 of 899 strings)
Translated using Weblate (Hungarian)
Currently translated at 57.9% (1915 of 3303 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 97.4% (800 of 821 strings)
Translated using Weblate (Hungarian)
Currently translated at 57.6% (1903 of 3303 strings)
Translated using Weblate (Hungarian)
Currently translated at 57.5% (1900 of 3303 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 97.0% (797 of 821 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (836 of 836 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (899 of 899 strings)
Translated using Weblate (Bulgarian)
Currently translated at 84.0% (79 of 94 strings)
Translated using Weblate (Bulgarian)
Currently translated at 84.0% (79 of 94 strings)
Translated using Weblate (Spanish)
Currently translated at 98.4% (823 of 836 strings)
Translated using Weblate (Spanish)
Currently translated at 98.7% (3263 of 3303 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.8% (795 of 821 strings)
Translated using Weblate (Spanish)
Currently translated at 98.3% (822 of 836 strings)
Translated using Weblate (Spanish)
Currently translated at 98.5% (3256 of 3303 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.8% (795 of 821 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.8% (795 of 821 strings)
Translated using Weblate (French)
Currently translated at 98.4% (823 of 836 strings)
Translated using Weblate (French)
Currently translated at 100.0% (3303 of 3303 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.5% (793 of 821 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (899 of 899 strings)
Translated using Weblate (French)
Currently translated at 99.8% (3297 of 3303 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.4% (792 of 821 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (899 of 899 strings)
Translated using Weblate (French)
Currently translated at 99.3% (3280 of 3303 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 99.7% (897 of 899 strings)
Translated using Weblate (French)
Currently translated at 99.1% (3275 of 3303 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 99.7% (897 of 899 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 99.7% (897 of 899 strings)
Translated using Weblate (German)
Currently translated at 100.0% (899 of 899 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 99.7% (897 of 899 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 97.6% (3187 of 3265 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 99.7% (897 of 899 strings)
Translated using Weblate (French)
Currently translated at 100.0% (899 of 899 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (262 of 262 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (272 of 272 strings)
Translated using Weblate (Hungarian)
Currently translated at 58.1% (1898 of 3265 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 62.8% (154 of 245 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (15 of 15 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.4% (792 of 821 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (91 of 91 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 95.2% (378 of 397 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (397 of 397 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (896 of 896 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (896 of 896 strings)
Co-authored-by: Anna <shiloanna007@gmail.com>
Co-authored-by: Besogon <victoria_murka@mail.ru>
Co-authored-by: Céu <marcel.ufscar@gmail.com>
Co-authored-by: ForbiddenFigs <sorautai@outlook.com>
Co-authored-by: Jaime Martí <jaumemarti77@icloud.com>
Co-authored-by: Nell Chant <doubletailor@gmail.com>
Co-authored-by: Sophie LE MASLE <sophiesuff@gmail.com>
Co-authored-by: Toro Mor <thomas.bizer@gmx.de>
Co-authored-by: Viktor Révész <rviktor@ivankapal.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: razil <boss.razmarin@gmail.com>
Co-authored-by: 小王 <963505255@qq.com>
Co-authored-by: 海岛钓鱼佬 <963505255@qq.com>
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/fr/
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt/
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt_BR/
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/content/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/content/pt_BR/
Translate-URL: https://translate.habitica.com/projects/habitica/death/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/faq/pt_BR/
Translate-URL: https://translate.habitica.com/projects/habitica/faq/ru/
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/
Translate-URL: https://translate.habitica.com/projects/habitica/gear/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/
Translate-URL: https://translate.habitica.com/projects/habitica/generic/ru/
Translate-URL: https://translate.habitica.com/projects/habitica/limited/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/messages/ru/
Translate-URL: https://translate.habitica.com/projects/habitica/quests/bg/
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es/
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/fr/
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/hu/
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt/
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/hu/
Translation: Habitica/Backgrounds
Translation: Habitica/Communityguidelines
Translation: Habitica/Content
Translation: Habitica/Death
Translation: Habitica/Faq
Translation: Habitica/Gear
Translation: Habitica/Generic
Translation: Habitica/Limited
Translation: Habitica/Messages
Translation: Habitica/Quests
Translation: Habitica/Questscontent
Translation: Habitica/Subscriber
5.34.0
Update test.yml (#15397)
combined messages restyling - next round (#15386)
* split component prepare new views / states
* extract empty and disabled state as components
* fix empty state mail icon
* first logic switching between modes, move page to /private-messages/index.vue
* extract autoCompleteHelper.js
* style header + start new message input
* style plus button + focus input
* state logic, types for sanity
* WIP PM new Message started
* add /members/username test
* first design changes to messageCard
* delete private message or chat - based on the mode
* copy as todo
* mention links to modal
* report chat or private message
* WIP likeButton
* likeButton styling
* hide like on private message cards
* fix unit test
* replace copy as todo - to just a copy to clipboard
* style changes
* menu position + like button width
* dropdown items background + like font
* fix like button padding
* move api endpoints and tests around to group inbox methods + like for inbox private messages
* restyle system messages
* Dropdown Radius and Padding
* WIP system messages
* fix lint
* copy delta commit of allowing liking own private messages
* enable liking private messages
* fix menu non hovered item icon color
* fix import path
* ignore background on system messages
* requested changes + migration
* update migration to update the unique id to some messages and delete the duplicates
* migration based on users pagination
* fix(migration): use Promise.all
* change to bulkWrites per User, and all messages in one run (of a user)
* check for array
* use rest operator ...
* skip sorting to get the users
* remove migration, disable like for private messages without uniqueMessageId
* lean+bulkWrite for likes, add time checks for like and auth for further debugging
* add a limit 2 get the messages by uniqueId
* Adding a simple server start script
* remove pinned nodemon dep
* fix inbox controller/tests
* fix / requested style changes
* fix empty state padding /
* hide avatar weapons on messages - fix avatar spacing on messages
* Hourglass Simplification (#15323)
* begin removing obsolete tests
* begin refactoring
* update cron tests
* cleanup
* finish basic implementation of new logic
* add more subscription tests
* subscription test improvements
* return nextHourglassDate again
* fix gem limit
* fix(test): short circuit this.
* fix(admin): correct logic and style for shrimple subs
* WIP(frontend): draft of main subs page view
* fix hourglass count
* Fix hourglass logic for upgrades
* fix admin panel display
* WIP(subs): extant Stripe state
* fix admin panel strings
* fix missing transaction type
* add new field for cumulative subscription count
* show date for hourglass bonus if it was received
* fix test
* feat(subscription): max Gems progress readout
* fix(css): correct and refactor heights and selection states
* fix(subs): correct border-radius and redirect
* fix(stripe): correct redirect after success
* Admin panel display fixes
* don’t give additional HG for new sub if they already got one this month
* fix issue with promo hourglasses
* fix(subscription): update layout when gifting
* fix(subscriptions): more gift layout revisions
* fix(subscriptions): minor visual updates
* fix(subs): pass autoRenews through Stripe
* fix(subs): gifts DON't renew
* fix(lint): unnecessary ternary
* fix(lint): do negate object ig
* fix(subs): try again on gifts
* fix(subs): unhovery and un-12-monthy
* fix bug with incorrectly giving HG bonus
* remove only
* fix test
* fix test
* fix(subs): also redirect to subs after gift sub
* fix(subs): fix typeError
* fix(g1g1): don't try to find Gems promo during bogo
---------
Co-authored-by: Phillip Thelen <phillip@habitica.com>
Co-authored-by: Kalista Payne <sabe@habitica.com>
* chore(sprites): update subproject
* fix(layout): tighten cancellation note
* fix(subs): Google wording and HG escape
* chore(testing): fake g1g1 dates
* fix(subs): don't hide HG preview entirely
* fix(subs): center next hourglass message
* working validatedTextInput.vue within start-new-conversation-input-header.vue 🎉
* fix(git): remove changes from old develop
* Revert "fix(git): remove changes from old develop"
This reverts commit
|
||
|
|
1fe4bd2de7 |
Improve rate limiting (#15272)
* Improve rate limiting * make rate limiter config names more consistent * fix tests and add new one * correct math |
||
|
|
550ac2db9d | fix tests | ||
|
|
31e501f65a | Merge branch 'release' into schedule-rc | ||
|
|
4da53f83c9 | Add option to log every request start and end to loggly (#15243) | ||
|
|
cd685c1b2b |
Fix liveliness probes being rate limited (#15236)
* Do not rate limit any liveliness probes * update example config |
||
|
|
c0d6338eba | WIP(shops): safer debug mode | ||
|
|
a50c0eb1e7 | fix test | ||
|
|
fb56f7df20 | Fix various tests | ||
|
|
8fa91a3805 | chore(node): upgrade to Node 20 | ||
|
|
f8d315ff6e |
Upgrade to mongoose 7 (#14971)
* remove some unused dependencies * update mongoose version * make common tests pass * Make unit tests pass * make api v3 integration tests pass * fix lint issues * fix issue with package-lock * fix(lint): we don't need no .js * fix(lint): update to latest config-habitrpg * chore(npm): update package locks * fix(test): replace deprecated fn * chore(package): update eslint-habitrpg again * fix(lint): server linting * fix(lint): client linting * fix(client): correct mangled common imports * chore(npm): update package-locks * fix(lint): punctuation, module --------- Co-authored-by: SabreCat <sabrecat@gmail.com> Co-authored-by: SabreCat <sabe@habitica.com> |
||
|
|
8150fef993 |
Database Access optimisations (#14544)
* Optimize database access during spell casting * load less data when casting spells * Begin migrating update calls to updateOne and updateMany * Only update user objects that don’t have notification yet * fix test * fix spy * Don’t unnecessarily update user when requesting invalid guild * fix sort order for middlewares to not load user twice every request * fix tests * fix integration test * fix skill usage not always deducting mp * addtest case for blessing spell * fix healAll * fix lint * Fix error for when some spells are used outside of party * Add check to not run bulk spells in web client * fix(tags): change const to let --------- Co-authored-by: SabreCat <sabe@habitica.com> |
||
|
|
38b39b600c |
Adminpanel and revamped permissions (#13843)
* create Admin Panel page with initial content from Hall's admin section * reorganise Admin Panel form and add more accordians * add lastCron to fields returned by api.getHeroes * improve timestamps and authentication section * add party and quest info to Admin Panel, add party to heroAdminFields * move Admin Panel menu item to top of menu, make invisible to non-admins * remove code used for displaying all Heroes * add avatar appearance and drops section in Admin Panel * allow logged-in user to be the default hero loaded * add time zones to timestamp/authentication section * rename Items to Update Items This will allow a new Items section to be added. * add read-only Items display with button to copy data to Update Items section * remove never-used allItemsPaths code that had been copied from Hall * update tests for the attributes added to heroAdminFields * supply names for items and also set information for gear/equipment * remove code that loads subsections of content We use enough of the content that it's easier to load it all and access it through the content object, especially when we're looping through different item types. * add gear names and set details to Avatar Costume/Battle Gear section * make the wiki URLs clickable and make minor item format improvements * add gear sets for Check-In Incentives and animal ears and tails * add gear set for Gold-Purchasable Quest Lines Also merges the existing Mystery of the Masterclassers quest set into it. * fix error with Kickstarter gear set and include wiki link * improve description of check-in incentive gear set * fix description of Items section * fix lint warnings * update another test for the attributes added to heroAdminFields * allow "@" to be included when specifying Username to load * create GetHeroParty API v3 route to fetch a given user's party data Only some data from the party will be loaded (e.g., not private data such as name, description). Includes tests for the route. See the next commit for front-end changes that use this. * display data from a given user's party in admin panel Only some data from the party will be loaded (e.g., not private data such as name, description). Also adds support for finding and displaying errors from the user's data. * use new error handling method for other sections - Time zone differences - Cron bugs - Privilege removal (mute/block) - not a bug but needs to be highlighted * redirect non-admin users away from admin-only page (WIP) This needs more work. Currently, admin users are also redirected if they access the page by direct URL or after reload. * clarify source of items from Check-In Incentives and Lunar Battle quests * replace non-standard form fields with HTML forms * add user's language, remove unused export blocks * convert functions to filters: formatDate, formatTimeZone * improve display of minutes portion of time zone in Admin Panel * move basic details about user to a new component * move Timestamp/Cron/Auth/etc details to a new component - WIP, has errors The automatic expand and error warnings don't reset themselves when you fetch data for a new user. * replace non-standard form fields with HTML forms Most of this was done in |
||
|
|
9ff0766910 |
Fix cron not running if previous run failed (#13892)
* catch issue where cron wouldn’t run bc previous run failed * add some more tests for cron middleware * fix lint |
||
|
|
79033af36e |
Revert "fix(test): skip undesired test"
This reverts commit
|
||
|
|
93e0d16d5d | fix(test): skip undesired test | ||
|
|
40bf664f20 | chore(analytics): various updates to analytics tracking | ||
|
|
14714f9e1c |
Drop Cap A/B Tests: v2 (#12759)
* drop cap ab test: enroll all web users, 50/50 * update tests * fix lint |
||
|
|
9474a44df3 | fix(ab test): enroll more users | ||
|
|
e04d4e8bea |
Drop Cap Notification, Modal and A/B Test (#12651)
* add drop cap notification * add drop cap notification * add dismissible notification * fix(notification): correct remove icon positioning * track events * add modal * add back files * fix links and add missing analytics * fix rounded borders and hide sub info for subscribers * a/b test * fix comparison * Translated using Weblate (Spanish) Currently translated at 98.2% (55 of 56 strings) Translation: Habitica/Messages Translate-URL: https://translate.habitica.com/projects/habitica/messages/es/ Translated using Weblate (Spanish) Currently translated at 99.4% (179 of 180 strings) Translation: Habitica/Settings Translate-URL: https://translate.habitica.com/projects/habitica/settings/es/ Merge branch 'origin/develop' into Weblate. Translated using Weblate (Spanish) Currently translated at 99.4% (175 of 176 strings) Translation: Habitica/Subscriber Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/es/ Translated using Weblate (Spanish (Latin America)) Currently translated at 98.6% (359 of 364 strings) Translation: Habitica/Groups Translate-URL: https://translate.habitica.com/projects/habitica/groups/es_419/ Translated using Weblate (Spanish) Currently translated at 85.7% (151 of 176 strings) Translation: Habitica/Subscriber Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/es/ Translated using Weblate (Spanish) Currently translated at 95.3% (538 of 564 strings) Translation: Habitica/Backgrounds Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/ Translated using Weblate (Spanish (Latin America)) Currently translated at 98.6% (359 of 364 strings) Translation: Habitica/Groups Translate-URL: https://translate.habitica.com/projects/habitica/groups/es_419/ Translated using Weblate (French) Currently translated at 100.0% (56 of 56 strings) Translation: Habitica/Messages Translate-URL: https://translate.habitica.com/projects/habitica/messages/fr/ Translated using Weblate (German) Currently translated at 100.0% (56 of 56 strings) Translation: Habitica/Messages Translate-URL: https://translate.habitica.com/projects/habitica/messages/de/ Translated using Weblate (French) Currently translated at 100.0% (718 of 718 strings) Translation: Habitica/Questscontent Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/fr/ Translated using Weblate (German) Currently translated at 100.0% (718 of 718 strings) Translation: Habitica/Questscontent Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/ Translated using Weblate (Czech) Currently translated at 100.0% (56 of 56 strings) Translation: Habitica/Spells Translate-URL: https://translate.habitica.com/projects/habitica/spells/cs/ Translated using Weblate (Japanese) Currently translated at 100.0% (175 of 175 strings) Translation: Habitica/Subscriber Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ja/ Translated using Weblate (Italian) Currently translated at 100.0% (56 of 56 strings) Translation: Habitica/Messages Translate-URL: https://translate.habitica.com/projects/habitica/messages/it/ Translated using Weblate (Italian) Currently translated at 100.0% (718 of 718 strings) Translation: Habitica/Questscontent Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/it/ Translated using Weblate (Czech) Currently translated at 100.0% (180 of 180 strings) Translation: Habitica/Settings Translate-URL: https://translate.habitica.com/projects/habitica/settings/cs/ Translated using Weblate (Basque) Currently translated at 100.0% (2 of 2 strings) Translation: Habitica/Noscript Translate-URL: https://translate.habitica.com/projects/habitica/noscript/eu/ Translated using Weblate (Basque) Currently translated at 6.5% (8 of 123 strings) Translation: Habitica/Communityguidelines Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/eu/ Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (56 of 56 strings) Translation: Habitica/Messages Translate-URL: https://translate.habitica.com/projects/habitica/messages/zh_Hans/ Translated using Weblate (Japanese) Currently translated at 100.0% (56 of 56 strings) Translation: Habitica/Messages Translate-URL: https://translate.habitica.com/projects/habitica/messages/ja/ Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (718 of 718 strings) Translation: Habitica/Questscontent Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/ Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (718 of 718 strings) Translation: Habitica/Questscontent Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/ Translated using Weblate (Portuguese (Brazil)) Currently translated at 99.8% (717 of 718 strings) Translation: Habitica/Questscontent Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/ * clarify a/b test values * add tests * refactor user dropdown * fix hover state * fix user dropdown * fix user menu hierarchy * restore i18n files to release version Co-authored-by: Melior <admin@habitica.com> |
||
|
|
d9e774dd77 |
Implement Bailey CMS API (#10739)
* Begin refactoring news API to return individual markdown posts * Implement simple bailey CMS * Prevented users with lvl less than 10 from seeing mana * Added in class checks and notification tests * Added getter use * Fixed class check * chore(i18n): update locales * 4.60.2 * remove tests that are no longer needed because we won't be purging private messages (#10670) Ref: this comment from paglias: https://github.com/HabitRPG/habitica/issues/7940#issuecomment-406489506 * remove .only * allow challenge leader/owner to view/join/modify challenge in private group they've left - fixes #9753 (#10606) * rename hasAccess to canJoin for challenges This is so the function won't be used accidentally for other purposes, since hasAccess could be misinterpretted. * add isLeader function for challenges * allow challenge leader to join/modify/end challenge when they're not in the private group it's in * delete duplicate test * clarify title of existing tests * add tests and adjust existing tests to reduce privileges of test users * fix lint errors * remove pointless isLeader check (it's checked in canJoin) * Correct Challenges tooltip in Guild view (#10667) * Fix new party member cannot join pending quest (#10648) * Saved sort selection into local storage for later use - fixes #10432 (#10655) * Saved sort selection into local storage for later use * Updated code to use userLocalManager module * Fix initial position item info when selecting one item after another (fixes #10077) (#10661) * Update lastMouseMoveEvent even when dragging an egg or potion. * Update lastMouseMoveEvent even when dragging a food item. * Refactor/market vue (#10601) * extract inventoryDrawer from market * show scrollbar only if needed * extract featuredItemsHeader / pinUtils * extract pageLayout * extract layoutSection / filterDropdown - fix sortByNumber * rollback sortByNumber order-fix * move equipment lists out of the layout-section (for now) * refactor sellModal * extract checkbox * extract equipment section * extract category row * revert scroll - remove sellModal item template * fix(lint): commas and semis * Created category item component (#10613) * extract filter sidebar * fix gemCount - fix raising the item count if the item wasn't previously owned * fixes #10659 * remove unneeded method * fix typo when importing component * feat(content): Forest Friends Quest Bundle * chore(sprites): compile * chore(i18n): update locales * 4.60.3 * fix(bcrypt): install fork compatible with Node 8 * chore(i18n): update locales * 4.60.4 * add swear words - TRIGGER / CONTENT WARNING: assault, slurs, swearwords, etc * add pinUtils-mixin - fixes #10682 (#10683) * chore(news): Bailey * chore(i18n): update locales * 4.60.5 * Improve rendering banner about sleeping in the inn See #10695 * Display settings in one column * Small Updates (#10701) * small updates * fix client unit test * fix uuid validation * Revert "Small Updates (#10701)" (#10702) This reverts commit |
||
|
|
f5e4e2150a | fix(tests): remove exclusive unit test | ||
|
|
6743dcb08a | fix(cors): expose rate limit headers to clients | ||
|
|
e7c8833c9a |
API v3 Rate Limiter (#12117)
* simplify ip address management by using the trust proxy express option * add setupExpress file * fix redirects middleware tests * fix lint * short circuit the ip blocking middleware * basic implementation with ip based limiting * improve logging * upgrade apidoc * apidoc: add introduction section * fix lint * fix tests * fix lint * add unit tests for rate limiter * do not send retry-after header when points are available * automatically fix lint * fix more lint issues * use userId as key for rate limit when available |
||
|
|
d861236f44 | fix(cors): allow authorization header | ||
|
|
3d5630d5a2 | chore: update sub-deps and fix lint | ||
|
|
9364cdc2b4 | fix(apple auth): do not try to parse name if it is missing, add query parameters to logs | ||
|
|
24e1bfdfba | add basic test, disable etag on post routes as well, paypal ipn: prevent set headers after response error | ||
|
|
e92ff9737a |
Automatically Logout Banned Users (#12037)
* wip * logout banned users, fix and refactor language library and middleware * req.locals -> res.locals * fix tests * redirect to login page |
||
|
|
9ab9b0f553 |
IP Blocking (#12015)
* start implementing an ip blocker * fix comments and add to list of middlewares * fix code, comment code and improve response * wip tests * fix order * fixes and tests |
||
|
|
c2a79e1d7c | fix tests | ||
|
|
85fb5f33aa | fix test lint | ||
|
|
d19b3857ee | fix unit tests | ||
|
|
eff8db0afd | fix issue with language being undefined, refactoring auth middleware, new tests | ||
|
|
6ea4d96830 | add extra condition to skip ssl check | ||
|
|
04a7fd25a6 | allow skipping SSL check with secret key (#10962) | ||
|
|
8be9964483 |
API v4 (WIP) (#10453)
API v4 |