habitica-self-host/test/api/unit/libs/cron.test.js

2015 lines
68 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
/* eslint-disable global-require */
import moment from 'moment';
import nconf from 'nconf';
import requireAgain from 'require-again';
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 { v4 as generateUUID } from 'uuid';
import {
generateRes,
generateReq,
generateTodo,
generateDaily,
} from '../../../helpers/api-unit.helper';
import { cron, cronWrapper } from '../../../../website/server/libs/cron';
2018-06-18 12:40:25 +00:00
import { model as User } from '../../../../website/server/models/user';
import * as Tasks from '../../../../website/server/models/task';
import common from '../../../../website/common';
2019-10-03 15:24:17 +00:00
import * as analytics from '../../../../website/server/libs/analyticsService';
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 { model as Group } from '../../../../website/server/models/group';
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
const CRON_TIMEOUT_WAIT = new Date(5 * 60 * 1000).getTime();
const CRON_TIMEOUT_UNIT = new Date(60 * 1000).getTime();
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 18:45:38 +00:00
const pathToCronLib = '../../../../website/server/libs/cron';
describe('cron', async () => {
tests/cron: Fix tests that involve mocked time (#10418) * Revert commenting out some cron subscription tests This reverts commit 47c488967c2bbdd12ac2c636bb5f7932c945e95b. We're going to properly fix these tests, so let's start by reverting the commit that temporarily disabled these tests in the first place. Signed-off-by: aszlig <aszlig@nix.build> * tests/cron: Fix restoring clock on test failure Ah, the joys of global state... >:-( Whenever some test failed which has mocked the time using useFakeTimers(), other test that are run after that test would fail (or even time out) as well, which is a bit confusing to debug. Some of the tests even had a cleanup routine in afterEach() but most of them didn't, so I rearranged them in a way so that we have a clock variable for *all* of the subtests, which initially is null and then a cleanup handler (also for *all* of the subtest) calls clock.restore() if the value isn't null. In order to avoid calling clock.restore() twice, I have removed all the clock.restore() calls at the end of the tests setting the clock to a specific value. Signed-off-by: aszlig <aszlig@nix.build> * tests/cron: Fix test for 3-month gift subscription So this is the actual culprit of the test failures that emerge during the first two days of a month: The test group "for a 3-month gift subscription (non-recurring)" creates a User object available for every test case, which has a subscription for 3 months beginning at the current time/date. During each test case the fake timer is set to the second day of the month to be tested. For the first and second month it's unproblematic because the subscription is still active, no matter whether the dateTerminated is set to the first day or the last day of a month. However, the third month is problematic here, because whenever the subscription lasts until the first day of the third month it has already ended after the second day and thus the test fails because the actual implementation of cron sets plan.consecutive.count to zero (which is what it's supposed to do). In order to fix this, I've set dateTerminated for the User object to the 15th of the current month so the subscription lasts long enough to not trigger the test failure (and also make time zones irrelevant, because right now there is no TZ offset which is more than half of a month, especially not while running the test suite). Signed-off-by: aszlig <aszlig@nix.build>
2018-06-02 11:05:41 +00:00
let clock = null;
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 user;
2019-10-08 18:45:38 +00:00
const tasksByType = {
habits: [], dailys: [], todos: [], rewards: [],
};
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 daysMissed = 0;
beforeEach(async () => {
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 = new User({
auth: {
local: {
username: 'username',
lowerCaseUsername: 'username',
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
email: 'email@example.com',
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
salt: 'salt',
hashed_password: 'hashed_password', // eslint-disable-line camelcase
},
},
});
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
sinon.spy(analytics, 'track');
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
});
afterEach(async () => {
2019-10-08 18:45:38 +00:00
if (clock !== null) clock.restore();
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
analytics.track.restore();
});
it('updates user.preferences.timezoneOffsetAtLastCron', async () => {
const timezoneUtcOffsetFromUserPrefs = -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
await cron({
user, tasksByType, daysMissed, analytics, timezoneUtcOffsetFromUserPrefs,
2019-10-08 18:45:38 +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
expect(user.preferences.timezoneOffsetAtLastCron).to.equal(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
});
it('resets user.items.lastDrop.count', async () => {
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.items.lastDrop.count = 4;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.items.lastDrop.count).to.equal(0);
});
it('increments user cron count', async () => {
2019-10-08 18:45:38 +00:00
const cronCountBefore = user.flags.cronCount;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.flags.cronCount).to.be.greaterThan(cronCountBefore);
});
it('calls analytics', async () => {
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(analytics.track.callCount).to.equal(1);
});
it('calls analytics when user is sleeping', async () => {
user.preferences.sleep = true;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(analytics.track.callCount).to.equal(1);
});
describe('end of the month perks', async () => {
beforeEach(async () => {
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.purchased.plan.customerId = 'subscribedId';
user.purchased.plan.dateUpdated = moment().subtract(1, 'months').toDate();
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
});
it('awards current mystery items to subscriber', async () => {
user.purchased.plan.dateUpdated = new Date('2018-12-11');
clock = sinon.useFakeTimers(new Date('2019-01-29'));
await cron({
user, tasksByType, daysMissed, analytics,
});
expect(user.purchased.plan.mysteryItems.length).to.eql(2);
2019-12-04 18:20:19 +00:00
const filteredNotifications = user.notifications.filter(n => n.type === 'NEW_MYSTERY_ITEMS');
expect(filteredNotifications.length).to.equal(1);
});
it('awards multiple mystery item sets if user skipped months between logins', async () => {
user.purchased.plan.dateUpdated = new Date('2018-11-11');
clock = sinon.useFakeTimers(new Date('2019-01-29'));
await cron({
user, tasksByType, daysMissed, analytics,
});
expect(user.purchased.plan.mysteryItems.length).to.eql(4);
2019-12-04 18:20:19 +00:00
const filteredNotifications = user.notifications.filter(n => n.type === 'NEW_MYSTERY_ITEMS');
expect(filteredNotifications.length).to.equal(1);
});
it('resets plan.gemsBought on a new month', async () => {
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.purchased.plan.gemsBought = 10;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.purchased.plan.gemsBought).to.equal(0);
});
it('resets plan.gemsBought on a new month if user does not have purchased.plan.dateUpdated', async () => {
user.purchased.plan.gemsBought = 10;
user.purchased.plan.dateUpdated = undefined;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(user.purchased.plan.gemsBought).to.equal(0);
});
it('does not reset plan.gemsBought within the month', async () => {
tests/cron: Fix tests that involve mocked time (#10418) * Revert commenting out some cron subscription tests This reverts commit 47c488967c2bbdd12ac2c636bb5f7932c945e95b. We're going to properly fix these tests, so let's start by reverting the commit that temporarily disabled these tests in the first place. Signed-off-by: aszlig <aszlig@nix.build> * tests/cron: Fix restoring clock on test failure Ah, the joys of global state... >:-( Whenever some test failed which has mocked the time using useFakeTimers(), other test that are run after that test would fail (or even time out) as well, which is a bit confusing to debug. Some of the tests even had a cleanup routine in afterEach() but most of them didn't, so I rearranged them in a way so that we have a clock variable for *all* of the subtests, which initially is null and then a cleanup handler (also for *all* of the subtest) calls clock.restore() if the value isn't null. In order to avoid calling clock.restore() twice, I have removed all the clock.restore() calls at the end of the tests setting the clock to a specific value. Signed-off-by: aszlig <aszlig@nix.build> * tests/cron: Fix test for 3-month gift subscription So this is the actual culprit of the test failures that emerge during the first two days of a month: The test group "for a 3-month gift subscription (non-recurring)" creates a User object available for every test case, which has a subscription for 3 months beginning at the current time/date. During each test case the fake timer is set to the second day of the month to be tested. For the first and second month it's unproblematic because the subscription is still active, no matter whether the dateTerminated is set to the first day or the last day of a month. However, the third month is problematic here, because whenever the subscription lasts until the first day of the third month it has already ended after the second day and thus the test fails because the actual implementation of cron sets plan.consecutive.count to zero (which is what it's supposed to do). In order to fix this, I've set dateTerminated for the User object to the 15th of the current month so the subscription lasts long enough to not trigger the test failure (and also make time zones irrelevant, because right now there is no TZ offset which is more than half of a month, especially not while running the test suite). Signed-off-by: aszlig <aszlig@nix.build>
2018-06-02 11:05:41 +00:00
clock = sinon.useFakeTimers(moment().startOf('month').add(2, 'days').toDate());
user.purchased.plan.dateUpdated = moment().startOf('month').toDate();
user.purchased.plan.gemsBought = 10;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(user.purchased.plan.gemsBought).to.equal(10);
});
it('resets plan.dateUpdated on a new month', async () => {
2019-10-08 18:45:38 +00:00
const currentMonth = moment().startOf('month');
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(moment(user.purchased.plan.dateUpdated).startOf('month').isSame(currentMonth)).to.eql(true);
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
});
it('increments plan.consecutive.count', async () => {
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.purchased.plan.consecutive.count = 0;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.purchased.plan.consecutive.count).to.equal(1);
});
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
it('increments plan.cumulativeCount', async () => {
user.purchased.plan.cumulativeCount = 0;
await cron({
user, tasksByType, daysMissed, analytics,
});
expect(user.purchased.plan.cumulativeCount).to.equal(1);
});
it('increments plan.consecutive.count by more than 1 if user skipped months between logins', async () => {
user.purchased.plan.dateUpdated = moment().subtract(2, 'months').toDate();
user.purchased.plan.consecutive.count = 0;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(user.purchased.plan.consecutive.count).to.equal(2);
});
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
it('increments plan.cumulativeCount by more than 1 if user skipped months between logins', async () => {
user.purchased.plan.dateUpdated = moment().subtract(3, 'months').toDate();
user.purchased.plan.cumulativeCount = 0;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.purchased.plan.cumulativeCount).to.equal(3);
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
});
it('does not award unearned plan.consecutive.trinkets if subscription ended during an absence', async () => {
user.purchased.plan.dateUpdated = moment().subtract(6, 'months').toDate();
user.purchased.plan.dateTerminated = moment().subtract(3, 'months').toDate();
user.purchased.plan.consecutive.count = 5;
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.purchased.plan.consecutive.trinkets = 1;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.purchased.plan.consecutive.trinkets).to.equal(1);
});
it('does not increment plan.consecutive.gemCapExtra when user has reached the gemCap limit', async () => {
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
user.purchased.plan.consecutive.gemCapExtra = 26;
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.purchased.plan.consecutive.count = 5;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.purchased.plan.consecutive.gemCapExtra).to.equal(26);
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
});
it('does not reset plan stats if we are before the last day of the cancelled month', async () => {
2019-10-08 18:45:38 +00:00
user.purchased.plan.dateTerminated = moment(new Date()).add({ days: 1 });
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.purchased.plan.customerId).to.exist;
});
it('does reset plan stats if we are after the last day of the cancelled month', async () => {
2019-10-08 18:45:38 +00:00
user.purchased.plan.dateTerminated = moment(new Date()).subtract({ days: 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
user.purchased.plan.consecutive.gemCapExtra = 20;
user.purchased.plan.consecutive.count = 5;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.purchased.plan.customerId).to.not.exist;
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
expect(user.purchased.plan.consecutive.gemCapExtra).to.equal(20);
expect(user.purchased.plan.consecutive.count).to.equal(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
});
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
describe('for a 1-month recurring subscription', async () => {
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
// create a user that will be used for all of these tests without a reset before each
2019-10-08 18:45:38 +00:00
const user1 = new User({
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
auth: {
local: {
username: 'username1',
lowerCaseUsername: 'username1',
email: 'email1@example.com',
salt: 'salt',
hashed_password: 'hashed_password', // eslint-disable-line camelcase
},
},
});
// user1 has a 1-month recurring subscription starting today
2022-12-02 16:12:17 +00:00
beforeEach(async () => {
user1.purchased.plan.customerId = 'subscribedId';
user1.purchased.plan.dateUpdated = moment().toDate();
user1.purchased.plan.planId = 'basic';
user1.purchased.plan.consecutive.count = 0;
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
user1.purchased.plan.consecutive.trinkets = 1;
2022-12-02 16:12:17 +00:00
user1.purchased.plan.consecutive.gemCapExtra = 0;
});
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
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
it('increments consecutive benefits', async () => {
clock = sinon.useFakeTimers(moment().utcOffset(0).startOf('month').add(1, 'months')
2019-10-08 18:45:38 +00:00
.add(2, 'days')
.toDate());
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
// Add 1 month to simulate what happens a month after the subscription was created.
2019-10-08 18:45:38 +00:00
// Add 2 days so that we're sure we're not affected by any start-of-month effects
// e.g., from time zone oddness.
await cron({
2019-10-08 18:45:38 +00:00
user: user1, tasksByType, daysMissed, analytics,
});
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
expect(user1.purchased.plan.consecutive.count).to.equal(1);
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
expect(user1.purchased.plan.consecutive.trinkets).to.equal(2);
expect(user1.purchased.plan.consecutive.gemCapExtra).to.equal(2);
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
});
it('increments consecutive benefits correctly if user has been absent with continuous subscription', async () => {
clock = sinon.useFakeTimers(moment().utcOffset(0).startOf('month').add(10, 'months')
2019-10-08 18:45:38 +00:00
.add(2, 'days')
.toDate());
await cron({
2019-10-08 18:45:38 +00:00
user: user1, tasksByType, daysMissed, analytics,
});
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
expect(user1.purchased.plan.consecutive.count).to.equal(10);
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
expect(user1.purchased.plan.consecutive.trinkets).to.equal(11);
expect(user1.purchased.plan.consecutive.gemCapExtra).to.equal(20);
2022-12-02 16:12:17 +00:00
});
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
});
describe('for a 3-month recurring subscription', async () => {
2019-10-08 18:45:38 +00:00
const user3 = new User({
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
auth: {
local: {
username: 'username3',
lowerCaseUsername: 'username3',
email: 'email3@example.com',
salt: 'salt',
hashed_password: 'hashed_password', // eslint-disable-line camelcase
},
},
});
// user3 has a 3-month recurring subscription starting today
2022-12-02 16:12:17 +00:00
beforeEach(async () => {
user3.purchased.plan.customerId = 'subscribedId';
user3.purchased.plan.dateUpdated = moment().toDate();
user3.purchased.plan.planId = 'basic_3mo';
user3.purchased.plan.consecutive.count = 0;
user3.purchased.plan.consecutive.trinkets = 1;
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
user3.purchased.plan.consecutive.gemCapExtra = 0;
2022-12-02 16:12:17 +00:00
});
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
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
it('increments consecutive benefits', async () => {
clock = sinon.useFakeTimers(moment().utcOffset(0).startOf('month').add(1, 'months')
2019-10-08 18:45:38 +00:00
.add(2, 'days')
.toDate());
await cron({
2019-10-08 18:45:38 +00:00
user: user3, tasksByType, daysMissed, analytics,
});
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
expect(user3.purchased.plan.consecutive.count).to.equal(1);
expect(user3.purchased.plan.consecutive.trinkets).to.equal(2);
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
expect(user3.purchased.plan.consecutive.gemCapExtra).to.equal(2);
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
});
it('increments consecutive benefits correctly if user has been absent with continuous subscription', async () => {
clock = sinon.useFakeTimers(moment().utcOffset(0).startOf('month').add(10, 'months')
2019-10-08 18:45:38 +00:00
.add(2, 'days')
.toDate());
await cron({
2019-10-08 18:45:38 +00:00
user: user3, tasksByType, daysMissed, analytics,
});
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
expect(user3.purchased.plan.consecutive.count).to.equal(10);
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
expect(user3.purchased.plan.consecutive.trinkets).to.equal(11);
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
expect(user3.purchased.plan.consecutive.gemCapExtra).to.equal(20);
});
});
describe('for a 6-month recurring subscription', async () => {
2019-10-08 18:45:38 +00:00
const user6 = new User({
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
auth: {
local: {
username: 'username6',
lowerCaseUsername: 'username6',
email: 'email6@example.com',
salt: 'salt',
hashed_password: 'hashed_password', // eslint-disable-line camelcase
},
},
});
// user6 has a 6-month recurring subscription starting today
2022-12-02 16:12:17 +00:00
beforeEach(async () => {
user6.purchased.plan.customerId = 'subscribedId';
2023-02-06 11:59:54 +00:00
user6.purchased.plan.dateUpdated = moment().toDate();
user6.purchased.plan.planId = 'google_6mo';
user6.purchased.plan.consecutive.count = 0;
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
user6.purchased.plan.consecutive.trinkets = 1;
user6.purchased.plan.consecutive.gemCapExtra = 0;
2022-12-02 16:12:17 +00:00
});
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
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
it('increments benefits', async () => {
clock = sinon.useFakeTimers(moment().utcOffset(0).startOf('month').add(1, 'months')
2019-10-08 18:45:38 +00:00
.add(2, 'days')
.toDate());
await cron({
2019-10-08 18:45:38 +00:00
user: user6, tasksByType, daysMissed, analytics,
});
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
expect(user6.purchased.plan.consecutive.count).to.equal(1);
expect(user6.purchased.plan.consecutive.trinkets).to.equal(2);
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
expect(user6.purchased.plan.consecutive.gemCapExtra).to.equal(2);
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
});
});
describe('for a 12-month recurring subscription', async () => {
2019-10-08 18:45:38 +00:00
const user12 = new User({
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
auth: {
local: {
username: 'username12',
lowerCaseUsername: 'username12',
email: 'email12@example.com',
salt: 'salt',
hashed_password: 'hashed_password', // eslint-disable-line camelcase
},
},
});
// user12 has a 12-month recurring subscription starting today
user12.purchased.plan.customerId = 'subscribedId';
user12.purchased.plan.dateUpdated = moment().toDate();
user12.purchased.plan.planId = 'basic_12mo';
user12.purchased.plan.consecutive.count = 0;
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
user12.purchased.plan.consecutive.trinkets = 1;
user12.purchased.plan.consecutive.gemCapExtra = 26;
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
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
it('increments consecutive benefits the month after the second paid period has started', async () => {
clock = sinon.useFakeTimers(moment().utcOffset(0).startOf('month').add(1, 'months')
2019-10-08 18:45:38 +00:00
.add(2, 'days')
.toDate());
await cron({
2019-10-08 18:45:38 +00:00
user: user12, tasksByType, daysMissed, analytics,
});
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
expect(user12.purchased.plan.consecutive.count).to.equal(1);
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
expect(user12.purchased.plan.consecutive.trinkets).to.equal(2);
expect(user12.purchased.plan.consecutive.gemCapExtra).to.equal(26);
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
});
it('increments consecutive benefits correctly if user has been absent with continuous subscription', async () => {
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
clock = sinon.useFakeTimers(moment().utcOffset(0).startOf('month').add(10, 'months')
2019-10-08 18:45:38 +00:00
.add(2, 'days')
.toDate());
await cron({
2019-10-08 18:45:38 +00:00
user: user12, tasksByType, daysMissed, analytics,
});
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
expect(user12.purchased.plan.consecutive.count).to.equal(10);
expect(user12.purchased.plan.consecutive.trinkets).to.equal(11);
expect(user12.purchased.plan.consecutive.gemCapExtra).to.equal(26);
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
});
});
describe('for a 3-month gift subscription (non-recurring)', async () => {
2019-10-08 18:45:38 +00:00
const user3g = new User({
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
auth: {
local: {
username: 'username3g',
lowerCaseUsername: 'username3g',
email: 'email3g@example.com',
salt: 'salt',
hashed_password: 'hashed_password', // eslint-disable-line camelcase
},
},
});
// user3g has a 3-month gift subscription starting today
user3g.purchased.plan.customerId = 'Gift';
user3g.purchased.plan.dateUpdated = moment().toDate();
2019-10-08 18:45:38 +00:00
user3g.purchased.plan.dateTerminated = moment().startOf('month').add(3, 'months').add(15, 'days')
.toDate();
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
user3g.purchased.plan.planId = null;
user3g.purchased.plan.consecutive.count = 0;
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
user3g.purchased.plan.cumulativeCount = 0;
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
user3g.purchased.plan.consecutive.trinkets = 1;
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
user3g.purchased.plan.consecutive.gemCapExtra = 0;
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
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
it('increments benefits', async () => {
clock = sinon.useFakeTimers(moment().utcOffset(0).startOf('month').add(1, 'months')
2019-10-08 18:45:38 +00:00
.add(2, 'days')
.toDate());
await cron({
2019-10-08 18:45:38 +00:00
user: user3g, tasksByType, daysMissed, analytics,
});
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
expect(user3g.purchased.plan.consecutive.count).to.equal(1);
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
expect(user3g.purchased.plan.cumulativeCount).to.equal(1);
expect(user3g.purchased.plan.consecutive.trinkets).to.equal(2);
expect(user3g.purchased.plan.consecutive.gemCapExtra).to.equal(2);
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +00:00
});
it('does not increment consecutive benefits in the month after the gift subscription has ended', async () => {
clock = sinon.useFakeTimers(moment().utcOffset(0).startOf('month').add(4, 'months')
2019-10-08 18:45:38 +00:00
.add(2, 'days')
.toDate());
await cron({
2019-10-08 18:45:38 +00:00
user: user3g, tasksByType, daysMissed, analytics,
});
// subscription has been erased by now
expect(user3g.purchased.plan.consecutive.count).to.equal(0);
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
expect(user3g.purchased.plan.consecutive.trinkets).to.equal(2);
expect(user3g.purchased.plan.consecutive.gemCapExtra).to.equal(2);
expect(user3g.purchased.plan.cumulativeCount).to.equal(1);
increase Hourglasses and gemCapExtra promptly when multi-month subscription renews - fixes #4819 (#10147) * allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed * fix existing Hourglass and Gem Cap tests that were wrong The scenario originally used for these two tests was a six-month recurring subscription (you can tell that from the starting offset having a non-zero value). For recurring subscriptions, we do NOT want to increase the consecutive month benefits as soon as the sixth month starts because the user has already been given a full six months' benefits in advance and they might cancel the subscription before it renews later in the sixth month. Therefore we want to give the extra benefits at the beginning of the seventh month (ideally we'd give them mid-month in the sixth month when the renewal happens but we don't have support for tracking renewal dates). So, the two changed tests were actually not correct for the case where the offset started as non-zero. These tests are correct for one-month recurring subscriptions (when the offset is never set to anything above zero). The user isn't meant to get any consecutive month benefits until a multiple of 3 months has been reached. * add tests for one-month recurring subscription before 3x months are reached * add tests for 3-, 6-, and 12-month recurring subscriptions The 3-month tests are the most thorough, stepping through the expected start and end values of consecutive data for a 7-month range. The 6-month tests are a bit less thorough since the same code is used for all multi-month periods. The discount Google subscription code is used to ensure we keep support for it. The 12-month tests are less thorough still, since again the same code is used. I'm about to try some more tests with `useFakeTimers`, which should be a better way to test the code since they won't rely on me having set the initial values correctly for each test. :) But I wanted to work through these cases manually first to ensure my understanding of how the values should change does actually match the code. * add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months Also fixed the clock call in an unrelated test because it was forming the date incorrectly (`unix()` can't be used to create a date). Also changed email@email.email to email@example.com because email@email.email is potentially a real email address. * add tests for 3-month gift subscriptions - no extra consecutive benefits given * add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed * fix lint errors * remove outdated subscription tests
2018-04-08 13:26:25 +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
});
describe('end of the month perks when user is not subscribed', async () => {
beforeEach(async () => {
user.purchased.plan.dateUpdated = moment().subtract(1, 'months').toDate();
});
it('resets plan.gemsBought on a new month', async () => {
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.purchased.plan.gemsBought = 10;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(user.purchased.plan.gemsBought).to.equal(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
});
it('does not reset plan.gemsBought within the month', async () => {
tests/cron: Fix tests that involve mocked time (#10418) * Revert commenting out some cron subscription tests This reverts commit 47c488967c2bbdd12ac2c636bb5f7932c945e95b. We're going to properly fix these tests, so let's start by reverting the commit that temporarily disabled these tests in the first place. Signed-off-by: aszlig <aszlig@nix.build> * tests/cron: Fix restoring clock on test failure Ah, the joys of global state... >:-( Whenever some test failed which has mocked the time using useFakeTimers(), other test that are run after that test would fail (or even time out) as well, which is a bit confusing to debug. Some of the tests even had a cleanup routine in afterEach() but most of them didn't, so I rearranged them in a way so that we have a clock variable for *all* of the subtests, which initially is null and then a cleanup handler (also for *all* of the subtest) calls clock.restore() if the value isn't null. In order to avoid calling clock.restore() twice, I have removed all the clock.restore() calls at the end of the tests setting the clock to a specific value. Signed-off-by: aszlig <aszlig@nix.build> * tests/cron: Fix test for 3-month gift subscription So this is the actual culprit of the test failures that emerge during the first two days of a month: The test group "for a 3-month gift subscription (non-recurring)" creates a User object available for every test case, which has a subscription for 3 months beginning at the current time/date. During each test case the fake timer is set to the second day of the month to be tested. For the first and second month it's unproblematic because the subscription is still active, no matter whether the dateTerminated is set to the first day or the last day of a month. However, the third month is problematic here, because whenever the subscription lasts until the first day of the third month it has already ended after the second day and thus the test fails because the actual implementation of cron sets plan.consecutive.count to zero (which is what it's supposed to do). In order to fix this, I've set dateTerminated for the User object to the 15th of the current month so the subscription lasts long enough to not trigger the test failure (and also make time zones irrelevant, because right now there is no TZ offset which is more than half of a month, especially not while running the test suite). Signed-off-by: aszlig <aszlig@nix.build>
2018-06-02 11:05:41 +00:00
clock = sinon.useFakeTimers(moment().startOf('month').add(2, 'days').unix());
user.purchased.plan.dateUpdated = moment().startOf('month').toDate();
user.purchased.plan.gemsBought = 10;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(user.purchased.plan.gemsBought).to.equal(10);
});
it('does not reset plan.dateUpdated on a new month', async () => {
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.purchased.plan.dateUpdated).to.be.empty;
});
it('does not increment plan.consecutive.count', async () => {
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.purchased.plan.consecutive.count = 0;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.purchased.plan.consecutive.count).to.equal(0);
});
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
it('does not increment plan.cumulativeCount', async () => {
user.purchased.plan.cumulativeCount = 0;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.purchased.plan.cumulativeCount).to.equal(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
});
it('does not increment plan.consecutive.trinkets when user has reached a month that is a multiple of 3', async () => {
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.purchased.plan.consecutive.count = 5;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.purchased.plan.consecutive.trinkets).to.equal(0);
});
it('does not increment plan.consecutive.gemCapExtra when user has reached a month that is a multiple of 3', async () => {
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.purchased.plan.consecutive.count = 5;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.purchased.plan.consecutive.gemCapExtra).to.equal(0);
});
it('does not increment plan.consecutive.gemCapExtra when user has reached the gemCap limit', async () => {
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
user.purchased.plan.consecutive.gemCapExtra = 26;
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.purchased.plan.consecutive.count = 5;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.purchased.plan.consecutive.gemCapExtra).to.equal(26);
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
});
it('does nothing to plan stats if we are before the last day of the cancelled month', async () => {
2019-10-08 18:45:38 +00:00
user.purchased.plan.dateTerminated = moment(new Date()).add({ days: 1 });
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.purchased.plan.customerId).to.not.exist;
});
});
describe('todos', async () => {
beforeEach(async () => {
2019-10-08 18:45:38 +00:00
const todo = {
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
text: 'test todo',
type: 'todo',
value: 0,
};
2019-10-08 18:45:38 +00:00
const task = new Tasks.todo(Tasks.Task.sanitize(todo)); // eslint-disable-line new-cap
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
tasksByType.todos.push(task);
});
afterEach(async () => {
tasksByType.todos = [];
user.tasksOrder.todos = [];
});
it('should make uncompleted todos redder', async () => {
2019-10-08 18:45:38 +00:00
const valueBefore = tasksByType.todos[0].value;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(tasksByType.todos[0].value).to.be.lessThan(valueBefore);
});
it('should not make completed todos redder', async () => {
tasksByType.todos[0].completed = true;
const valueBefore = tasksByType.todos[0].value;
await cron({
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.todos[0].value).to.equal(valueBefore);
});
it('should add history of completed todos to user history', async () => {
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
tasksByType.todos[0].completed = true;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.history.todos).to.be.lengthOf(1);
});
2017-10-26 15:37:51 +00:00
it('should remove completed todos from users taskOrder list', async () => {
2019-10-08 18:45:38 +00:00
const todo = {
2017-10-26 15:37:51 +00:00
text: 'test todo',
type: 'todo',
value: 0,
};
const task = new Tasks.todo(Tasks.Task.sanitize(todo)); // eslint-disable-line new-cap
2017-10-26 15:37:51 +00:00
tasksByType.todos.push(task);
tasksByType.todos[0].completed = true;
2019-10-08 18:45:38 +00:00
user.tasksOrder.todos = tasksByType.todos.map(taskTodo => taskTodo._id);
// Since ideally tasksByType should not contain completed todos,
// fake ids should be filtered too
2017-10-26 15:37:51 +00:00
user.tasksOrder.todos.push('00000000-0000-0000-0000-000000000000');
expect(tasksByType.todos).to.be.lengthOf(2);
expect(user.tasksOrder.todos).to.be.lengthOf(3);
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
2017-10-26 15:37:51 +00:00
// user.tasksOrder.todos should be filtered while tasks by type remains unchanged
expect(tasksByType.todos).to.be.lengthOf(2);
expect(user.tasksOrder.todos).to.be.lengthOf(1);
});
it('should preserve todos order in task list', async () => {
2019-10-08 18:45:38 +00:00
const todo = {
2017-10-26 15:37:51 +00:00
text: 'test todo',
type: 'todo',
value: 0,
};
let task = new Tasks.todo(Tasks.Task.sanitize(todo)); // eslint-disable-line new-cap
tasksByType.todos.push(task);
task = new Tasks.todo(Tasks.Task.sanitize(todo)); // eslint-disable-line new-cap
tasksByType.todos.push(task);
task = new Tasks.todo(Tasks.Task.sanitize(todo)); // eslint-disable-line new-cap
tasksByType.todos.push(task);
// Set up user.tasksOrder list in a specific order
2019-10-08 18:45:38 +00:00
user.tasksOrder.todos = tasksByType.todos.map(todoTask => todoTask._id).reverse();
const original = user.tasksOrder.todos; // Preserve the original order
2017-10-26 15:37:51 +00:00
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
2017-10-26 15:37:51 +00:00
let listsAreEqual = true;
user.tasksOrder.todos.forEach((taskId, index) => {
if (original[index]._id !== taskId) {
listsAreEqual = false;
}
});
expect(listsAreEqual);
expect(user.tasksOrder.todos).to.be.lengthOf(original.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
});
describe('dailys', async () => {
beforeEach(async () => {
2019-10-08 18:45:38 +00:00
const daily = {
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
text: 'test daily',
type: 'daily',
};
2019-10-08 18:45:38 +00:00
const task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line new-cap
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
tasksByType.dailys = [];
tasksByType.dailys.push(task);
const statsComputedRes = common.statsComputed(user);
const stubbedStatsComputed = sinon.stub(common, 'statsComputed');
2019-10-08 18:45:38 +00:00
stubbedStatsComputed.returns(Object.assign(statsComputedRes, { con: 1 }));
});
afterEach(async () => {
common.statsComputed.restore();
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
});
it('computes isDue', async () => {
tasksByType.dailys[0].frequency = 'daily';
tasksByType.dailys[0].everyX = 5;
tasksByType.dailys[0].startDate = moment().add(1, 'days').toDate();
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.dailys[0].isDue).to.be.false;
});
it('computes isDue when user is sleeping', async () => {
user.preferences.sleep = true;
tasksByType.dailys[0].frequency = 'daily';
tasksByType.dailys[0].everyX = 5;
tasksByType.dailys[0].startDate = moment().toDate();
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.dailys[0].isDue).to.exist;
});
it('computes nextDue', async () => {
tasksByType.dailys[0].frequency = 'daily';
tasksByType.dailys[0].everyX = 5;
tasksByType.dailys[0].startDate = moment().add(1, 'days').toDate();
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.dailys[0].nextDue.length).to.eql(6);
});
it('should add history', async () => {
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(tasksByType.dailys[0].history).to.be.lengthOf(1);
});
it('should set tasks completed to false', async () => {
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
tasksByType.dailys[0].completed = true;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(tasksByType.dailys[0].completed).to.be.false;
});
it('should set tasks completed to false when user is sleeping', async () => {
user.preferences.sleep = true;
tasksByType.dailys[0].completed = true;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.dailys[0].completed).to.be.false;
});
it('should reset task checklist for completed dailys', async () => {
2019-10-08 18:45:38 +00:00
tasksByType.dailys[0].checklist.push({ title: 'test', 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
tasksByType.dailys[0].completed = true;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(tasksByType.dailys[0].checklist[0].completed).to.be.false;
});
it('should reset task checklist for completed dailys when user is sleeping', async () => {
user.preferences.sleep = true;
2019-10-08 18:45:38 +00:00
tasksByType.dailys[0].checklist.push({ title: 'test', completed: false });
tasksByType.dailys[0].completed = true;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.dailys[0].checklist[0].completed).to.be.false;
});
it('should reset task checklist for dailys with scheduled misses', async () => {
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
daysMissed = 10;
2019-10-08 18:45:38 +00:00
tasksByType.dailys[0].checklist.push({ title: 'test', completed: false });
tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(tasksByType.dailys[0].checklist[0].completed).to.be.false;
});
it('should do damage for missing a daily', async () => {
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
daysMissed = 1;
2019-10-08 18:45:38 +00:00
const hpBefore = user.stats.hp;
tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.stats.hp).to.be.lessThan(hpBefore);
});
it('should not do damage for missing a daily when user is sleeping', async () => {
user.preferences.sleep = true;
daysMissed = 1;
2019-10-08 18:45:38 +00:00
const hpBefore = user.stats.hp;
tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(user.stats.hp).to.equal(hpBefore);
});
it('should not do damage for missing a daily when CRON_SAFE_MODE is set', async () => {
sandbox.stub(nconf, 'get').withArgs('CRON_SAFE_MODE').returns('true');
2019-10-08 18:45:38 +00:00
const cronOverride = requireAgain(pathToCronLib).cron;
daysMissed = 1;
2019-10-08 18:45:38 +00:00
const hpBefore = user.stats.hp;
tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
2019-10-08 18:45:38 +00:00
cronOverride({
user, tasksByType, daysMissed, analytics,
});
expect(user.stats.hp).to.equal(hpBefore);
});
it('should not do damage for missing a daily if user stealth buff is greater than or equal to days missed', async () => {
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
daysMissed = 1;
2019-10-08 18:45:38 +00:00
const hpBefore = user.stats.hp;
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.stealth = 2;
2019-10-08 18:45:38 +00:00
tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 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
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.stats.hp).to.equal(hpBefore);
});
it('should do less damage for missing a daily with partial completion', async () => {
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
daysMissed = 1;
let hpBefore = user.stats.hp;
2019-10-08 18:45:38 +00:00
tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
const hpDifferenceOfFullyIncompleteDaily = hpBefore - user.stats.hp;
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
hpBefore = user.stats.hp;
2019-10-08 18:45:38 +00:00
tasksByType.dailys[0].checklist.push({ title: 'test', completed: true });
tasksByType.dailys[0].checklist.push({ title: 'test2', completed: false });
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
const hpDifferenceOfPartiallyIncompleteDaily = hpBefore - user.stats.hp;
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 18:45:38 +00:00
expect(hpDifferenceOfPartiallyIncompleteDaily)
.to.be.lessThan(hpDifferenceOfFullyIncompleteDaily);
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
});
it('should decrement quest.progress.down for missing a daily', async () => {
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
daysMissed = 1;
2019-10-08 18:45:38 +00:00
tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 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
const progress = await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(progress.down).to.equal(-1);
});
it('should not decrement quest.progress.down for missing a daily when user is sleeping', async () => {
user.preferences.sleep = true;
daysMissed = 1;
2019-10-08 18:45:38 +00:00
tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
const progress = await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(progress.down).to.equal(0);
});
it('should do damage for only yesterday\'s dailies', async () => {
daysMissed = 3;
2019-10-08 18:45:38 +00:00
tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
2019-10-08 18:45:38 +00:00
const daily = {
text: 'test daily',
type: 'daily',
};
2019-10-08 18:45:38 +00:00
const task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line new-cap
tasksByType.dailys.push(task);
2019-10-08 18:45:38 +00:00
tasksByType.dailys[1].startDate = moment(new Date()).subtract({ days: 2 });
tasksByType.dailys[1].everyX = 2;
tasksByType.dailys[1].frequency = 'daily';
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(user.stats.hp).to.equal(48);
});
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
});
describe('habits', async () => {
beforeEach(async () => {
2019-10-08 18:45:38 +00:00
const habit = {
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
text: 'test habit',
type: 'habit',
};
2019-10-08 18:45:38 +00:00
const task = new Tasks.habit(Tasks.Task.sanitize(habit)); // eslint-disable-line new-cap
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
tasksByType.habits = [];
tasksByType.habits.push(task);
});
it('should decrement only up value', async () => {
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
tasksByType.habits[0].value = 1;
tasksByType.habits[0].down = false;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(tasksByType.habits[0].value).to.be.lessThan(1);
});
it('should decrement only down value', async () => {
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
tasksByType.habits[0].value = 1;
tasksByType.habits[0].up = false;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(tasksByType.habits[0].value).to.be.lessThan(1);
});
it('should do nothing to habits with both up and down', async () => {
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
tasksByType.habits[0].value = 1;
tasksByType.habits[0].up = true;
tasksByType.habits[0].down = true;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(tasksByType.habits[0].value).to.equal(1);
});
describe('counters', async () => {
2019-10-08 18:45:38 +00:00
const notStartOfWeekOrMonth = new Date(2016, 9, 28).getTime(); // a Friday
beforeEach(async () => {
// Replace system clocks so we can get predictable results
clock = sinon.useFakeTimers(notStartOfWeekOrMonth);
});
it('should reset a daily habit counter each day', async () => {
tasksByType.habits[0].counterUp = 1;
tasksByType.habits[0].counterDown = 1;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.habits[0].counterUp).to.equal(0);
expect(tasksByType.habits[0].counterDown).to.equal(0);
});
it('should reset habit counters even if user is sleeping', async () => {
user.preferences.sleep = true;
tasksByType.habits[0].counterUp = 1;
tasksByType.habits[0].counterDown = 1;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.habits[0].counterUp).to.equal(0);
expect(tasksByType.habits[0].counterDown).to.equal(0);
});
it('should reset a weekly habit counter each Monday', async () => {
tasksByType.habits[0].frequency = 'weekly';
tasksByType.habits[0].counterUp = 1;
tasksByType.habits[0].counterDown = 1;
// should not reset
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.habits[0].counterUp).to.equal(1);
expect(tasksByType.habits[0].counterDown).to.equal(1);
// should reset
daysMissed = 8;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.habits[0].counterUp).to.equal(0);
expect(tasksByType.habits[0].counterDown).to.equal(0);
});
it('should reset a weekly habit counter with custom daily start', async () => {
clock.restore();
// Server clock: Monday 12am UTC
let monday = new Date('May 22, 2017 00:00:00 GMT').getTime();
clock = sinon.useFakeTimers(monday);
// cron runs at 2am
user.preferences.dayStart = 2;
tasksByType.habits[0].frequency = 'weekly';
tasksByType.habits[0].counterUp = 1;
tasksByType.habits[0].counterDown = 1;
daysMissed = 1;
// should not reset
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.habits[0].counterUp).to.equal(1);
expect(tasksByType.habits[0].counterDown).to.equal(1);
clock.restore();
// Server clock: Monday 3am UTC
monday = new Date('May 22, 2017 03:00:00 GMT').getTime();
clock = sinon.useFakeTimers(monday);
// should reset after user CDS
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.habits[0].counterUp).to.equal(0);
expect(tasksByType.habits[0].counterDown).to.equal(0);
});
it('should not reset a weekly habit counter when server tz is Monday but user\'s tz is Tuesday', async () => {
clock.restore();
// Server clock: Monday 11pm UTC
2019-10-08 18:45:38 +00:00
const monday = new Date('May 22, 2017 23:00:00 GMT').getTime();
clock = sinon.useFakeTimers(monday);
// User clock: Tuesday 1am UTC + 2
user.preferences.timezoneOffset = -120;
tasksByType.habits[0].frequency = 'weekly';
tasksByType.habits[0].counterUp = 1;
tasksByType.habits[0].counterDown = 1;
daysMissed = 1;
// should not reset
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.habits[0].counterUp).to.equal(1);
expect(tasksByType.habits[0].counterDown).to.equal(1);
// User missed one cron, which will subtract User clock back to Monday 1am UTC + 2
// should reset
daysMissed = 2;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.habits[0].counterUp).to.equal(0);
expect(tasksByType.habits[0].counterDown).to.equal(0);
});
it('should reset a weekly habit counter when server tz is Sunday but user\'s tz is Monday', async () => {
clock.restore();
// Server clock: Sunday 11pm UTC
2019-10-08 18:45:38 +00:00
const sunday = new Date('May 21, 2017 23:00:00 GMT').getTime();
clock = sinon.useFakeTimers(sunday);
// User clock: Monday 2am UTC + 3
user.preferences.timezoneOffset = -180;
tasksByType.habits[0].frequency = 'weekly';
tasksByType.habits[0].counterUp = 1;
tasksByType.habits[0].counterDown = 1;
daysMissed = 1;
// should reset
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.habits[0].counterUp).to.equal(0);
expect(tasksByType.habits[0].counterDown).to.equal(0);
});
it('should not reset a weekly habit counter when server tz is Monday but user\'s tz is Sunday', async () => {
clock.restore();
// Server clock: Monday 2am UTC
2019-10-08 18:45:38 +00:00
const monday = new Date('May 22, 2017 02:00:00 GMT').getTime();
clock = sinon.useFakeTimers(monday);
// User clock: Sunday 11pm UTC - 3
user.preferences.timezoneOffset = 180;
tasksByType.habits[0].frequency = 'weekly';
tasksByType.habits[0].counterUp = 1;
tasksByType.habits[0].counterDown = 1;
daysMissed = 1;
// should not reset
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.habits[0].counterUp).to.equal(1);
expect(tasksByType.habits[0].counterDown).to.equal(1);
});
it('should reset a monthly habit counter the first day of each month', async () => {
tasksByType.habits[0].frequency = 'monthly';
tasksByType.habits[0].counterUp = 1;
tasksByType.habits[0].counterDown = 1;
// should not reset
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.habits[0].counterUp).to.equal(1);
expect(tasksByType.habits[0].counterDown).to.equal(1);
// should reset
daysMissed = 32;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.habits[0].counterUp).to.equal(0);
expect(tasksByType.habits[0].counterDown).to.equal(0);
});
it('should reset a monthly habit counter when server tz is last day of month but user tz is first day of the month', async () => {
clock.restore();
daysMissed = 0;
// Server clock: 4/30/17 11pm UTC
2019-10-08 18:45:38 +00:00
const monday = new Date('April 30, 2017 23:00:00 GMT').getTime();
clock = sinon.useFakeTimers(monday);
// User clock: 5/1/17 2am UTC + 3
user.preferences.timezoneOffset = -180;
tasksByType.habits[0].frequency = 'monthly';
tasksByType.habits[0].counterUp = 1;
tasksByType.habits[0].counterDown = 1;
daysMissed = 1;
// should reset
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.habits[0].counterUp).to.equal(0);
expect(tasksByType.habits[0].counterDown).to.equal(0);
});
it('should not reset a monthly habit counter when server tz is first day of month but user tz is 2nd day of the month', async () => {
clock.restore();
// Server clock: 5/1/17 11pm UTC
2019-10-08 18:45:38 +00:00
const monday = new Date('May 1, 2017 23:00:00 GMT').getTime();
clock = sinon.useFakeTimers(monday);
// User clock: 5/2/17 2am UTC + 3
user.preferences.timezoneOffset = -180;
tasksByType.habits[0].frequency = 'monthly';
tasksByType.habits[0].counterUp = 1;
tasksByType.habits[0].counterDown = 1;
daysMissed = 1;
// should not reset
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.habits[0].counterUp).to.equal(1);
expect(tasksByType.habits[0].counterDown).to.equal(1);
// User missed one day, which will subtract User clock back to 5/1/17 2am UTC + 3
// should reset
daysMissed = 2;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(tasksByType.habits[0].counterUp).to.equal(0);
expect(tasksByType.habits[0].counterDown).to.equal(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
});
describe('perfect day', async () => {
beforeEach(async () => {
2019-10-08 18:45:38 +00:00
const daily = {
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
text: 'test daily',
type: 'daily',
};
2019-10-08 18:45:38 +00:00
const task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line new-cap
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
tasksByType.dailys = [];
tasksByType.dailys.push(task);
const statsComputedRes = common.statsComputed(user);
const stubbedStatsComputed = sinon.stub(common, 'statsComputed');
2019-10-08 18:45:38 +00:00
stubbedStatsComputed.returns(Object.assign(statsComputedRes, { con: 1 }));
});
afterEach(async () => {
common.statsComputed.restore();
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
});
it('stores a new entry in user.history.exp', async () => {
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.lvl = 2;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.history.exp).to.have.lengthOf(1);
2019-07-30 16:58:21 +00:00
expect(user.history.exp[0].value).to.equal(25);
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
});
it('increments perfect day achievement if all (at least 1) due dailies were completed', async () => {
daysMissed = 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
tasksByType.dailys[0].completed = true;
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
tasksByType.dailys[0].isDue = true;
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
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.achievements.perfect).to.equal(1);
});
it('does not increment perfect day achievement if no due dailies', async () => {
daysMissed = 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
tasksByType.dailys[0].completed = true;
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
tasksByType.dailys[0].isDue = 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
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.achievements.perfect).to.equal(0);
});
it('gives perfect day buff if all (at least 1) due dailies were completed', async () => {
daysMissed = 1;
tasksByType.dailys[0].completed = true;
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
tasksByType.dailys[0].isDue = true;
2019-10-08 18:45:38 +00:00
const previousBuffs = user.stats.buffs.toObject();
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(user.stats.buffs.str).to.be.greaterThan(previousBuffs.str);
expect(user.stats.buffs.int).to.be.greaterThan(previousBuffs.int);
expect(user.stats.buffs.per).to.be.greaterThan(previousBuffs.per);
expect(user.stats.buffs.con).to.be.greaterThan(previousBuffs.con);
});
it('gives perfect day buff if all (at least 1) due dailies were completed when user is sleeping', async () => {
user.preferences.sleep = true;
daysMissed = 1;
tasksByType.dailys[0].completed = true;
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
tasksByType.dailys[0].isDue = true;
2019-10-08 18:45:38 +00:00
const previousBuffs = user.stats.buffs.toObject();
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(user.stats.buffs.str).to.be.greaterThan(previousBuffs.str);
expect(user.stats.buffs.int).to.be.greaterThan(previousBuffs.int);
expect(user.stats.buffs.per).to.be.greaterThan(previousBuffs.per);
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
expect(user.stats.buffs.con).to.be.greaterThan(previousBuffs.con);
});
it('clears buffs if user does not have a perfect day (no due dailys)', async () => {
daysMissed = 1;
tasksByType.dailys[0].completed = true;
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
tasksByType.dailys[0].isDue = false;
user.stats.buffs = {
str: 1,
int: 1,
per: 1,
con: 1,
stealth: 0,
streaks: true,
};
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(user.stats.buffs.str).to.equal(0);
expect(user.stats.buffs.int).to.equal(0);
expect(user.stats.buffs.per).to.equal(0);
expect(user.stats.buffs.con).to.equal(0);
expect(user.stats.buffs.stealth).to.equal(0);
expect(user.stats.buffs.streaks).to.be.false;
});
it('clears buffs if user does not have a perfect day (no due dailys) when user is sleeping', async () => {
user.preferences.sleep = true;
daysMissed = 1;
tasksByType.dailys[0].completed = true;
2019-10-08 18:45:38 +00:00
tasksByType.dailys[0].startDate = moment(new Date()).add({ days: 1 });
user.stats.buffs = {
str: 1,
int: 1,
per: 1,
con: 1,
stealth: 0,
streaks: true,
};
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(user.stats.buffs.str).to.equal(0);
expect(user.stats.buffs.int).to.equal(0);
expect(user.stats.buffs.per).to.equal(0);
expect(user.stats.buffs.con).to.equal(0);
expect(user.stats.buffs.stealth).to.equal(0);
expect(user.stats.buffs.streaks).to.be.false;
});
it('clears buffs if user does not have a perfect day (at least one due daily not completed)', async () => {
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
daysMissed = 1;
tasksByType.dailys[0].completed = false;
2019-10-08 18:45:38 +00:00
tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 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
user.stats.buffs = {
str: 1,
int: 1,
per: 1,
con: 1,
stealth: 0,
streaks: true,
};
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.stats.buffs.str).to.equal(0);
expect(user.stats.buffs.int).to.equal(0);
expect(user.stats.buffs.per).to.equal(0);
expect(user.stats.buffs.con).to.equal(0);
expect(user.stats.buffs.stealth).to.equal(0);
expect(user.stats.buffs.streaks).to.be.false;
});
it('clears buffs if user does not have a perfect day (at least one due daily not completed) when user is sleeping', async () => {
user.preferences.sleep = true;
daysMissed = 1;
tasksByType.dailys[0].completed = false;
2019-10-08 18:45:38 +00:00
tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
user.stats.buffs = {
str: 1,
int: 1,
per: 1,
con: 1,
stealth: 0,
streaks: true,
};
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(user.stats.buffs.str).to.equal(0);
expect(user.stats.buffs.int).to.equal(0);
expect(user.stats.buffs.per).to.equal(0);
expect(user.stats.buffs.con).to.equal(0);
expect(user.stats.buffs.stealth).to.equal(0);
expect(user.stats.buffs.streaks).to.be.false;
});
it('always grants a perfect day buff when CRON_SAFE_MODE is set', async () => {
sandbox.stub(nconf, 'get').withArgs('CRON_SAFE_MODE').returns('true');
2019-10-08 18:45:38 +00:00
const cronOverride = requireAgain(pathToCronLib).cron;
daysMissed = 1;
tasksByType.dailys[0].completed = false;
2019-10-08 18:45:38 +00:00
tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
2019-10-08 18:45:38 +00:00
const previousBuffs = user.stats.buffs.toObject();
2019-10-08 18:45:38 +00:00
cronOverride({
user, tasksByType, daysMissed, analytics,
});
expect(user.stats.buffs.str).to.be.greaterThan(previousBuffs.str);
expect(user.stats.buffs.int).to.be.greaterThan(previousBuffs.int);
expect(user.stats.buffs.per).to.be.greaterThan(previousBuffs.per);
expect(user.stats.buffs.con).to.be.greaterThan(previousBuffs.con);
});
it('always grants a perfect day buff when CRON_SAFE_MODE is set when user is sleeping', async () => {
user.preferences.sleep = true;
sandbox.stub(nconf, 'get').withArgs('CRON_SAFE_MODE').returns('true');
2019-10-08 18:45:38 +00:00
const cronOverride = requireAgain(pathToCronLib).cron;
daysMissed = 1;
tasksByType.dailys[0].completed = false;
2019-10-08 18:45:38 +00:00
tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
2019-10-08 18:45:38 +00:00
const previousBuffs = user.stats.buffs.toObject();
2019-10-08 18:45:38 +00:00
cronOverride({
user, tasksByType, daysMissed, analytics,
});
expect(user.stats.buffs.str).to.be.greaterThan(previousBuffs.str);
expect(user.stats.buffs.int).to.be.greaterThan(previousBuffs.int);
expect(user.stats.buffs.per).to.be.greaterThan(previousBuffs.per);
expect(user.stats.buffs.con).to.be.greaterThan(previousBuffs.con);
});
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
});
describe('adding mp', async () => {
it('should add mp to user', async () => {
const statsComputedRes = common.statsComputed(user);
const stubbedStatsComputed = sinon.stub(common, 'statsComputed');
2019-10-08 18:45:38 +00:00
const mpBefore = user.stats.mp;
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
tasksByType.dailys[0].completed = true;
2019-10-08 18:45:38 +00:00
stubbedStatsComputed.returns(Object.assign(statsComputedRes, { maxMP: 100 }));
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.stats.mp).to.be.greaterThan(mpBefore);
common.statsComputed.restore();
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
});
it('should not add mp to user when user is sleeping', async () => {
const statsComputedRes = common.statsComputed(user);
const stubbedStatsComputed = sinon.stub(common, 'statsComputed');
user.preferences.sleep = true;
2019-10-08 18:45:38 +00:00
const mpBefore = user.stats.mp;
tasksByType.dailys[0].completed = true;
2019-10-08 18:45:38 +00:00
stubbedStatsComputed.returns(Object.assign(statsComputedRes, { maxMP: 100 }));
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(user.stats.mp).to.equal(mpBefore);
common.statsComputed.restore();
});
it('set user\'s mp to statsComputed.maxMP when user.stats.mp is greater', async () => {
const statsComputedRes = common.statsComputed(user);
const stubbedStatsComputed = sinon.stub(common, 'statsComputed');
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.mp = 120;
2019-10-08 18:45:38 +00:00
stubbedStatsComputed.returns(Object.assign(statsComputedRes, { maxMP: 100 }));
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
expect(user.stats.mp).to.equal(common.statsComputed(user).maxMP);
common.statsComputed.restore();
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
});
});
describe('quest progress', async () => {
beforeEach(async () => {
2019-10-08 18:45:38 +00:00
const daily = {
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
text: 'test daily',
type: 'daily',
};
2019-10-08 18:45:38 +00:00
const task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line new-cap
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
tasksByType.dailys = [];
tasksByType.dailys.push(task);
const statsComputedRes = common.statsComputed(user);
const stubbedStatsComputed = sinon.stub(common, 'statsComputed');
2019-10-08 18:45:38 +00:00
stubbedStatsComputed.returns(Object.assign(statsComputedRes, { con: 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
daysMissed = 1;
2019-10-08 18:45:38 +00:00
tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 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
});
afterEach(async () => {
common.statsComputed.restore();
});
it('resets user progress', async () => {
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.party.quest.progress.up).to.equal(0);
expect(user.party.quest.progress.down).to.equal(0);
expect(user.party.quest.progress.collectedItems).to.equal(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
});
it('applies the user progress', async () => {
const progress = await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(progress.down).to.equal(-1);
});
});
describe('private messages', async () => {
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 lastMessageId;
beforeEach(async () => {
2019-10-08 18:45:38 +00:00
const maxPMs = 200;
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 (let index = 0; index < maxPMs - 1; index += 1) {
2019-10-08 18:45:38 +00:00
const messageId = common.uuid();
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.inbox.messages[messageId] = {
id: messageId,
text: `test ${index}`,
timestamp: Number(new Date()),
likes: {},
flags: {},
flagCount: 0,
};
}
lastMessageId = common.uuid();
user.inbox.messages[lastMessageId] = {
id: lastMessageId,
text: `test ${lastMessageId}`,
timestamp: Number(new Date()),
likes: {},
flags: {},
flagCount: 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
describe('login incentives', async () => {
it('increments incentive counter each cron', async () => {
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(1);
2019-10-08 18:45:38 +00:00
user.lastCron = moment(new Date()).subtract({ days: 1 });
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(2);
});
it('pushes a notification of the day\'s incentive each cron', async () => {
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.notifications.length).to.eql(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
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
});
it('replaces previous notifications', async () => {
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
2019-10-08 18:45:38 +00:00
const filteredNotifications = user.notifications.filter(n => n.type === 'LOGIN_INCENTIVE');
expect(filteredNotifications.length).to.equal(1);
});
it('increments loginIncentives by 1 even if days are skipped in between', async () => {
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
daysMissed = 3;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(1);
});
it('increments loginIncentives by 1 even if user is sleeping', async () => {
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.preferences.sleep = true;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(1);
});
it('awards user bard robes if login incentive is 1', async () => {
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(1);
expect(user.items.gear.owned.armor_special_bardRobes).to.eql(true);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
});
it('awards user incentive backgrounds if login incentive is 2', async () => {
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.loginIncentives = 1;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(2);
expect(user.purchased.background.blue).to.eql(true);
expect(user.purchased.background.green).to.eql(true);
expect(user.purchased.background.purple).to.eql(true);
expect(user.purchased.background.red).to.eql(true);
expect(user.purchased.background.yellow).to.eql(true);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
});
it('awards user Bard Hat if login incentive is 3', async () => {
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.loginIncentives = 2;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(3);
expect(user.items.gear.owned.head_special_bardHat).to.eql(true);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
});
it('awards user RoyalPurple Hatching Potion if login incentive is 4', async () => {
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.loginIncentives = 3;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(4);
expect(user.items.hatchingPotions.RoyalPurple).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
});
it('awards user a Chocolate, Meat and Pink Contton Candy if login incentive is 5', async () => {
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.loginIncentives = 4;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(5);
expect(user.items.food.Chocolate).to.eql(1);
expect(user.items.food.Meat).to.eql(1);
expect(user.items.food.CottonCandyPink).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
});
it('awards user moon quest if login incentive is 7', async () => {
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.loginIncentives = 6;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(7);
expect(user.items.quests.moon1).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
});
it('awards user RoyalPurple Hatching Potion if login incentive is 10', async () => {
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.loginIncentives = 9;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(10);
expect(user.items.hatchingPotions.RoyalPurple).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
});
it('awards user a Strawberry, Patato and Blue Contton Candy if login incentive is 14', async () => {
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.loginIncentives = 13;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(14);
expect(user.items.food.Strawberry).to.eql(1);
expect(user.items.food.Potatoe).to.eql(1);
expect(user.items.food.CottonCandyBlue).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
});
it('awards user a bard instrument if login incentive is 18', async () => {
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.loginIncentives = 17;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(18);
expect(user.items.gear.owned.weapon_special_bardInstrument).to.eql(true);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
});
it('awards user second moon quest if login incentive is 22', async () => {
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.loginIncentives = 21;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(22);
expect(user.items.quests.moon2).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
});
it('awards user a RoyalPurple hatching potion if login incentive is 26', async () => {
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.loginIncentives = 25;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(26);
expect(user.items.hatchingPotions.RoyalPurple).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
});
it('awards user Fish, Milk, Rotten Meat and Honey if login incentive is 30', async () => {
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.loginIncentives = 29;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(30);
expect(user.items.food.Fish).to.eql(1);
expect(user.items.food.Milk).to.eql(1);
expect(user.items.food.RottenMeat).to.eql(1);
expect(user.items.food.Honey).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
});
it('awards user a RoyalPurple hatching potion if login incentive is 35', async () => {
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.loginIncentives = 34;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(35);
expect(user.items.hatchingPotions.RoyalPurple).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
});
it('awards user the third moon quest if login incentive is 40', async () => {
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.loginIncentives = 39;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(40);
expect(user.items.quests.moon3).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
});
it('awards user a RoyalPurple hatching potion if login incentive is 45', async () => {
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.loginIncentives = 44;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(45);
expect(user.items.hatchingPotions.RoyalPurple).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
});
it('awards user a saddle if login incentive is 50', async () => {
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.loginIncentives = 49;
await cron({
2019-10-08 18:45:38 +00:00
user, tasksByType, daysMissed, analytics,
});
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
expect(user.loginIncentives).to.eql(50);
expect(user.items.food.Saddle).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
});
});
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
});
2016-05-27 03:08: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
describe('cron wrapper', () => {
let res; let
req;
let user;
2016-05-27 03:08:31 +00:00
beforeEach(async () => {
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
res = generateRes();
req = generateReq();
user = await res.locals.user.save();
res.analytics = analytics;
2016-05-27 03:08: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
afterEach(() => {
2016-05-27 03:08:31 +00:00
sandbox.restore();
});
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
it('calls next when user is not attached', async () => {
res.locals.user = null;
await cronWrapper(req, res);
});
it('calls next when days have not been missed', async () => {
await cronWrapper(req, res);
});
it('should clear todos older than 30 days for free users', async () => {
user.lastCron = moment(new Date()).subtract({ days: 2 });
const task = generateTodo(user);
task.dateCompleted = moment(new Date()).subtract({ days: 31 });
task.completed = true;
await task.save();
await user.save();
await cronWrapper(req, res);
const taskRes = await Tasks.Task.findOne({ _id: task._id });
expect(taskRes).to.not.exist;
});
it('should not clear todos older than 30 days for subscribed users', async () => {
user.purchased.plan.customerId = 'subscribedId';
user.purchased.plan.dateUpdated = moment('012013', 'MMYYYY');
user.lastCron = moment(new Date()).subtract({ days: 2 });
const task = generateTodo(user);
task.dateCompleted = moment(new Date()).subtract({ days: 31 });
task.completed = true;
await Promise.all([task.save(), user.save()]);
await cronWrapper(req, res);
const taskRes = await Tasks.Task.findOne({ _id: task._id });
expect(taskRes).to.exist;
});
it('should clear todos older than 90 days for subscribed users', async () => {
user.purchased.plan.customerId = 'subscribedId';
user.purchased.plan.dateUpdated = moment('012013', 'MMYYYY');
user.lastCron = moment(new Date()).subtract({ days: 2 });
const task = generateTodo(user);
task.dateCompleted = moment(new Date()).subtract({ days: 91 });
task.completed = true;
await task.save();
await user.save();
await cronWrapper(req, res);
const taskRes = await Tasks.Task.findOne({ _id: task._id });
expect(taskRes).to.not.exist;
});
it('should call next if user was not modified after cron', async () => {
const hpBefore = user.stats.hp;
user.lastCron = moment(new Date()).subtract({ days: 2 });
await user.save();
await cronWrapper(req, res);
expect(hpBefore).to.equal(user.stats.hp);
});
it('runs cron if previous cron was incomplete', async () => {
user.lastCron = moment(new Date()).subtract({ days: 1 });
user.auth.timestamps.loggedin = moment(new Date()).subtract({ days: 4 });
const now = new Date();
await user.save();
await cronWrapper(req, res);
expect(moment(now).isSame(user.lastCron, 'day'));
expect(moment(now).isSame(user.auth.timestamps.loggedin, 'day'));
});
it('updates user.auth.timestamps.loggedin and lastCron', async () => {
user.lastCron = moment(new Date()).subtract({ days: 2 });
const now = new Date();
await user.save();
await cronWrapper(req, res);
expect(moment(now).isSame(user.lastCron, 'day'));
expect(moment(now).isSame(user.auth.timestamps.loggedin, 'day'));
});
it('does damage for missing dailies', async () => {
const hpBefore = user.stats.hp;
user.lastCron = moment(new Date()).subtract({ days: 2 });
const daily = generateDaily(user);
daily.startDate = moment(new Date()).subtract({ days: 2 });
await daily.save();
await user.save();
await cronWrapper(req, res);
const updatedUser = await User.findOne({ _id: user._id });
expect(updatedUser.stats.hp).to.be.lessThan(hpBefore);
});
it('updates tasks', async () => {
user.lastCron = moment(new Date()).subtract({ days: 2 });
const todo = generateTodo(user);
const todoValueBefore = todo.value;
await Promise.all([todo.save(), user.save()]);
await cronWrapper(req, res);
const todoFound = await Tasks.Task.findOne({ _id: todo._id });
expect(todoFound.value).to.be.lessThan(todoValueBefore);
});
it('updates large number of tasks', async () => {
user.lastCron = moment(new Date()).subtract({ days: 2 });
const todo = generateTodo(user);
const todoValueBefore = todo.value;
const start = new Date();
const saves = [todo.save(), user.save()];
for (let i = 0; i < 200; i += 1) {
const newTodo = generateTodo(user);
newTodo.value = i;
saves.push(newTodo.save());
}
await Promise.all(saves);
await cronWrapper(req, res);
const duration = new Date() - start;
expect(duration).to.be.lessThan(1000);
const todoFound = await Tasks.Task.findOne({ _id: todo._id });
expect(moment(start).isSame(user.lastCron, 'day'));
expect(moment(start).isSame(user.auth.timestamps.loggedin, 'day'));
expect(todoFound.value).to.be.lessThan(todoValueBefore);
});
it('fails entire cron if one task is failing', async () => {
const lastCron = moment(new Date()).subtract({ days: 2 });
user.lastCron = lastCron;
const todo = generateTodo(user);
const todoValueBefore = todo.value;
const badTodo = generateTodo(user);
badTodo.text = 'bad todo';
badTodo.attribute = 'bad';
await Promise.all([badTodo.save({ validateBeforeSave: false }), todo.save(), user.save()]);
2016-05-27 03:08:31 +00:00
try {
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
await cronWrapper(req, res);
2016-05-27 03:08:31 +00:00
} catch (err) {
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
expect(err).to.exist;
2016-05-27 03:08: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
const todoFound = await Tasks.Task.findOne({ _id: todo._id });
expect(moment(lastCron).isSame(user.lastCron, 'day'));
expect(todoFound.value).to.be.equal(todoValueBefore);
2016-05-27 03:08: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
it('applies quest progress', async () => {
const hpBefore = user.stats.hp;
user.lastCron = moment(new Date()).subtract({ days: 2 });
const daily = generateDaily(user);
daily.startDate = moment(new Date()).subtract({ days: 2 });
await daily.save();
2016-05-27 03:08: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
const questKey = 'dilatory';
user.party.quest.key = questKey;
2016-05-27 03:08: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
const party = new Group({
type: 'party',
name: generateUUID(),
leader: user._id,
});
party.quest.members[user._id] = true;
party.quest.key = questKey;
await party.save();
user.party._id = party._id;
await user.save();
2016-05-27 03:08: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
party.startQuest(user);
await cronWrapper(req, res);
const updatedUser = await User.findOne({ _id: user._id });
expect(updatedUser.stats.hp).to.be.lessThan(hpBefore);
});
2016-05-27 03:08: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
it('cronSignature less than 5 minutes ago should error', async () => {
user.lastCron = moment(new Date()).subtract({ days: 2 });
const now = new Date();
await User.updateOne({
_id: user._id,
}, {
$set: {
_cronSignature: now.getTime() - CRON_TIMEOUT_WAIT + CRON_TIMEOUT_UNIT,
},
}).exec();
await user.save();
2016-05-27 03:08:31 +00:00
try {
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
await cronWrapper(req, res);
2016-05-27 03:08:31 +00:00
} catch (err) {
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
expect(err).to.exist;
2016-05-27 03:08: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
it('cronSignature longer than an hour ago should allow cron', async () => {
user.lastCron = moment(new Date()).subtract({ days: 2 });
const now = new Date();
await User.updateOne({
_id: user._id,
}, {
$set: {
_cronSignature: now.getTime() - CRON_TIMEOUT_WAIT - CRON_TIMEOUT_UNIT,
},
}).exec();
await user.save();
await cronWrapper(req, res);
expect(moment(now).isSame(user.auth.timestamps.loggedin, 'day'));
expect(user._cronSignature).to.be.equal('NOT_RUNNING');
});
it('cron should not run more than once', async () => {
user.lastCron = moment(new Date()).subtract({ days: 2 });
await user.save();
const result = await Promise.allSettled([
cronWrapper(req, res),
cronWrapper(req, res),
new Promise((resolve, reject) => {
setTimeout(async () => {
try {
const runResult = await cronWrapper(req, res);
if (runResult !== null) {
reject(new Error('cron ran more than once'));
} else {
resolve();
}
} catch (err) {
reject(err);
}
}, 200);
}),
]);
expect(result.filter(r => r.status === 'fulfilled')).to.have.lengthOf(2);
expect(result.filter(r => r.status === 'rejected')).to.have.lengthOf(1);
});
2016-05-27 03:08:31 +00:00
});