habitica/website/server/libs/cron.js

550 lines
18 KiB
JavaScript
Raw Permalink Normal View History

API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
import moment from 'moment';
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
import mongoose from 'mongoose';
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
import nconf from 'nconf';
2019-10-08 14:57:10 +00:00
import { model as User } from '../models/user';
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
import * as Tasks from '../models/task';
import { model as Group } from '../models/group';
2019-10-08 14:57:10 +00:00
import common from '../../common';
import { preenUserHistory } from './preening';
import { revealMysteryItems } from './payments/subscriptions';
Improve Adminpanel with local logs (#15404) * log armoire, quoest response and cron events to history * show user history in admin panel * allow stats to be edited from admin panel * Improve admin panel stats input * improve setting client in history * fix tests * fix lint * fix armoire buying issue * Improve hero saving * Formatting fix * Improve user history logging * allow class to be changed from admin panel * make terminating subscriptions easier * support decimal extraMonths * Fix editing some achievements in admin panel * log if a user invites party to quest * Log more quest events into user history * make userhistory length configurable * fix some numbered achievements * fix extraMonths field * Automatically set up group plan subs with admin panel * show party info nicer in admin panel * improve admin panel sub handling * add missing brace * display when there are unsaved changes * fix setting group plan * fix showing group id * Display group plan info in admin panel * fix setting hourglass promo date * Improve termination handling in admin panel * reload data after certain save events in admin panel * remove console * fix plan.extraMonths not being reset if terminating a sub * add more options when cancelling subs * reload data after group plan change * Add a way to remove users from a party * fix issue with removing user from party * pass party id correctly * correctly call async function * Improve sub display in admin panel * fix line length * fix line * shorter * plaid * fix(lint): vue code style --------- Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-03-17 21:48:21 +00:00
import { model as UserHistory } from '../models/userHistory';
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
const CRON_SAFE_MODE = nconf.get('CRON_SAFE_MODE') === 'true';
const CRON_SEMI_SAFE_MODE = nconf.get('CRON_SEMI_SAFE_MODE') === 'true';
2019-10-08 14:57:10 +00:00
const { MAX_INCENTIVES } = common.constants;
const {
shouldDo,
i18n,
getPlanContext,
} = common;
2019-10-08 14:57:10 +00:00
const { scoreTask } = common.ops;
const { loginIncentives } = common.content;
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
function setIsDueNextDue (task, user, now) {
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
const optionsForShouldDo = {
dayStart: user.preferences.dayStart,
timezoneOffset: user.preferences.timezoneOffset,
};
task.isDue = common.shouldDo(now, task, optionsForShouldDo);
optionsForShouldDo.nextDue = true;
2019-10-08 14:57:10 +00:00
const nextDue = common.shouldDo(now, task, optionsForShouldDo);
if (nextDue && nextDue.length > 0) {
task.nextDue = nextDue.map(dueDate => dueDate.toISOString());
}
}
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
async function unlockUser (user) {
await User.updateOne({
_id: user._id,
}, {
_cronSignature: 'NOT_RUNNING',
}).exec();
}
async function grantEndOfTheMonthPerks (user, now) {
const { plan, elapsedMonths } = getPlanContext(user, now);
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
if (elapsedMonths > 0) {
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
plan.dateUpdated = now;
// Award mystery items
revealMysteryItems(user, elapsedMonths);
Squashed commit of the following: commit dd0a410fa6c3741dc0d6793283cf4df3c37790a5 Author: Kalista Payne <sabrecat@gmail.com> Date: Mon Nov 4 14:24:30 2024 -0600 fix(subs): center next hourglass message commit 72d92ffd76bb43fee8ba2bbabd211e595afbd664 Author: Kalista Payne <sabrecat@gmail.com> Date: Fri Nov 1 14:17:59 2024 -0500 fix(subs): don't hide HG preview entirely commit ea0ecb0c3d519ed3d5c42266367eaaa7283ac5de Author: Kalista Payne <sabrecat@gmail.com> Date: Fri Nov 1 13:01:06 2024 -0500 fix(subs): Google wording and HG escape commit 2bd2c69e18e37c8c8c7106c62f186c372d25c5d2 Author: Kalista Payne <sabrecat@gmail.com> Date: Fri Nov 1 09:25:30 2024 -0500 fix(layout): tighten cancellation note commit eb2fc40d241b18d4ffff04c35e744f05e6e9ff52 Author: Kalista Payne <sabrecat@gmail.com> Date: Thu Oct 24 15:41:43 2024 -0500 fix(g1g1): don't try to find Gems promo during bogo commit d3eea86bd773c5236e8a0f619639e49db846c2ba Author: Kalista Payne <sabrecat@gmail.com> Date: Thu Oct 24 15:00:09 2024 -0500 fix(subs): fix typeError commit e3ae9a2d6736f238c6aaaec37a5bf38d64afafe8 Author: Kalista Payne <sabrecat@gmail.com> Date: Thu Oct 24 13:57:27 2024 -0500 fix(subs): also redirect to subs after gift sub commit 690163a0dec3a45329062905c90454c7cd7c83fd Author: Phillip Thelen <phillip@habitica.com> Date: Wed Oct 23 16:42:38 2024 +0200 fix test commit 2ad7541fc0de429c152e6824f65d2b11b84a9809 Author: Phillip Thelen <phillip@habitica.com> Date: Wed Oct 23 16:34:52 2024 +0200 fix test commit 7e337a9e591f2e8b27684567290a70f1b2d58aa0 Author: Phillip Thelen <phillip@habitica.com> Date: Wed Oct 23 11:54:15 2024 +0200 remove only commit 7462b8a57f852ecfc52e74fb50d6cff1751bef74 Author: Phillip Thelen <phillip@habitica.com> Date: Wed Oct 23 11:51:25 2024 +0200 fix bug with incorrectly giving HG bonus commit acd6183e95a5783dfa29e6c2b142f965c3c67411 Author: Kalista Payne <sabrecat@gmail.com> Date: Mon Oct 21 17:22:26 2024 -0500 fix(subs): unhovery and un-12-monthy commit 935e9fd6ec2688ac7339c56ce0ff03bfdae30c77 Author: Kalista Payne <sabrecat@gmail.com> Date: Fri Oct 18 14:50:17 2024 -0500 fix(subs): try again on gifts commit 6e1fb7df38d90e5c3ccebee9bb86dbb8f8a4678f Author: Kalista Payne <sabrecat@gmail.com> Date: Thu Oct 17 18:19:20 2024 -0500 fix(lint): do negate object ig commit 71d434b94ea3b1a2c9381fd70f2e637473e00cac Author: Kalista Payne <sabrecat@gmail.com> Date: Thu Oct 17 18:15:11 2024 -0500 fix(lint): unnecessary ternary commit b90b0bb9c39b931714526a9d20910968b055038d Author: Kalista Payne <sabrecat@gmail.com> Date: Thu Oct 17 17:34:24 2024 -0500 fix(subs): gifts DON't renew commit 19469304c5a5881329ea1682e2070f9666d49ee4 Author: Kalista Payne <sabrecat@gmail.com> Date: Thu Oct 17 17:13:29 2024 -0500 fix(subs): pass autoRenews through Stripe commit 6819e7b7e518969c58ebab4400f3147f0ddea1b3 Author: Kalista Payne <sabrecat@gmail.com> Date: Thu Oct 17 16:03:25 2024 -0500 fix(subscriptions): minor visual updates commit 74633b5e5ea71d66681ad0e84873f3080ab5d361 Author: Kalista Payne <sabrecat@gmail.com> Date: Wed Oct 16 17:27:09 2024 -0500 fix(subscriptions): more gift layout revisions commit a90ccb89de36a85acc214bb0b88479e0b78f1660 Author: Kalista Payne <sabrecat@gmail.com> Date: Wed Oct 16 15:37:50 2024 -0500 fix(subscription): update layout when gifting commit c24b2db8dc6642669068f0a79d9b0990d43decb9 Author: Phillip Thelen <phillip@habitica.com> Date: Mon Oct 14 16:11:46 2024 +0200 fix issue with promo hourglasses commit 7a61c72b47cd3403fe0f3edf91522277738068cc Author: Phillip Thelen <phillip@habitica.com> Date: Mon Oct 14 15:59:40 2024 +0200 don’t give additional HG for new sub if they already got one this month commit f14cb090265ed830eb76c7f452e806257312370e Author: Phillip Thelen <phillip@habitica.com> Date: Mon Oct 14 10:38:01 2024 +0200 Admin panel display fixes commit f4cff698cfb80f9ad2da7ecb626f84277f97eb7c Author: Kalista Payne <sabrecat@gmail.com> Date: Thu Oct 3 17:58:59 2024 -0500 fix(stripe): correct redirect after success commit c468b58f3f783c58e9b48f9698b45473b526d3d4 Author: Kalista Payne <sabrecat@gmail.com> Date: Thu Oct 3 17:35:37 2024 -0500 fix(subs): correct border-radius and redirect commit 78fb9e31d64f25aa091e24f95f25dc6dedc844a6 Author: Kalista Payne <sabrecat@gmail.com> Date: Wed Oct 2 17:41:49 2024 -0500 fix(css): correct and refactor heights and selection states commit e2babe8053a778b64d51bd3d18866e69fb326a3c Author: Kalista Payne <sabrecat@gmail.com> Date: Mon Sep 30 16:45:29 2024 -0500 feat(subscription): max Gems progress readout commit 61af8302a349f70d60886492b3d4f05dd5463a51 Author: Phillip Thelen <phillip@habitica.com> Date: Fri Sep 27 15:11:22 2024 +0200 fix test commit ef8ff0ea9eebcbd682a34fd7f52722b92fdfae16 Author: Phillip Thelen <phillip@habitica.com> Date: Fri Sep 27 14:14:44 2024 +0200 show date for hourglass bonus if it was received commit 4bafafdc8d493aad960dcf0d4957d3dad2d5e8da Author: Phillip Thelen <phillip@habitica.com> Date: Fri Sep 27 14:12:52 2024 +0200 add new field for cumulative subscription count commit 30096247b73bdb76aa5b10dd4c964a78d2511e69 Author: Phillip Thelen <phillip@habitica.com> Date: Fri Sep 27 13:39:49 2024 +0200 fix missing transaction type commit 70872651b09613a8fe1a19ee2e19dac398b3134d Author: Phillip Thelen <phillip@habitica.com> Date: Fri Sep 27 13:31:40 2024 +0200 fix admin panel strings commit f3398db65f26db558f38ecce8fe4795ff73650cb Author: Kalista Payne <sabrecat@gmail.com> Date: Thu Sep 26 23:11:16 2024 -0500 WIP(subs): extant Stripe state commit c6b2020109b2cdbc7dd8579c884c65f81e757c25 Author: Phillip Thelen <phillip@habitica.com> Date: Thu Sep 26 11:41:55 2024 +0200 fix admin panel display commit d9afc96d2db8021db7e6310a009c15004ccc5c38 Author: Phillip Thelen <phillip@habitica.com> Date: Thu Sep 26 11:40:16 2024 +0200 Fix hourglass logic for upgrades commit 6e2c8eeb649481afc349e6eb7741bcc82909c3c4 Author: Phillip Thelen <phillip@habitica.com> Date: Wed Sep 25 17:48:54 2024 +0200 fix hourglass count commit cd752fbdce79f24bbdbaf6fd9558f207754c5cc3 Author: Kalista Payne <sabrecat@gmail.com> Date: Fri Sep 20 12:24:21 2024 -0500 WIP(frontend): draft of main subs page view commit 0102b29d599e47192d7346180ecd549c79177156 Author: Kalista Payne <sabe@habitica.com> Date: Wed Sep 18 15:29:08 2024 -0500 fix(admin): correct logic and style for shrimple subs commit 5469a5c5c3fddcf611018c1de077de3499df787a Author: Kalista Payne <sabe@habitica.com> Date: Wed Sep 18 15:07:36 2024 -0500 fix(test): short circuit this. commit 526193ee6c9d07915d0373d07bb8ee0554fe2614 Author: Phillip Thelen <phillip@habitica.com> Date: Wed Sep 18 14:42:06 2024 +0200 fix gem limit commit 19cf1636aa1371147ea92478485a653d612d9755 Author: Phillip Thelen <phillip@habitica.com> Date: Tue Aug 13 17:00:40 2024 +0200 return nextHourglassDate again commit eea36e3ed54633c345d628d1d3d08e03a3e416a3 Author: Phillip Thelen <phillip@habitica.com> Date: Tue Aug 13 13:11:22 2024 +0200 subscription test improvements commit ca78e7433031e79c61aba67235481e0b1c569a55 Author: Phillip Thelen <phillip@habitica.com> Date: Mon Aug 12 15:46:15 2024 +0200 add more subscription tests commit f4c4f93a081a89d4c79aec1e87dac97d90c1d587 Author: Phillip Thelen <phillip@habitica.com> Date: Fri Aug 9 13:35:22 2024 +0200 finish basic implementation of new logic commit e036742048b92c2e2f29724fb02462f117d91aea Author: Phillip Thelen <phillip@habitica.com> Date: Fri Aug 9 11:37:44 2024 +0200 cleanup commit 643186568866ddea0a234b68d37ad4ab634bd147 Author: Phillip Thelen <phillip@habitica.com> Date: Wed Aug 7 05:41:18 2024 -0400 update cron tests commit 930d875ae9d518b0b504ec97638e94c7296ad388 Author: Phillip Thelen <phillip@habitica.com> Date: Thu Aug 8 10:36:50 2024 +0200 begin refactoring commit 96623608d064b94cfa40e5da736f13c696995df9 Author: Phillip Thelen <phillip@habitica.com> Date: Tue Aug 6 16:28:16 2024 +0200 begin removing obsolete tests
2024-11-14 18:31:57 +00:00
plan.consecutive.count += elapsedMonths;
plan.cumulativeCount += elapsedMonths;
await plan.rewardPerks(user._id, elapsedMonths);
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
}
}
function removeTerminatedSubscription (user) {
2019-10-08 14:57:10 +00:00
const { plan } = user.purchased;
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
plan.planId = null;
plan.customerId = null;
plan.subscriptionId = null;
plan.paymentMethod = null;
plan.consecutive.count = 0;
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
Group plans subs to all (#8394) * Added subscriptions to all members when group subs * Added unsub when group cancels * Give user a subscription when they join a subbed group * Removed subscription when user leaves or is removed from group * Fixed linting issues: * Added tests for users with a subscription being upgraded to group plan * Added tests for checking if existing recurring user sub gets updated during group plan. Added better merging for plans * Added test for existing gift subscriptions * Added additional months to user when they have an existing recurring subscription and get upgraded to group sub * Adds test for user who has cancelled with date termined in the future * Added test to ensure date termined is reset * Added tests for extra months carrying over * Added test for gems bought field * Add tests to for fields that should remain when upgrading * Added test for all payment methods * Added prevention for when a user joins a second group plan * Fixed subscribing tests * Separated group plan payment tests * Added prevention of editing a user with a unlimited sub * Add tests to ensure group keeps plan if they are in two and leave one * Ensured users with two group plans do not get cancelled when on group plan is cancelled * Ensured users without group sub are untouched when group cancels * Fixed lint issues * Added new emails * Added fix for cron tests * Add restore to stubbed methods * Ensured cancelled group subscriptions are updated * Changed group plan exist check to check for date terminated * Updated you cannont delete active group message * Removed description requirement * Added upgrade group plan for Amazon payments * Fixed lint issues * Fixed broken tests * Fixed user delete tests * Fixed function calls * Hid cancel button if user has group plan * Hide difficulty from rewards * Prevented add user functions to be called when group plan is cancelled * Fixed merge issue * Correctly displayed group price * Added message when you are about to join canclled group plan * Fixed linting issues * Updated tests to have no redirect to homes * Allowed leaving a group with a canceld subscription * Fixed spelling issues * Prevented user from changing leader with active sub * Added payment details title to replace subscription title * Ensured we do not count leader when displaying upcoming cost * Prevented party tasks from being displayed twice * Prevented cancelling and already cancelled sub * Fixed styles of subscriptions * Added more specific mystery item tests * Fixed test to refer to leader * Extended test range to account for short months * Fixed merge conflicts * Updated yarn file * Added missing locales * Trigger notification * Removed yarn * Fixed locales * Fixed scope mispelling * Fixed line endings * Removed extra advanced options from rewards * Prevent group leader from leaving an active group plan * Fixed issue with extra months applied to cancelled group plan * Ensured member count is calculated when updatedGroupPlan * Updated amazon payment method constant name * Added comment to cancel sub user method * Fixed smantic issues * Added unite test for user isSubscribed and hasNotCancelled * Add tests for isSubscribed and hasNotCanceled * Changed default days remaining to 2 days for group plans * Fixed logic with adding canceled notice to group invite
2017-03-06 22:09:50 +00:00
user.markModified('purchased.plan');
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
}
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
function processHabits (user, habits, now, daysMissed) {
// check if we've passed a day on which we should reset the habit counters, including today
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
const nowMoment = moment(now)
.utcOffset(user.getUtcOffset() - user.preferences.dayStart * 60);
const thatDay = nowMoment.clone()
.subtract({ days: daysMissed });
const resetWeekly = nowMoment.isoWeek() !== thatDay.isoWeek();
const resetMonthly = nowMoment.month() !== thatDay.month();
habits.forEach(task => {
// reset counters if appropriate
let reset = false;
if (task.frequency === 'daily') {
reset = true;
} else if (task.frequency === 'weekly' && resetWeekly === true) {
reset = true;
} else if (task.frequency === 'monthly' && resetMonthly === true) {
reset = true;
}
if (reset === true) {
task.counterUp = 0;
task.counterDown = 0;
}
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
// slowly reset value to 0 for "onlies" (Habits with + or - but not both)
// move singleton Habits towards yellow.
if (task.up === false || task.down === false) {
task.value = Math.abs(task.value) < 0.1 ? 0 : task.value /= 2;
}
});
}
Login Incentives (#8230) * feat(incentives): login bennies WIP * feat(content): incentive prize content WIP * fix(content): placeholders pass tests * WIP(content): Bard instrument placeholder * feat(content): Incentives build * chore(sprites): compile and fix some strings * WIP(incentives): quests and backgrounds * fix(quests): correct buy/launch handling * [WIP] Incentives rewarding (#8226) * Added login incentive rewards * Updated incentive rewards * Added incentive modal and updated notification structure * Added analytics to sleeping * Added login incentives to user analytics * Fixed unit tests and ensured that prizes are incremented and not replaced * Updated style of daily login incentive modal * Added rewards modal * Added translations * Added loigin incentive ui elements to profile * Updated login incentives structure and abstracted to common.content * Added dynamic display for login incentives on profile * Added purple potion image * Updated daily login modal * Fixed progress calculation * Added bard gear * Updated login incentive rewards * Fixed styles and text * Added multiple read for notifications * Fixed lint issues * Fixed styles and added 50 limit * Updated quest keys * Added login incentives reward page * Fixed tests * Fixed linting and tests * Read named notifications route. Add image for backgrounds * Fixed style issues and added tranlsations to login incentive notification * Hided abiltiy to purchase incentive backgrounds and added message to detail how to unlock * Updated awarded message * Fixed text and updated progress counter to display better * Fixed purple potion reward text * Fixed check in backgrouns reward text * fix(quest): pass tests * Added display of multiple rewards * Updated modal styles * Fixed neagtive 50 issue * Remvoed total count from daily login incentives modal * Fixed magic paw display * fix(awards): give bunnies again * WIP(incentives): more progress on BG shop * fix(incentives): actually award backgrounds * fix(incentives): more BG fixy * fix(backgrounds): don't gem-buy checkin bgs * Added dust bunny notification * fix(incentives): don't redisplay bunny award * chore(news): Bailey and different promo sprite
2016-11-24 01:34:09 +00:00
function trackCronAnalytics (analytics, user, _progress, options) {
analytics.track('Cron', {
category: 'behavior',
gaLabel: 'Cron Count',
gaValue: user.flags.cronCount,
uuid: user._id,
user,
resting: user.preferences.sleep,
cronCount: user.flags.cronCount,
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
progressUp: Math.min(_progress.up, 900),
Login Incentives (#8230) * feat(incentives): login bennies WIP * feat(content): incentive prize content WIP * fix(content): placeholders pass tests * WIP(content): Bard instrument placeholder * feat(content): Incentives build * chore(sprites): compile and fix some strings * WIP(incentives): quests and backgrounds * fix(quests): correct buy/launch handling * [WIP] Incentives rewarding (#8226) * Added login incentive rewards * Updated incentive rewards * Added incentive modal and updated notification structure * Added analytics to sleeping * Added login incentives to user analytics * Fixed unit tests and ensured that prizes are incremented and not replaced * Updated style of daily login incentive modal * Added rewards modal * Added translations * Added loigin incentive ui elements to profile * Updated login incentives structure and abstracted to common.content * Added dynamic display for login incentives on profile * Added purple potion image * Updated daily login modal * Fixed progress calculation * Added bard gear * Updated login incentive rewards * Fixed styles and text * Added multiple read for notifications * Fixed lint issues * Fixed styles and added 50 limit * Updated quest keys * Added login incentives reward page * Fixed tests * Fixed linting and tests * Read named notifications route. Add image for backgrounds * Fixed style issues and added tranlsations to login incentive notification * Hided abiltiy to purchase incentive backgrounds and added message to detail how to unlock * Updated awarded message * Fixed text and updated progress counter to display better * Fixed purple potion reward text * Fixed check in backgrouns reward text * fix(quest): pass tests * Added display of multiple rewards * Updated modal styles * Fixed neagtive 50 issue * Remvoed total count from daily login incentives modal * Fixed magic paw display * fix(awards): give bunnies again * WIP(incentives): more progress on BG shop * fix(incentives): actually award backgrounds * fix(incentives): more BG fixy * fix(backgrounds): don't gem-buy checkin bgs * Added dust bunny notification * fix(incentives): don't redisplay bunny award * chore(news): Bailey and different promo sprite
2016-11-24 01:34:09 +00:00
progressDown: _progress.down,
headers: options.headers,
loginIncentives: user.loginIncentives,
});
if (
user.party && user.party.quest && !user.party.quest.RSVPNeeded
&& !user.party.quest.completed && user.party.quest.key && !user.preferences.sleep
) {
analytics.track('quest participation', {
category: 'behavior',
uuid: user._id,
user,
questName: user.party.quest.key,
headers: options.headers,
}, true);
}
Login Incentives (#8230) * feat(incentives): login bennies WIP * feat(content): incentive prize content WIP * fix(content): placeholders pass tests * WIP(content): Bard instrument placeholder * feat(content): Incentives build * chore(sprites): compile and fix some strings * WIP(incentives): quests and backgrounds * fix(quests): correct buy/launch handling * [WIP] Incentives rewarding (#8226) * Added login incentive rewards * Updated incentive rewards * Added incentive modal and updated notification structure * Added analytics to sleeping * Added login incentives to user analytics * Fixed unit tests and ensured that prizes are incremented and not replaced * Updated style of daily login incentive modal * Added rewards modal * Added translations * Added loigin incentive ui elements to profile * Updated login incentives structure and abstracted to common.content * Added dynamic display for login incentives on profile * Added purple potion image * Updated daily login modal * Fixed progress calculation * Added bard gear * Updated login incentive rewards * Fixed styles and text * Added multiple read for notifications * Fixed lint issues * Fixed styles and added 50 limit * Updated quest keys * Added login incentives reward page * Fixed tests * Fixed linting and tests * Read named notifications route. Add image for backgrounds * Fixed style issues and added tranlsations to login incentive notification * Hided abiltiy to purchase incentive backgrounds and added message to detail how to unlock * Updated awarded message * Fixed text and updated progress counter to display better * Fixed purple potion reward text * Fixed check in backgrouns reward text * fix(quest): pass tests * Added display of multiple rewards * Updated modal styles * Fixed neagtive 50 issue * Remvoed total count from daily login incentives modal * Fixed magic paw display * fix(awards): give bunnies again * WIP(incentives): more progress on BG shop * fix(incentives): actually award backgrounds * fix(incentives): more BG fixy * fix(backgrounds): don't gem-buy checkin bgs * Added dust bunny notification * fix(incentives): don't redisplay bunny award * chore(news): Bailey and different promo sprite
2016-11-24 01:34:09 +00:00
}
function awardLoginIncentives (user) {
if (user.loginIncentives > MAX_INCENTIVES) return;
2016-11-29 14:53:36 +00:00
// Remove old notifications if they exists
2018-02-04 12:28:05 +00:00
user.notifications.forEach((notif, index) => {
if (notif && notif.type === 'LOGIN_INCENTIVE') user.notifications.splice(index, 1);
});
2019-10-08 14:57:10 +00:00
const notificationData = {};
Login Incentives (#8230) * feat(incentives): login bennies WIP * feat(content): incentive prize content WIP * fix(content): placeholders pass tests * WIP(content): Bard instrument placeholder * feat(content): Incentives build * chore(sprites): compile and fix some strings * WIP(incentives): quests and backgrounds * fix(quests): correct buy/launch handling * [WIP] Incentives rewarding (#8226) * Added login incentive rewards * Updated incentive rewards * Added incentive modal and updated notification structure * Added analytics to sleeping * Added login incentives to user analytics * Fixed unit tests and ensured that prizes are incremented and not replaced * Updated style of daily login incentive modal * Added rewards modal * Added translations * Added loigin incentive ui elements to profile * Updated login incentives structure and abstracted to common.content * Added dynamic display for login incentives on profile * Added purple potion image * Updated daily login modal * Fixed progress calculation * Added bard gear * Updated login incentive rewards * Fixed styles and text * Added multiple read for notifications * Fixed lint issues * Fixed styles and added 50 limit * Updated quest keys * Added login incentives reward page * Fixed tests * Fixed linting and tests * Read named notifications route. Add image for backgrounds * Fixed style issues and added tranlsations to login incentive notification * Hided abiltiy to purchase incentive backgrounds and added message to detail how to unlock * Updated awarded message * Fixed text and updated progress counter to display better * Fixed purple potion reward text * Fixed check in backgrouns reward text * fix(quest): pass tests * Added display of multiple rewards * Updated modal styles * Fixed neagtive 50 issue * Remvoed total count from daily login incentives modal * Fixed magic paw display * fix(awards): give bunnies again * WIP(incentives): more progress on BG shop * fix(incentives): actually award backgrounds * fix(incentives): more BG fixy * fix(backgrounds): don't gem-buy checkin bgs * Added dust bunny notification * fix(incentives): don't redisplay bunny award * chore(news): Bailey and different promo sprite
2016-11-24 01:34:09 +00:00
notificationData.message = i18n.t('checkinEarned', user.preferences.language);
2019-10-08 14:57:10 +00:00
const loginIncentive = loginIncentives[user.loginIncentives];
Login Incentives (#8230) * feat(incentives): login bennies WIP * feat(content): incentive prize content WIP * fix(content): placeholders pass tests * WIP(content): Bard instrument placeholder * feat(content): Incentives build * chore(sprites): compile and fix some strings * WIP(incentives): quests and backgrounds * fix(quests): correct buy/launch handling * [WIP] Incentives rewarding (#8226) * Added login incentive rewards * Updated incentive rewards * Added incentive modal and updated notification structure * Added analytics to sleeping * Added login incentives to user analytics * Fixed unit tests and ensured that prizes are incremented and not replaced * Updated style of daily login incentive modal * Added rewards modal * Added translations * Added loigin incentive ui elements to profile * Updated login incentives structure and abstracted to common.content * Added dynamic display for login incentives on profile * Added purple potion image * Updated daily login modal * Fixed progress calculation * Added bard gear * Updated login incentive rewards * Fixed styles and text * Added multiple read for notifications * Fixed lint issues * Fixed styles and added 50 limit * Updated quest keys * Added login incentives reward page * Fixed tests * Fixed linting and tests * Read named notifications route. Add image for backgrounds * Fixed style issues and added tranlsations to login incentive notification * Hided abiltiy to purchase incentive backgrounds and added message to detail how to unlock * Updated awarded message * Fixed text and updated progress counter to display better * Fixed purple potion reward text * Fixed check in backgrouns reward text * fix(quest): pass tests * Added display of multiple rewards * Updated modal styles * Fixed neagtive 50 issue * Remvoed total count from daily login incentives modal * Fixed magic paw display * fix(awards): give bunnies again * WIP(incentives): more progress on BG shop * fix(incentives): actually award backgrounds * fix(incentives): more BG fixy * fix(backgrounds): don't gem-buy checkin bgs * Added dust bunny notification * fix(incentives): don't redisplay bunny award * chore(news): Bailey and different promo sprite
2016-11-24 01:34:09 +00:00
if (loginIncentive.rewardKey) {
loginIncentive.assignReward(user);
notificationData.reward = loginIncentive.reward;
notificationData.rewardText = '';
// @TODO: Abstract this logic and share it across the server and client
let count = 0;
2019-10-08 14:57:10 +00:00
for (const reward of loginIncentive.reward) {
Login Incentives (#8230) * feat(incentives): login bennies WIP * feat(content): incentive prize content WIP * fix(content): placeholders pass tests * WIP(content): Bard instrument placeholder * feat(content): Incentives build * chore(sprites): compile and fix some strings * WIP(incentives): quests and backgrounds * fix(quests): correct buy/launch handling * [WIP] Incentives rewarding (#8226) * Added login incentive rewards * Updated incentive rewards * Added incentive modal and updated notification structure * Added analytics to sleeping * Added login incentives to user analytics * Fixed unit tests and ensured that prizes are incremented and not replaced * Updated style of daily login incentive modal * Added rewards modal * Added translations * Added loigin incentive ui elements to profile * Updated login incentives structure and abstracted to common.content * Added dynamic display for login incentives on profile * Added purple potion image * Updated daily login modal * Fixed progress calculation * Added bard gear * Updated login incentive rewards * Fixed styles and text * Added multiple read for notifications * Fixed lint issues * Fixed styles and added 50 limit * Updated quest keys * Added login incentives reward page * Fixed tests * Fixed linting and tests * Read named notifications route. Add image for backgrounds * Fixed style issues and added tranlsations to login incentive notification * Hided abiltiy to purchase incentive backgrounds and added message to detail how to unlock * Updated awarded message * Fixed text and updated progress counter to display better * Fixed purple potion reward text * Fixed check in backgrouns reward text * fix(quest): pass tests * Added display of multiple rewards * Updated modal styles * Fixed neagtive 50 issue * Remvoed total count from daily login incentives modal * Fixed magic paw display * fix(awards): give bunnies again * WIP(incentives): more progress on BG shop * fix(incentives): actually award backgrounds * fix(incentives): more BG fixy * fix(backgrounds): don't gem-buy checkin bgs * Added dust bunny notification * fix(incentives): don't redisplay bunny award * chore(news): Bailey and different promo sprite
2016-11-24 01:34:09 +00:00
if (reward.text) {
notificationData.rewardText += reward.text(user.preferences.language);
if (reward.key === 'RoyalPurple') {
2019-10-08 14:57:10 +00:00
notificationData.rewardText = i18n.t('potion', { potionType: notificationData.rewardText }, user.preferences.language);
Login Incentives (#8230) * feat(incentives): login bennies WIP * feat(content): incentive prize content WIP * fix(content): placeholders pass tests * WIP(content): Bard instrument placeholder * feat(content): Incentives build * chore(sprites): compile and fix some strings * WIP(incentives): quests and backgrounds * fix(quests): correct buy/launch handling * [WIP] Incentives rewarding (#8226) * Added login incentive rewards * Updated incentive rewards * Added incentive modal and updated notification structure * Added analytics to sleeping * Added login incentives to user analytics * Fixed unit tests and ensured that prizes are incremented and not replaced * Updated style of daily login incentive modal * Added rewards modal * Added translations * Added loigin incentive ui elements to profile * Updated login incentives structure and abstracted to common.content * Added dynamic display for login incentives on profile * Added purple potion image * Updated daily login modal * Fixed progress calculation * Added bard gear * Updated login incentive rewards * Fixed styles and text * Added multiple read for notifications * Fixed lint issues * Fixed styles and added 50 limit * Updated quest keys * Added login incentives reward page * Fixed tests * Fixed linting and tests * Read named notifications route. Add image for backgrounds * Fixed style issues and added tranlsations to login incentive notification * Hided abiltiy to purchase incentive backgrounds and added message to detail how to unlock * Updated awarded message * Fixed text and updated progress counter to display better * Fixed purple potion reward text * Fixed check in backgrouns reward text * fix(quest): pass tests * Added display of multiple rewards * Updated modal styles * Fixed neagtive 50 issue * Remvoed total count from daily login incentives modal * Fixed magic paw display * fix(awards): give bunnies again * WIP(incentives): more progress on BG shop * fix(incentives): actually award backgrounds * fix(incentives): more BG fixy * fix(backgrounds): don't gem-buy checkin bgs * Added dust bunny notification * fix(incentives): don't redisplay bunny award * chore(news): Bailey and different promo sprite
2016-11-24 01:34:09 +00:00
}
} else if (loginIncentive.rewardKey[0] === 'background_blue') {
notificationData.rewardText = i18n.t('incentiveBackgrounds', user.preferences.language);
Login Incentives (#8230) * feat(incentives): login bennies WIP * feat(content): incentive prize content WIP * fix(content): placeholders pass tests * WIP(content): Bard instrument placeholder * feat(content): Incentives build * chore(sprites): compile and fix some strings * WIP(incentives): quests and backgrounds * fix(quests): correct buy/launch handling * [WIP] Incentives rewarding (#8226) * Added login incentive rewards * Updated incentive rewards * Added incentive modal and updated notification structure * Added analytics to sleeping * Added login incentives to user analytics * Fixed unit tests and ensured that prizes are incremented and not replaced * Updated style of daily login incentive modal * Added rewards modal * Added translations * Added loigin incentive ui elements to profile * Updated login incentives structure and abstracted to common.content * Added dynamic display for login incentives on profile * Added purple potion image * Updated daily login modal * Fixed progress calculation * Added bard gear * Updated login incentive rewards * Fixed styles and text * Added multiple read for notifications * Fixed lint issues * Fixed styles and added 50 limit * Updated quest keys * Added login incentives reward page * Fixed tests * Fixed linting and tests * Read named notifications route. Add image for backgrounds * Fixed style issues and added tranlsations to login incentive notification * Hided abiltiy to purchase incentive backgrounds and added message to detail how to unlock * Updated awarded message * Fixed text and updated progress counter to display better * Fixed purple potion reward text * Fixed check in backgrouns reward text * fix(quest): pass tests * Added display of multiple rewards * Updated modal styles * Fixed neagtive 50 issue * Remvoed total count from daily login incentives modal * Fixed magic paw display * fix(awards): give bunnies again * WIP(incentives): more progress on BG shop * fix(incentives): actually award backgrounds * fix(incentives): more BG fixy * fix(backgrounds): don't gem-buy checkin bgs * Added dust bunny notification * fix(incentives): don't redisplay bunny award * chore(news): Bailey and different promo sprite
2016-11-24 01:34:09 +00:00
}
if (loginIncentive.reward.length > 0 && count < loginIncentive.reward.length - 1) notificationData.rewardText += ', ';
count += 1;
}
// Overwrite notificationData.rewardText if rewardName was explicitly declared
if (loginIncentive.rewardName) {
notificationData.rewardText = i18n.t(loginIncentive.rewardName, user.preferences.language);
}
Login Incentives (#8230) * feat(incentives): login bennies WIP * feat(content): incentive prize content WIP * fix(content): placeholders pass tests * WIP(content): Bard instrument placeholder * feat(content): Incentives build * chore(sprites): compile and fix some strings * WIP(incentives): quests and backgrounds * fix(quests): correct buy/launch handling * [WIP] Incentives rewarding (#8226) * Added login incentive rewards * Updated incentive rewards * Added incentive modal and updated notification structure * Added analytics to sleeping * Added login incentives to user analytics * Fixed unit tests and ensured that prizes are incremented and not replaced * Updated style of daily login incentive modal * Added rewards modal * Added translations * Added loigin incentive ui elements to profile * Updated login incentives structure and abstracted to common.content * Added dynamic display for login incentives on profile * Added purple potion image * Updated daily login modal * Fixed progress calculation * Added bard gear * Updated login incentive rewards * Fixed styles and text * Added multiple read for notifications * Fixed lint issues * Fixed styles and added 50 limit * Updated quest keys * Added login incentives reward page * Fixed tests * Fixed linting and tests * Read named notifications route. Add image for backgrounds * Fixed style issues and added tranlsations to login incentive notification * Hided abiltiy to purchase incentive backgrounds and added message to detail how to unlock * Updated awarded message * Fixed text and updated progress counter to display better * Fixed purple potion reward text * Fixed check in backgrouns reward text * fix(quest): pass tests * Added display of multiple rewards * Updated modal styles * Fixed neagtive 50 issue * Remvoed total count from daily login incentives modal * Fixed magic paw display * fix(awards): give bunnies again * WIP(incentives): more progress on BG shop * fix(incentives): actually award backgrounds * fix(incentives): more BG fixy * fix(backgrounds): don't gem-buy checkin bgs * Added dust bunny notification * fix(incentives): don't redisplay bunny award * chore(news): Bailey and different promo sprite
2016-11-24 01:34:09 +00:00
notificationData.rewardKey = loginIncentive.rewardKey;
notificationData.message = i18n.t('unlockedCheckInReward', user.preferences.language);
}
notificationData.nextRewardAt = loginIncentives[user.loginIncentives].nextRewardAt || 0;
Login Incentives (#8230) * feat(incentives): login bennies WIP * feat(content): incentive prize content WIP * fix(content): placeholders pass tests * WIP(content): Bard instrument placeholder * feat(content): Incentives build * chore(sprites): compile and fix some strings * WIP(incentives): quests and backgrounds * fix(quests): correct buy/launch handling * [WIP] Incentives rewarding (#8226) * Added login incentive rewards * Updated incentive rewards * Added incentive modal and updated notification structure * Added analytics to sleeping * Added login incentives to user analytics * Fixed unit tests and ensured that prizes are incremented and not replaced * Updated style of daily login incentive modal * Added rewards modal * Added translations * Added loigin incentive ui elements to profile * Updated login incentives structure and abstracted to common.content * Added dynamic display for login incentives on profile * Added purple potion image * Updated daily login modal * Fixed progress calculation * Added bard gear * Updated login incentive rewards * Fixed styles and text * Added multiple read for notifications * Fixed lint issues * Fixed styles and added 50 limit * Updated quest keys * Added login incentives reward page * Fixed tests * Fixed linting and tests * Read named notifications route. Add image for backgrounds * Fixed style issues and added tranlsations to login incentive notification * Hided abiltiy to purchase incentive backgrounds and added message to detail how to unlock * Updated awarded message * Fixed text and updated progress counter to display better * Fixed purple potion reward text * Fixed check in backgrouns reward text * fix(quest): pass tests * Added display of multiple rewards * Updated modal styles * Fixed neagtive 50 issue * Remvoed total count from daily login incentives modal * Fixed magic paw display * fix(awards): give bunnies again * WIP(incentives): more progress on BG shop * fix(incentives): actually award backgrounds * fix(incentives): more BG fixy * fix(backgrounds): don't gem-buy checkin bgs * Added dust bunny notification * fix(incentives): don't redisplay bunny award * chore(news): Bailey and different promo sprite
2016-11-24 01:34:09 +00:00
user.addNotification('LOGIN_INCENTIVE', notificationData);
}
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
// Perform various beginning-of-day reset actions.
export async function cron (options = {}) {
2019-10-08 14:57:10 +00:00
const {
user, tasksByType, analytics, now = new Date(), daysMissed, timezoneUtcOffsetFromUserPrefs,
2019-10-08 14:57:10 +00:00
} = options;
let _progress = { down: 0, up: 0, collectedItems: 0 };
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
user.preferences.timezoneOffsetAtLastCron = -timezoneUtcOffsetFromUserPrefs;
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
// User is only allowed a certain number of drops a day. This resets the count.
if (user.items.lastDrop.count > 0) user.items.lastDrop.count = 0;
// "Perfect Day" achievement for perfect days
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
let perfect = true;
// Reset Gold-to-Gems cap if it's the start of the month
2019-10-08 14:57:10 +00:00
const dateUpdatedFalse = !moment(user.purchased.plan.dateUpdated).startOf('month').isSame(moment().startOf('month')) || !user.purchased.plan.dateUpdated;
if (user.purchased && user.purchased.plan && dateUpdatedFalse) {
user.purchased.plan.gemsBought = 0;
if (!user.purchased.plan.dateUpdated) user.purchased.plan.dateUpdated = moment();
}
Group plans subs to all (#8394) * Added subscriptions to all members when group subs * Added unsub when group cancels * Give user a subscription when they join a subbed group * Removed subscription when user leaves or is removed from group * Fixed linting issues: * Added tests for users with a subscription being upgraded to group plan * Added tests for checking if existing recurring user sub gets updated during group plan. Added better merging for plans * Added test for existing gift subscriptions * Added additional months to user when they have an existing recurring subscription and get upgraded to group sub * Adds test for user who has cancelled with date termined in the future * Added test to ensure date termined is reset * Added tests for extra months carrying over * Added test for gems bought field * Add tests to for fields that should remain when upgrading * Added test for all payment methods * Added prevention for when a user joins a second group plan * Fixed subscribing tests * Separated group plan payment tests * Added prevention of editing a user with a unlimited sub * Add tests to ensure group keeps plan if they are in two and leave one * Ensured users with two group plans do not get cancelled when on group plan is cancelled * Ensured users without group sub are untouched when group cancels * Fixed lint issues * Added new emails * Added fix for cron tests * Add restore to stubbed methods * Ensured cancelled group subscriptions are updated * Changed group plan exist check to check for date terminated * Updated you cannont delete active group message * Removed description requirement * Added upgrade group plan for Amazon payments * Fixed lint issues * Fixed broken tests * Fixed user delete tests * Fixed function calls * Hid cancel button if user has group plan * Hide difficulty from rewards * Prevented add user functions to be called when group plan is cancelled * Fixed merge issue * Correctly displayed group price * Added message when you are about to join canclled group plan * Fixed linting issues * Updated tests to have no redirect to homes * Allowed leaving a group with a canceld subscription * Fixed spelling issues * Prevented user from changing leader with active sub * Added payment details title to replace subscription title * Ensured we do not count leader when displaying upcoming cost * Prevented party tasks from being displayed twice * Prevented cancelling and already cancelled sub * Fixed styles of subscriptions * Added more specific mystery item tests * Fixed test to refer to leader * Extended test range to account for short months * Fixed merge conflicts * Updated yarn file * Added missing locales * Trigger notification * Removed yarn * Fixed locales * Fixed scope mispelling * Fixed line endings * Removed extra advanced options from rewards * Prevent group leader from leaving an active group plan * Fixed issue with extra months applied to cancelled group plan * Ensured member count is calculated when updatedGroupPlan * Updated amazon payment method constant name * Added comment to cancel sub user method * Fixed smantic issues * Added unite test for user isSubscribed and hasNotCancelled * Add tests for isSubscribed and hasNotCanceled * Changed default days remaining to 2 days for group plans * Fixed logic with adding canceled notice to group invite
2017-03-06 22:09:50 +00:00
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
if (user.isSubscribed()) {
await grantEndOfTheMonthPerks(user, now);
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
}
2019-10-08 14:57:10 +00:00
const { plan } = user.purchased;
const userHasTerminatedSubscription = plan.dateTerminated
&& moment(plan.dateTerminated).isBefore(new Date());
Group plans subs to all (#8394) * Added subscriptions to all members when group subs * Added unsub when group cancels * Give user a subscription when they join a subbed group * Removed subscription when user leaves or is removed from group * Fixed linting issues: * Added tests for users with a subscription being upgraded to group plan * Added tests for checking if existing recurring user sub gets updated during group plan. Added better merging for plans * Added test for existing gift subscriptions * Added additional months to user when they have an existing recurring subscription and get upgraded to group sub * Adds test for user who has cancelled with date termined in the future * Added test to ensure date termined is reset * Added tests for extra months carrying over * Added test for gems bought field * Add tests to for fields that should remain when upgrading * Added test for all payment methods * Added prevention for when a user joins a second group plan * Fixed subscribing tests * Separated group plan payment tests * Added prevention of editing a user with a unlimited sub * Add tests to ensure group keeps plan if they are in two and leave one * Ensured users with two group plans do not get cancelled when on group plan is cancelled * Ensured users without group sub are untouched when group cancels * Fixed lint issues * Added new emails * Added fix for cron tests * Add restore to stubbed methods * Ensured cancelled group subscriptions are updated * Changed group plan exist check to check for date terminated * Updated you cannont delete active group message * Removed description requirement * Added upgrade group plan for Amazon payments * Fixed lint issues * Fixed broken tests * Fixed user delete tests * Fixed function calls * Hid cancel button if user has group plan * Hide difficulty from rewards * Prevented add user functions to be called when group plan is cancelled * Fixed merge issue * Correctly displayed group price * Added message when you are about to join canclled group plan * Fixed linting issues * Updated tests to have no redirect to homes * Allowed leaving a group with a canceld subscription * Fixed spelling issues * Prevented user from changing leader with active sub * Added payment details title to replace subscription title * Ensured we do not count leader when displaying upcoming cost * Prevented party tasks from being displayed twice * Prevented cancelling and already cancelled sub * Fixed styles of subscriptions * Added more specific mystery item tests * Fixed test to refer to leader * Extended test range to account for short months * Fixed merge conflicts * Updated yarn file * Added missing locales * Trigger notification * Removed yarn * Fixed locales * Fixed scope mispelling * Fixed line endings * Removed extra advanced options from rewards * Prevent group leader from leaving an active group plan * Fixed issue with extra months applied to cancelled group plan * Ensured member count is calculated when updatedGroupPlan * Updated amazon payment method constant name * Added comment to cancel sub user method * Fixed smantic issues * Added unite test for user isSubscribed and hasNotCancelled * Add tests for isSubscribed and hasNotCanceled * Changed default days remaining to 2 days for group plans * Fixed logic with adding canceled notice to group invite
2017-03-06 22:09:50 +00:00
if (!CRON_SAFE_MODE && userHasTerminatedSubscription) removeTerminatedSubscription(user);
Login Incentives (#8230) * feat(incentives): login bennies WIP * feat(content): incentive prize content WIP * fix(content): placeholders pass tests * WIP(content): Bard instrument placeholder * feat(content): Incentives build * chore(sprites): compile and fix some strings * WIP(incentives): quests and backgrounds * fix(quests): correct buy/launch handling * [WIP] Incentives rewarding (#8226) * Added login incentive rewards * Updated incentive rewards * Added incentive modal and updated notification structure * Added analytics to sleeping * Added login incentives to user analytics * Fixed unit tests and ensured that prizes are incremented and not replaced * Updated style of daily login incentive modal * Added rewards modal * Added translations * Added loigin incentive ui elements to profile * Updated login incentives structure and abstracted to common.content * Added dynamic display for login incentives on profile * Added purple potion image * Updated daily login modal * Fixed progress calculation * Added bard gear * Updated login incentive rewards * Fixed styles and text * Added multiple read for notifications * Fixed lint issues * Fixed styles and added 50 limit * Updated quest keys * Added login incentives reward page * Fixed tests * Fixed linting and tests * Read named notifications route. Add image for backgrounds * Fixed style issues and added tranlsations to login incentive notification * Hided abiltiy to purchase incentive backgrounds and added message to detail how to unlock * Updated awarded message * Fixed text and updated progress counter to display better * Fixed purple potion reward text * Fixed check in backgrouns reward text * fix(quest): pass tests * Added display of multiple rewards * Updated modal styles * Fixed neagtive 50 issue * Remvoed total count from daily login incentives modal * Fixed magic paw display * fix(awards): give bunnies again * WIP(incentives): more progress on BG shop * fix(incentives): actually award backgrounds * fix(incentives): more BG fixy * fix(backgrounds): don't gem-buy checkin bgs * Added dust bunny notification * fix(incentives): don't redisplay bunny award * chore(news): Bailey and different promo sprite
2016-11-24 01:34:09 +00:00
// Login Incentives
user.loginIncentives += 1;
Login Incentives (#8230) * feat(incentives): login bennies WIP * feat(content): incentive prize content WIP * fix(content): placeholders pass tests * WIP(content): Bard instrument placeholder * feat(content): Incentives build * chore(sprites): compile and fix some strings * WIP(incentives): quests and backgrounds * fix(quests): correct buy/launch handling * [WIP] Incentives rewarding (#8226) * Added login incentive rewards * Updated incentive rewards * Added incentive modal and updated notification structure * Added analytics to sleeping * Added login incentives to user analytics * Fixed unit tests and ensured that prizes are incremented and not replaced * Updated style of daily login incentive modal * Added rewards modal * Added translations * Added loigin incentive ui elements to profile * Updated login incentives structure and abstracted to common.content * Added dynamic display for login incentives on profile * Added purple potion image * Updated daily login modal * Fixed progress calculation * Added bard gear * Updated login incentive rewards * Fixed styles and text * Added multiple read for notifications * Fixed lint issues * Fixed styles and added 50 limit * Updated quest keys * Added login incentives reward page * Fixed tests * Fixed linting and tests * Read named notifications route. Add image for backgrounds * Fixed style issues and added tranlsations to login incentive notification * Hided abiltiy to purchase incentive backgrounds and added message to detail how to unlock * Updated awarded message * Fixed text and updated progress counter to display better * Fixed purple potion reward text * Fixed check in backgrouns reward text * fix(quest): pass tests * Added display of multiple rewards * Updated modal styles * Fixed neagtive 50 issue * Remvoed total count from daily login incentives modal * Fixed magic paw display * fix(awards): give bunnies again * WIP(incentives): more progress on BG shop * fix(incentives): actually award backgrounds * fix(incentives): more BG fixy * fix(backgrounds): don't gem-buy checkin bgs * Added dust bunny notification * fix(incentives): don't redisplay bunny award * chore(news): Bailey and different promo sprite
2016-11-24 01:34:09 +00:00
awardLoginIncentives(user);
2019-10-08 14:57:10 +00:00
const multiDaysCountAsOneDay = true;
// If the user does not log in for two or more days,
// cron (mostly) acts as if it were only one day.
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
// When site-wide difficulty settings are introduced, this can be a user preference option.
let todoTally = 0;
// make uncompleted To Do's redder (further incentive to complete them)
tasksByType.todos.forEach(task => {
if (
task.completed
|| (task.group.assignedDate
&& moment(task.group.assignedDate).isAfter(user.auth.timestamps.updated))
) return;
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
scoreTask({
task,
user,
direction: 'down',
cron: true,
times: multiDaysCountAsOneDay ? 1 : daysMissed,
});
todoTally += task.value;
});
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
user.history.todos.push({ date: now.toISOString(), value: todoTally });
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
// For incomplete Dailys, add value (further incentive),
// deduct health, keep records for later decreasing the nightly mana gain.
// The negative effects are not done when resting in the inn.
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
let dailyChecked = 0; // how many dailies were checked?
let dailyDueUnchecked = 0; // how many dailies were un-checked?
let atLeastOneDailyDue = false; // were any dailies due?
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
if (!user.party.quest.progress.down) user.party.quest.progress.down = 0;
2019-10-08 14:57:10 +00:00
tasksByType.dailys.forEach(task => {
const isTeamBoardTask = task.group.id && !task.userId;
if (
!isTeamBoardTask && task.group.assignedDate
&& moment(task.group.assignedDate).isAfter(user.auth.timestamps.updated)
) return;
2019-10-08 14:57:10 +00:00
const { completed } = task;
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
// Deduct points for missed Daily tasks
let evadeTask = 0;
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
let scheduleMisses = 0;
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
if (completed) {
if (!isTeamBoardTask) dailyChecked += 1;
if (!atLeastOneDailyDue) { // only bother checking until the first thing is found
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
atLeastOneDailyDue = task.isDue;
}
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
} else {
// dailys repeat, so need to calculate how many they've missed according to their own schedule
for (let i = 0; i < daysMissed; i += 1) {
2019-10-08 14:57:10 +00:00
const thatDay = moment(now).subtract({ days: i + 1 });
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
if (shouldDo(thatDay.toDate(), task, user.preferences)) {
atLeastOneDailyDue = true;
scheduleMisses += 1;
if (user.stats.buffs.stealth && !isTeamBoardTask) {
user.stats.buffs.stealth -= 1;
evadeTask += 1;
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
}
}
if (multiDaysCountAsOneDay) break;
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
}
if (scheduleMisses > evadeTask) {
// The user did not complete this due Daily
// (but no penalty if cron is running in safe mode).
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
if (CRON_SAFE_MODE) {
dailyChecked += 1; // allows full allotment of mp to be gained
} else {
perfect = false;
// Partially completed checklists dock fewer mana points
if (task.checklist && task.checklist.length > 0) {
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
const completedItems = task.checklist.filter(i => i.completed).length;
const fractionChecked = completedItems / task.checklist.length;
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
dailyDueUnchecked += 1 - fractionChecked;
dailyChecked += fractionChecked;
} else {
dailyDueUnchecked += 1;
}
if (!user.preferences.sleep) {
2019-10-08 14:57:10 +00:00
const delta = scoreTask({
user,
task,
direction: 'down',
times: multiDaysCountAsOneDay ? 1 : scheduleMisses - evadeTask,
cron: true,
});
if (!CRON_SEMI_SAFE_MODE) {
// Apply damage from a boss, less damage for Trivial priority (difficulty)
user.party.quest.progress.down += delta * (task.priority < 1 ? task.priority : 1);
// NB: Medium and Hard priorities do not increase damage from boss.
// This was by accident
// initially, and when we realised, we could not fix it because users are used to
// their Medium and Hard Dailies doing an Easy amount of damage from boss.
// Easy is task.priority = 1. Anything < 1 will be Trivial (0.1) or any future
// setting between Trivial and Easy.
}
}
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
}
}
// add history entry when task was not completed
task.history.push({
date: Number(new Date()),
value: task.value,
isDue: task.isDue,
completed: false,
});
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
}
task.completed = false;
setIsDueNextDue(task, user, now);
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
if (completed || scheduleMisses > 0) {
if (task.checklist) {
task.checklist.forEach(i => { i.completed = false; });
}
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
}
});
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
processHabits(user, tasksByType.habits, now, daysMissed);
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
// tally experience
let expTally = user.stats.exp;
let lvl = 0; // iterator
while (lvl < user.stats.lvl - 1) {
lvl += 1;
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
expTally += common.tnl(lvl);
}
user.history.exp.push({ date: now.toISOString(), value: expTally });
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
2017-10-26 15:37:51 +00:00
// Remove any remaining completed todos from the list of active todos
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
const incompleteTodoIds = tasksByType.todos.filter(task => !task.completed).map(task => task._id);
user.tasksOrder.todos = user.tasksOrder.todos
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
.filter(taskOrderId => incompleteTodoIds.includes(taskOrderId));
// TODO also adjust tasksOrder arrays to remove deleted tasks of any kind (including rewards), ensure that all existing tasks are in the arrays, no tasks IDs are duplicated -- https://github.com/HabitRPG/habitica/issues/7645
2017-10-26 15:37:51 +00:00
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
// preen user history so that it doesn't become a performance problem
// also for subscribed users but differently
Misc. bug fixes from lgtm.com (2) (#9474) * Remove dead branch of ternary: `gift` is always truthy here Problem found here: - https://lgtm.com/projects/g/HabitRPG/habitrpg/snapshot/dist-98076885-1510577633582/files/website/server/libs/amazonPayments.js?sort=name&dir=ASC&mode=heatmap&excluded=false#x5a22f31110a55091:1 * Remove superfluous argument, preenUserHistory only takes two args Problem found here: - https://lgtm.com/projects/g/HabitRPG/habitrpg/snapshot/dist-98076885-1510577633582/files/website/server/libs/cron.js?sort=name&dir=ASC&mode=heatmap&excluded=false#xf16a045ecabb07f6:1 * Cleanup: remove useless assignments Problems found here: - https://lgtm.com/projects/g/HabitRPG/habitrpg/snapshot/dist-98076885-1510577633582/files/website/client/store/actions/shops.js?sort=name&dir=ASC&mode=heatmap&excluded=false#xf782ed2cf920441%3A1 - https://lgtm.com/projects/g/HabitRPG/habitrpg/snapshot/dist-98076885-1510577633582/files/website/client/app.vue?sort=name&dir=ASC&mode=heatmap&excluded=false#x172c1dda85e84dc8%3A1 - https://lgtm.com/projects/g/HabitRPG/habitrpg/snapshot/dist-98076885-1510577633582/files/website/client/components/settings/site.vue#x9b3afee802a3a8f8%3A1 - https://lgtm.com/projects/g/HabitRPG/habitrpg/snapshot/dist-98076885-1510577633582/files/website/client/components/selectMembersModal.vue?sort=name&dir=ASC&mode=heatmap&excluded=false#x1fbc2a3d62facd70:1 - https://lgtm.com/projects/g/HabitRPG/habitrpg/snapshot/dist-98076885-1510577633582/files/website/common/script/libs/taskClasses.js?sort=name&dir=ASC&mode=heatmap&excluded=false#x41ce0e121a4defee:1 * Fix online editor whitespace change.
2017-11-28 01:51:25 +00:00
preenUserHistory(user, tasksByType);
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
if (perfect && atLeastOneDailyDue) {
user.achievements.perfect += 1;
2019-10-08 14:57:10 +00:00
const lvlDiv2 = Math.ceil(common.capByLevel(user.stats.lvl) / 2);
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
user.stats.buffs = {
str: lvlDiv2,
int: lvlDiv2,
per: lvlDiv2,
con: lvlDiv2,
stealth: 0,
streaks: false,
};
} else {
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
user.stats.buffs = {
str: 0,
int: 0,
per: 0,
con: 0,
stealth: 0,
streaks: false,
};
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
}
common.setDebuffPotionItems(user);
// Add 10 MP, or 10% of max MP if that'd be more.
// Perform this after Perfect Day for maximum benefit
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
// Adjust for fraction of dailies completed
if (!user.preferences.sleep) {
if (dailyDueUnchecked === 0 && dailyChecked === 0) dailyChecked = 1;
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
const { maxMP } = common.statsComputed(user);
user.stats.mp += (Math.max(10, 0.1 * maxMP) * dailyChecked) / (dailyDueUnchecked + dailyChecked); // eslint-disable-line max-len
if (user.stats.mp > maxMP) {
user.stats.mp = maxMP;
}
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
// After all is said and done,
// progress up user's effect on quest, return those values & reset the user's
2019-10-08 14:57:10 +00:00
const { progress } = user.party.quest;
_progress = progress.toObject(); // clone the old progress object
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
progress.down = 0;
progress.up = 0;
progress.collectedItems = 0;
}
if (user.pinnedItems && user.pinnedItems.length > 0) {
2024-04-26 11:44:51 +00:00
user.pinnedItems = common.cleanupPinnedItems(user);
}
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
// Analytics
user.flags.cronCount += 1;
Login Incentives (#8230) * feat(incentives): login bennies WIP * feat(content): incentive prize content WIP * fix(content): placeholders pass tests * WIP(content): Bard instrument placeholder * feat(content): Incentives build * chore(sprites): compile and fix some strings * WIP(incentives): quests and backgrounds * fix(quests): correct buy/launch handling * [WIP] Incentives rewarding (#8226) * Added login incentive rewards * Updated incentive rewards * Added incentive modal and updated notification structure * Added analytics to sleeping * Added login incentives to user analytics * Fixed unit tests and ensured that prizes are incremented and not replaced * Updated style of daily login incentive modal * Added rewards modal * Added translations * Added loigin incentive ui elements to profile * Updated login incentives structure and abstracted to common.content * Added dynamic display for login incentives on profile * Added purple potion image * Updated daily login modal * Fixed progress calculation * Added bard gear * Updated login incentive rewards * Fixed styles and text * Added multiple read for notifications * Fixed lint issues * Fixed styles and added 50 limit * Updated quest keys * Added login incentives reward page * Fixed tests * Fixed linting and tests * Read named notifications route. Add image for backgrounds * Fixed style issues and added tranlsations to login incentive notification * Hided abiltiy to purchase incentive backgrounds and added message to detail how to unlock * Updated awarded message * Fixed text and updated progress counter to display better * Fixed purple potion reward text * Fixed check in backgrouns reward text * fix(quest): pass tests * Added display of multiple rewards * Updated modal styles * Fixed neagtive 50 issue * Remvoed total count from daily login incentives modal * Fixed magic paw display * fix(awards): give bunnies again * WIP(incentives): more progress on BG shop * fix(incentives): actually award backgrounds * fix(incentives): more BG fixy * fix(backgrounds): don't gem-buy checkin bgs * Added dust bunny notification * fix(incentives): don't redisplay bunny award * chore(news): Bailey and different promo sprite
2016-11-24 01:34:09 +00:00
trackCronAnalytics(analytics, user, _progress, options);
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
Improve Adminpanel with local logs (#15404) * log armoire, quoest response and cron events to history * show user history in admin panel * allow stats to be edited from admin panel * Improve admin panel stats input * improve setting client in history * fix tests * fix lint * fix armoire buying issue * Improve hero saving * Formatting fix * Improve user history logging * allow class to be changed from admin panel * make terminating subscriptions easier * support decimal extraMonths * Fix editing some achievements in admin panel * log if a user invites party to quest * Log more quest events into user history * make userhistory length configurable * fix some numbered achievements * fix extraMonths field * Automatically set up group plan subs with admin panel * show party info nicer in admin panel * improve admin panel sub handling * add missing brace * display when there are unsaved changes * fix setting group plan * fix showing group id * Display group plan info in admin panel * fix setting hourglass promo date * Improve termination handling in admin panel * reload data after certain save events in admin panel * remove console * fix plan.extraMonths not being reset if terminating a sub * add more options when cancelling subs * reload data after group plan change * Add a way to remove users from a party * fix issue with removing user from party * pass party id correctly * correctly call async function * Improve sub display in admin panel * fix line length * fix line * shorter * plaid * fix(lint): vue code style --------- Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-03-17 21:48:21 +00:00
await UserHistory.beginUserHistoryUpdate(user._id, options.headers)
.withCron(user.flags.cronCount)
.commit();
API v3 [WIP] (#6144) * Fixed more tests * Added tags into user service * Added api-v3 auth urls * v3: fix package.json * v3: fix package.json * Fixed auth tests. Updated Authctrl response * v3: remove newrelic config file in favour of env variables * v3: upgrade some deps * switch from Q to Bluebird * v3 fix tests with deferred * Removed extra consoles.log. Changed data.data to res.data * v3 fix tests and use coroutines instead of regenerator * v3: fix tests * v3: do not await a non promise * v3: q -> bluebird * Changed id param for registration response * Updated party query and create * Ensured login callback happens after user sync * Add challenges to groups. Fixed isMemberOfGuild check * Updated party and group tests * Fixed cron test * return user.id and send analytics event before changing page * fix trailing spaces * disable redirects * Api v3 party tavern fixes (#7191) * Added check if user is in party before query * Cached party query. Prevented party request when user is not in party. Updated Party create with no invites * Update tavern ctrl to use new promise * v3: misc fixes * Api v3 task fixes (#7193) * Update task view to use _id * Added try catch to user service ops calls * v3 client: saving after syncing is complete * Fixed test broken by part sync change (#7195) * v3: fix todo scoring and try to fix production testing problem * revert changes to mongoose config * mongoose: increase keepAlive * test mongoose fix * fix: Only apply captureStackTrace if it exists on the error object * v3: fix reminders with no startDate * mongoose: use options * chore(): rename website/src -> website/server and website/public -> website/client (#7199) * v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203) * [API v3] Fix calls to user.ops and deleting tags (#7204) * v3: fixes calls to user.ops from views and deleting tags * v3: fix tests that use user._statsComputed * Api v3 fixes continued (#7205) * Added timzeone offset back * Added APIToken back to settings page * Fixed fetch recent messages for party * Fixed returning group description * Fixed check if user is member of challenge * Fixed party members appearing in header * Updated get myGroups param to include public groups. Fixed isMemberOf group * Fixed hourglass purchase * Fixed challenge addding tasks on first creating * Updated tests to accomidate new changes * fix: Correct checklist on client Closes #7207 * fix: Pin eslint to 2.9 * minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions * fix: Add missing type param to equip call closes #7212 * rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges * allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227 * fix tests for /members/transfer-gems * fix: Set gems sent notification as translatable string * chore: Remove unusued variable * fix: Remove requirement on message paramter in transfer-gems * add a missing variable declaration * chore: clarify comments on cron code * fix: Correct client request from habitrpg -> tavern * update apidoc URL in package.json Closes #7222 * Fixed start party by invites * Updated spell casting to v3 * Fixed adding and removing tags on tasks * Fixed page reload on settings change * Fixed battle monsters with friends button * Loaded completed todos when done is clicked * chore: Reinstate floating version number for eslint babel-eslint regression fixed * Fixed reload tests * change "an user" to "a user" in comments and text (no code changes) (#7257) * fix: Alert user that drops were recieved * remove userServices.js from karma.conf - it's been moved to website/client/js/services * feat: Create debug update user route * fix: Correct set cron debug function * feat: Add make admin button to debug menu * lint: Add missing semicolons in test * fix: Temporarilly comment out udpate user debug route * v3: fix _tmp for crit and streakBonus * v3: execute all actions when leaving a solo party * v3 client: fix group not found when leaving party * v3 migration: fix challenge prize * v3 cron: only save modified tasks * v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons * v3: fix tasks chart * v3 client: fix ability to leave challenge * v3 client: fix filtering by tag and correctly show tag tooltip * v3 common: fix tags tests * v3 client: support unlinking not found challenges tasks * v3: disable Bluebird warning for missing return, fixes #7269 * feat: Separate out update-user into set-cron and make-admin debug routes * chore: Disable make admin debug route for v3 prod testing * v3: misc fixes * v3: misc fixes * v3: fix adding multiple tasks * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * v3 client: fix casting spells * v3: do not log sensitive data * v3: always save user when casting spell * v3: always save user when casting spell * v3: more fixes for spells * fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282) * v3: add TODO for client side spells * feat: Add modify inventory debug menu * Fixed viewing user progress on challenge * Updated tests * fix: Fix quest progress button * fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion * v3: fix stealth casting * v3: fix tasks saving and selection for rebirth reroll and reset (server-only) * v3: fix auto allocation * v3 client: misc fixes * rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error * Added delete for saved challenge task * Fixed member modal on front page * adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298) * fix bug in Rebirth test, add new tests, adjust apidocs (#7293) * Updated task model to allow setting streak (#7306) * fix: Correct missing * in apidoc comments * Api v3 challenge fixes (#7287) * Fixed join/leave button updates * Queried only user groups to be available when creating challenges * Fixed bulk add tasks to challenge * Synced challenge tasks after leave and join. * Fixed default selected group * Fixed challenge member info. Fixed challenge winner selection * Fixed deleting challenge tasks * Fixed particiapting filter * Fixed viewing user progress on challenge * Updated tests * Added delete for saved challenge task * v3: fix sorting * [API v3] add CRON_SAFE_MODE (#7286) * add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO * create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161 * fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment * fix check for CRON_SAFE_MODE * v3 client: fix typo * adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons * completed To-Dos: return the 30 most recent instead of 30 oldest (#7318) * v3 migration: fix createdAt date * adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321) * v3: fix unlinking multiple tasks * v3 fix releasing pets * v3: fix authenticating with apiUrl * v3: fix typo * v3 fix client tests for unlinking * v3 client: do not show start quest button when quest is active * v3 client: fix ability to send cards * v3 client: fix misc challenge issues * v3: fix notifications * v3 client: more user friendly errors * v3 client: only load completed todos once * v3 client: fix tests * v3: move TAVERN_ID to common code * fix: Provide default type and text for new task creation in score route * fix: Provide default history [] for habit in score route * fix: Add _legacyId prop to tasks to support non-uuid identifiers * chore: Change v3 migration to use _legacyId instead of legacyId * fix: check for _legacyId in tasks if id does not exist * refactor: Extract out finding task by id or _legacyId into a function * Api v3 party quest fixes (#7341) * Fix display of add challenge message when group challenges are empty * Fixed forced quest start to update quest without reload * Fixed needing to reload when accepting party invite * Fix group leave and join reload * Fixed leave current party and join another * Updated party tests * v3 client: remove console.log statement * v3: misc fixes * v3 client: fix predicatbale random * v3: info about API v3 * v3: update footer with links to developer resources * v3: support party invitation from email * v3 client: fix chat flagging * fix: Correct get tasks route to properly get todos (#7349) * move locales strings from api-v3.json to other locales files (#7347) * move locales strings from api-v3.json: authentication strings -> front.json * move locales strings from api-v3.json: authentication strings -> tasks.json * move locales strings from api-v3.json: authentication strings -> groups.json * move locales strings from api-v3.json: authentication strings -> challenge.json * move locales strings from api-v3.json: authentication strings -> groups.json (again) * move locales strings from api-v3.json: authentication strings -> quests.json * move locales strings from api-v3.json: authentication strings -> subscriber.json * move locales strings from api-v3.json: authentication strings -> spells.json * move locales strings from api-v3.json: authentication strings -> character.json * move locales strings from api-v3.json: authentication strings -> groups.json (PMs) * move locales strings from api-v3.json: authentication strings -> npc.json * move locales strings from api-v3.json: authentication strings -> pets.json * move locales strings from api-v3.json: authentication strings -> miscellaneous * move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json * move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup * v3 client: fix sticky header * v3: remove unused code * v3 client: correctly redirect after inviting * Removed v2 calls from views (#7351) * v3: fix tests for challenge export * v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails * Added force cache update when fetching new messages (#7360) * v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data * v3: misc fixes for payments * v3: limit fields of challenge tasks that can be updated * fix(tests): never connect to NODE_DB_URI for tests * Added new route for setting last cron and updated front end * v3: fix iap url * v3: fix build and ios IAP * Changed route to user set custom day start * v3: iap accessible under /api/v3, fixes to spells and groups invitations * v3: correctly use v3 routes in client * remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246 * use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error * Updated ui when user rejects a guild invite (#7368) * feat: complete custom day start route Closes #7363 * fix: Correct spelling of healAll skill fix: Correct sprite name of healAll skill * fix: Change all instances of spookDust -> spookySparkles * add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386) * add plumilla to artists for Tangle Tree in Bailey message * Fixed quest drop modal (#7377) * Fixed quest drop modal * Fixed broken party test * [API v3] Maintenance Mode (#7367) * WIP(maintenance): maintenance * WIP(maintenance): working locale features * fix(maintenance): don't translate info page target * WIP(maintenance): start adding info page * fix(maintenance): linting * feat: Add container to maintenance info page * fix(maintenance): add config.json edits Also DRY variables for main vs info pages * fix(maintenance): linting * refactor(maintenance): further slim down variables * refactor: Remove unnecessary variables * fix: Correct string interpolation in maintenace view * feat: Dynamically add time to maintenance pages * maintenance mode: do not connect to mongodb * fix(maintenance): clean up timezones etc. * fix(maintenance): remove unneeded sprite * Tavern party challenges invites fix (#7394) * Added challenges and invitations to party * Loaded tavern challenges * Updated group and quest services tests * v3: implement automatic syncing if user is not up to date * Removed unnecessary fields when updating groups and challenges (#7395) * v3: do not saved populated user * v3: correctly return user subset * Chained party promises together (#7396) * v3: $w -> splitWhitespace * use bluebird * use babel polyfill * migration: fix items * update links for v3 * Updated shortname validation to support multiple browsers * Docs changes (#7401) * chore: Clarify transfer-gems documentation * chore: Clarify api status route documentation * chore: Mark webhooks as BETA * Added tags update route. Added sort to user service (#7381) * Added tags update route. Added sort to user service * Change update tasks route to reorder tasks * Fixed linting issue * Changed params for reorder tags route * Fixed not found tag and added test * Added password confirmation when deleteing account (#7402) * fix production logging * feat(commit): push * empty commit * feat(maintenance): post-downtime news & awards (#7406) * fix exporting avatar * second attempt at fixing exporting avatar * fix production logging * s3: convert moment to date instance * fix avatar sharing and caching (30 minutes) * fix: Correct missing parameter Closes #7433 * fix: Validate challenge shortname on server * adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 11:58:31 +00:00
return _progress;
}
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 :tada: * fix(git): remove changes from old develop * Revert "fix(git): remove changes from old develop" This reverts commit 0e30f7df004bc363f2868d4b59de01862dec610f. * fix(git): no actually just this file i guesss * adding an empty loading state, hiding * fought the avatar arch nemesis again * fix chatMessages (party chat) message spacing * move disabled text back to above the input area - re-enable input area * show disabled private messages top panel * fix font color * fixing uiStates - removing disabled - moving the own user check to the last * fix(lint): add missing prop defaults * fix(lint): object default should be fn * fix(chat): correct grammar in error * remove weapon position relative * revert most of avatar.vue changes, add back weapons in chat message UI * show date tooltip above system / skill messages * fix toggle disable icon position * trivial CSS cleanup * fix(typo): English syntax in test * chore(test): small style cleanup * chore(logging): revert debug function * chore(debug): remove timers from inbox like --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com> Co-authored-by: Phillip Thelen <phillip@habitica.com> * improve method signature * add fallback * syntax fix * fix merge error * facepalm --------- Co-authored-by: SabreCat <sabe@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-04-03 17:16:36 +00:00
// Wait 5 minutes before attempting another cron
const CRON_TIMEOUT_WAIT = new Date(5 * 60 * 1000).getTime();
async function checkForActiveCron (user, now, session) {
// set _cronSignature to current time in ms since epoch time
// so we can make sure to wait at least CRONT_TIMEOUT_WAIT before attempting another cron
const _cronSignature = now.getTime();
// Calculate how long ago cron must have been attempted to try again
const cronRetryTime = _cronSignature - CRON_TIMEOUT_WAIT;
// To avoid double cron we first set _cronSignature
// and then check that it's not changed while processing
const userUpdateResult = await User.updateOne({
_id: user._id,
$or: [ // Make sure last cron was successful or failed before cronRetryTime
{ _cronSignature: 'NOT_RUNNING' },
{ _cronSignature: { $lt: cronRetryTime } },
],
}, {
$set: {
_cronSignature,
},
}, { session }).exec();
// If the cron signature is already set, cron is running in another request
// throw an error and recover later,
if (userUpdateResult.matchedCount === 0 || userUpdateResult.modifiedCount === 0) {
throw new Error('CRON_ALREADY_RUNNING');
}
}
export async function cronWrapper (req, res) {
const { user } = res.locals;
if (!user) return null; // User might not be available when authentication is not mandatory
const { analytics } = res;
const now = new Date();
let session;
try {
await checkForActiveCron(user, now);
const { daysMissed, timezoneUtcOffsetFromUserPrefs } = user.daysUserHasMissed(now, req);
if (daysMissed <= 0) {
if (user.isModified()) {
user._cronSignature = 'NOT_RUNNING';
await user.save();
} else {
await unlockUser(user);
}
return null;
}
// Clear old completed todos - 30 days for free users, 90 for subscribers
// Do not delete challenges completed todos TODO unless the task is broken?
// Do not delete group completed todos
await Tasks.Task.deleteMany({
userId: user._id,
type: 'todo',
completed: true,
dateCompleted: {
$lt: moment(now).subtract(user.isSubscribed() ? 90 : 30, 'days').toDate(),
},
'challenge.id': { $exists: false },
'group.id': { $exists: false },
}).exec();
const tasks = await Tasks.Task.find({
userId: user._id,
$or: [ // Exclude completed todos
{ type: 'todo', completed: false },
{ type: { $in: ['habit', 'daily'] } },
],
}, null).exec();
const tasksByType = {
habits: [], dailys: [], todos: [], rewards: [],
};
tasks.forEach(task => tasksByType[`${task.type}s`].push(task));
// Run cron
const progress = await cron({
user,
tasksByType,
now,
daysMissed,
analytics,
timezoneUtcOffsetFromUserPrefs,
headers: req.headers,
});
// await Group.tavernBoss(user, progress);
// Save user and tasks
user._cronSignature = 'NOT_RUNNING';
user.markModified('_cronSignature');
user.auth.timestamps.loggedin = now;
user.lastCron = now;
session = await mongoose.startSession();
await session.withTransaction(async () => {
await user.save({ session });
for (const index in tasks) {
if (Object.prototype.hasOwnProperty.call(tasks, index)) {
const task = tasks[index];
// eslint-disable-next-line no-await-in-loop
if (task.isModified()) await task.save({ session });
}
}
});
await Group.processQuestProgress(user, progress);
// Reload user
res.locals.user = await User.findOne({ _id: user._id }).exec();
return null;
} catch (err) {
if (err.message !== 'CRON_ALREADY_RUNNING') {
// For any other error make sure to reset _cronSignature
// so that it doesn't prevent cron from running
// at the next request
await unlockUser(user);
}
throw err; // re-throw the original error
} finally {
if (session) {
await session.endSession();
}
}
}