Compare commits

..

111 Commits

Author SHA1 Message Date
Sabe Jones b63dcf74ca 4.179.0 2021-01-28 16:56:22 -06:00
Sabe Jones 6dbbdd8070 feat(content): Habitica Birthday 2021 2021-01-28 16:56:01 -06:00
Sabe Jones 6022cb6c79 Merge branch 'develop' into release 2021-01-28 16:21:25 -06:00
Sabe Jones 8afb82ceae 4.178.4 2021-01-26 22:11:25 -06:00
Melior 3159f7d12c chore(i18n): update locale files 2021-01-26 22:11:17 -06:00
Melior 90fe57fb9c Translated using Weblate (Spanish)
Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/es/

Translated using Weblate (Spanish)

Currently translated at 90.2% (2025 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/es/

Translated using Weblate (Bosnian)

Currently translated at 66.0% (37 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/bs/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/bs/

Translated using Weblate (Greek)

Currently translated at 74.0% (433 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/el/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (61 of 61 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/bs/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (724 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/

Translated using Weblate (Czech)

Currently translated at 100.0% (585 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/cs/

Translated using Weblate (Hindi)

Currently translated at 99.4% (186 of 187 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/hi/

Translated using Weblate (Greek)

Currently translated at 73.6% (431 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/el/

Translated using Weblate (Hindi)

Currently translated at 97.1% (101 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/hi/

Translated using Weblate (Japanese)

Currently translated at 100.0% (182 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ja/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (182 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/en@pirate/

Translated using Weblate (Japanese)

Currently translated at 100.0% (368 of 368 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (102 of 102 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/pt_BR/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/en@pirate/

Translated using Weblate (Arabic)

Currently translated at 63.0% (70 of 111 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/ar/

Translated using Weblate (Arabic)

Currently translated at 88.1% (112 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ar/

Translated using Weblate (Greek)

Currently translated at 73.3% (429 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/el/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (127 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pt_BR/

Translated using Weblate (Hindi)

Currently translated at 99.4% (186 of 187 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/hi/

Translated using Weblate (Greek)

Currently translated at 100.0% (187 of 187 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/el/

Translated using Weblate (Hindi)

Currently translated at 100.0% (102 of 102 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/hi/

Translated using Weblate (Greek)

Currently translated at 72.9% (427 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/el/

Translated using Weblate (Hindi)

Currently translated at 64.2% (117 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/hi/

Translated using Weblate (English)

Currently translated at 64.8% (118 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/en@lolcat/

Translated using Weblate (Hindi)

Currently translated at 86.8% (53 of 61 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/hi/

Translated using Weblate (Bosnian)

Currently translated at 83.6% (51 of 61 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/bs/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (203 of 203 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/bs/

Translated using Weblate (Hindi)

Currently translated at 75.8% (1703 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/hi/

Translated using Weblate (Hindi)

Currently translated at 75.8% (1703 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/hi/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (54 of 54 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/bs/

Translated using Weblate (Hindi)

Currently translated at 100.0% (15 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/hi/

Translated using Weblate (Hindi)

Currently translated at 88.5% (324 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/hi/

Translated using Weblate (Japanese)

Currently translated at 100.0% (123 of 123 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ja/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/en_GB/

Translated using Weblate (Basque)

Currently translated at 1.1% (2 of 181 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/eu/

Translated using Weblate (Hindi)

Currently translated at 97.8% (183 of 187 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/hi/

Translated using Weblate (Basque)

Currently translated at 100.0% (13 of 13 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/eu/

Translated using Weblate (Basque)

Currently translated at 63.4% (66 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/eu/

Translated using Weblate (Japanese)

Currently translated at 100.0% (368 of 368 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Spanish)

Currently translated at 89.3% (2005 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (French)

Currently translated at 100.0% (724 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/fr/

Translated using Weblate (Japanese)

Currently translated at 100.0% (102 of 102 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/ja/

Translated using Weblate (Spanish)

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es/
2021-01-27 05:06:40 +01:00
negue 1bccbc03fa Hotfix: moving pinned items (#12935)
* increase checks for moving pinned items - fixes #10406

* allow to move official pinneditems

* using common object instead of method import
2021-01-25 17:40:18 -06:00
Sabe Jones 91fc5a931c Revert "build(deps): bump bootstrap from 4.5.3 to 4.6.0 in /website/client (#13004)"
This reverts commit a6f0893ee4.
2021-01-25 17:02:51 -06:00
Bart Enkelaar a543531956 Fix error logs in client unit tests from setTitle (#12967) 2021-01-25 16:52:26 -06:00
shantanu96 43fc390e28 #12970 Fixed 'String " not found' bug in categories while saving guild descr… (#12989)
* Fixed 'String " not found' bug in categories while saving guild description

* syntax changes
2021-01-25 16:44:52 -06:00
dependabot-preview[bot] c6cf4cfc75 build(deps): bump vue-cli-plugin-storybook in /website/client (#13008)
Bumps [vue-cli-plugin-storybook](https://github.com/storybooks/vue-cli-plugin-storybook) from 0.6.1 to 2.0.0.
- [Release notes](https://github.com/storybooks/vue-cli-plugin-storybook/releases)
- [Changelog](https://github.com/storybookjs/vue-cli-plugin-storybook/blob/master/CHANGELOG.md)
- [Commits](https://github.com/storybooks/vue-cli-plugin-storybook/compare/v0.6.1...v2.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 16:12:51 -06:00
dependabot-preview[bot] f8483ef80c build(deps-dev): bump sinon from 9.2.3 to 9.2.4 (#12992)
Bumps [sinon](https://github.com/sinonjs/sinon) from 9.2.3 to 9.2.4.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v9.2.3...v9.2.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 15:55:16 -06:00
dependabot-preview[bot] f60fd85dea build(deps): bump @storybook/vue in /website/client (#12996)
Bumps [@storybook/vue](https://github.com/storybookjs/storybook/tree/HEAD/app/vue) from 5.3.19 to 6.1.15.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.1.15/app/vue)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 15:54:45 -06:00
dependabot-preview[bot] 9a01255f41 build(deps): bump @storybook/addon-knobs in /website/client (#12994)
Bumps [@storybook/addon-knobs](https://github.com/storybookjs/storybook/tree/HEAD/addons/knobs) from 5.3.19 to 6.1.15.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.1.15/addons/knobs)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 15:35:53 -06:00
dependabot-preview[bot] 90d385c9b7 build(deps-dev): bump run-rs from 0.7.3 to 0.7.4 (#12863)
Bumps [run-rs](https://github.com/vkarpov15/run-rs) from 0.7.3 to 0.7.4.
- [Release notes](https://github.com/vkarpov15/run-rs/releases)
- [Changelog](https://github.com/vkarpov15/run-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vkarpov15/run-rs/compare/0.7.3...0.7.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 15:35:20 -06:00
dependabot-preview[bot] 475ad8deb1 build(deps): bump webpack from 4.45.0 to 4.46.0 in /website/client (#12983)
Bumps [webpack](https://github.com/webpack/webpack) from 4.45.0 to 4.46.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.45.0...v4.46.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 15:33:51 -06:00
dependabot-preview[bot] 55a17af667 build(deps): bump helmet from 4.3.1 to 4.4.1 (#12991)
Bumps [helmet](https://github.com/helmetjs/helmet) from 4.3.1 to 4.4.1.
- [Release notes](https://github.com/helmetjs/helmet/releases)
- [Changelog](https://github.com/helmetjs/helmet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/helmetjs/helmet/compare/v4.3.1...v4.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 15:32:30 -06:00
dependabot-preview[bot] 92ae0ddf54 build(deps): bump @storybook/addon-links in /website/client (#12997)
Bumps [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/addons/links) from 5.3.19 to 6.1.15.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.1.15/addons/links)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 15:31:10 -06:00
dependabot-preview[bot] f856ee6a09 build(deps): bump @vue/cli-service in /website/client (#13001)
Bumps [@vue/cli-service](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-service) from 4.5.10 to 4.5.11.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/v4.5.11/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.5.11/packages/@vue/cli-service)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 15:10:50 -06:00
dependabot-preview[bot] b8d459be1c build(deps): bump @vue/cli-plugin-router in /website/client (#12998)
Bumps [@vue/cli-plugin-router](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-router) from 4.5.10 to 4.5.11.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/v4.5.11/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.5.11/packages/@vue/cli-plugin-router)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 15:10:10 -06:00
dependabot-preview[bot] 93ee7cd5c9 build(deps): bump @vue/cli-plugin-babel in /website/client (#13000)
Bumps [@vue/cli-plugin-babel](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-babel) from 4.5.10 to 4.5.11.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/v4.5.11/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.5.11/packages/@vue/cli-plugin-babel)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 15:09:53 -06:00
dependabot-preview[bot] 70b016f482 build(deps): bump csv-stringify from 5.6.0 to 5.6.1 (#12976)
Bumps [csv-stringify](https://github.com/adaltas/node-csv-stringify) from 5.6.0 to 5.6.1.
- [Release notes](https://github.com/adaltas/node-csv-stringify/releases)
- [Changelog](https://github.com/adaltas/node-csv-stringify/blob/master/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv-stringify/compare/v5.6.0...v5.6.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 15:09:18 -06:00
dependabot-preview[bot] fced7f52d9 build(deps): bump amplitude-js from 7.4.0 to 7.4.1 in /website/client (#12985)
Bumps [amplitude-js](https://github.com/amplitude/amplitude-javascript) from 7.4.0 to 7.4.1.
- [Release notes](https://github.com/amplitude/amplitude-javascript/releases)
- [Changelog](https://github.com/amplitude/Amplitude-JavaScript/blob/main/CHANGELOG.md)
- [Commits](https://github.com/amplitude/amplitude-javascript/compare/v7.4.0...v7.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 15:07:55 -06:00
dependabot-preview[bot] 48db11e4a1 build(deps): bump stripe from 8.130.0 to 8.132.0 (#12993)
Bumps [stripe](https://github.com/stripe/stripe-node) from 8.130.0 to 8.132.0.
- [Release notes](https://github.com/stripe/stripe-node/releases)
- [Changelog](https://github.com/stripe/stripe-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-node/compare/v8.130.0...v8.132.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 15:07:19 -06:00
dependabot-preview[bot] 9adb71a58f build(deps): bump mongoose from 5.11.11 to 5.11.13 (#12990)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.11.11 to 5.11.13.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/History.md)
- [Commits](https://github.com/Automattic/mongoose/compare/5.11.11...5.11.13)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 15:06:28 -06:00
dependabot-preview[bot] cf03bf11ae build(deps): bump sass from 1.32.2 to 1.32.5 in /website/client (#12999)
Bumps [sass](https://github.com/sass/dart-sass) from 1.32.2 to 1.32.5.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.32.2...1.32.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 15:04:24 -06:00
dependabot-preview[bot] 4b08451e53 build(deps): bump inspectpack from 4.5.2 to 4.6.1 in /website/client (#12995)
Bumps [inspectpack](https://github.com/FormidableLabs/inspectpack) from 4.5.2 to 4.6.1.
- [Release notes](https://github.com/FormidableLabs/inspectpack/releases)
- [Changelog](https://github.com/FormidableLabs/inspectpack/blob/master/HISTORY.md)
- [Commits](https://github.com/FormidableLabs/inspectpack/compare/v4.5.2...v4.6.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 15:02:41 -06:00
dependabot-preview[bot] ca882c83ea build(deps): bump core-js from 3.8.2 to 3.8.3 in /website/client (#13003)
Bumps [core-js](https://github.com/zloirock/core-js) from 3.8.2 to 3.8.3.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/compare/v3.8.2...v3.8.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 14:57:05 -06:00
dependabot-preview[bot] a6f0893ee4 build(deps): bump bootstrap from 4.5.3 to 4.6.0 in /website/client (#13004)
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 4.5.3 to 4.6.0.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v4.5.3...v4.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 14:56:46 -06:00
dependabot-preview[bot] 7208740fb6 build(deps): bump @storybook/addon-actions in /website/client (#13005)
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 5.3.19 to 6.1.15.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.1.15/addons/actions)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 14:56:00 -06:00
dependabot-preview[bot] e596ea6f03 build(deps): bump @vue/cli-plugin-unit-mocha in /website/client (#13006)
Bumps [@vue/cli-plugin-unit-mocha](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-unit-mocha) from 4.5.10 to 4.5.11.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/v4.5.11/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.5.11/packages/@vue/cli-plugin-unit-mocha)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 14:52:25 -06:00
dependabot-preview[bot] 5ee2d4a0e5 build(deps): bump @vue/cli-plugin-eslint in /website/client (#13007)
Bumps [@vue/cli-plugin-eslint](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-eslint) from 4.5.10 to 4.5.11.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/v4.5.11/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.5.11/packages/@vue/cli-plugin-eslint)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-25 14:52:03 -06:00
Melior c001831e63 Merge branch 'origin/develop' into Weblate. 2021-01-22 21:12:20 +01:00
Sabe Jones 55550d0562 4.178.3 2021-01-22 14:09:58 -06:00
Sabe Jones 4db1b1cdfa Merge branch 'develop' into release 2021-01-22 14:09:49 -06:00
Melior bf1f7672db Translated using Weblate (Arabic)
Currently translated at 60.3% (67 of 111 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/ar/

Translated using Weblate (Greek)

Currently translated at 72.6% (425 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/el/

Translated using Weblate (Arabic)

Currently translated at 67.0% (122 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ar/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (13 of 13 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/bs/

Translated using Weblate (Bosnian)

Currently translated at 27.7% (15 of 54 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/bs/

Translated using Weblate (Spanish)

Currently translated at 100.0% (182 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/es/

Translated using Weblate (Italian)

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/it/

Translated using Weblate (Spanish)

Currently translated at 88.4% (1985 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (123 of 123 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/pt_BR/

Translated using Weblate (Spanish)

Currently translated at 100.0% (585 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/

Translated using Weblate (Arabic)

Currently translated at 3.6% (4 of 111 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/ar/

Translated using Weblate (Arabic)

Currently translated at 100.0% (102 of 102 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/ar/

Translated using Weblate (Arabic)

Currently translated at 75.8% (1702 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ar/

Translated using Weblate (Arabic)

Currently translated at 84.1% (308 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ar/

Translated using Weblate (Greek)

Currently translated at 72.3% (423 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/el/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (182 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (127 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (368 of 368 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/en@pirate/

Translated using Weblate (Italian)

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/it/

Translated using Weblate (Japanese)

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ja/

Translated using Weblate (Greek)

Currently translated at 71.9% (421 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/el/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (85 of 85 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (111 of 111 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (724 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (123 of 123 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (585 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (182 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (13 of 13 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (127 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (2 of 2 strings)

Translation: Habitica/Noscript
Translate-URL: https://translate.habitica.com/projects/habitica/noscript/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (61 of 61 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (368 of 368 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (724 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (123 of 123 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (47 of 47 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (366 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (102 of 102 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/en@pirate/

Translated using Weblate (Greek)

Currently translated at 71.6% (419 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/el/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (111 of 111 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/pt_BR/

Translated using Weblate (German)

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/de/

Translated using Weblate (German)

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/de/

Translated using Weblate (German)

Currently translated at 100.0% (102 of 102 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/de/

Translated using Weblate (German)

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (German)

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Japanese)

Currently translated at 100.0% (47 of 47 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ja/

Translated using Weblate (Greek)

Currently translated at 70.9% (415 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/el/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Japanese)

Currently translated at 100.0% (724 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

Translated using Weblate (Bosnian)

Currently translated at 53.1% (59 of 111 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/bs/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/bs/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Inventory
Translate-URL: https://translate.habitica.com/projects/habitica/inventory/bs/

Translated using Weblate (Greek)

Currently translated at 70.5% (413 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/el/

Translated using Weblate (Japanese)

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (47 of 47 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/ja/

Translated using Weblate (Bulgarian)

Currently translated at 90.3% (94 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/bg/

Translated using Weblate (Bosnian)

Currently translated at 22.5% (25 of 111 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/bs/

Translated using Weblate (Bosnian)

Currently translated at 99.0% (201 of 203 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/bs/

Translated using Weblate (Japanese)

Currently translated at 99.8% (2241 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Greek)

Currently translated at 2.7% (3 of 111 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/el/

Translated using Weblate (Greek)

Currently translated at 100.0% (102 of 102 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/el/

Translated using Weblate (Japanese)

Currently translated at 99.7% (2239 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Japanese)

Currently translated at 99.7% (2239 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 99.5% (2236 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Greek)

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (Japanese)

Currently translated at 99.5% (2236 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (366 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/pt_BR/

Translated using Weblate (Greek)

Currently translated at 96.1% (100 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (Japanese)

Currently translated at 99.4% (2232 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Czech)

Currently translated at 99.0% (101 of 102 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/cs/

Translated using Weblate (Czech)

Currently translated at 100.0% (585 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/cs/

Translated using Weblate (Czech)

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/cs/

Translated using Weblate (Czech)

Currently translated at 90.3% (94 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/cs/

Translated using Weblate (Czech)

Currently translated at 90.3% (94 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/cs/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/bs/

Translated using Weblate (Greek)

Currently translated at 94.2% (98 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (Bosnian)

Currently translated at 97.5% (198 of 203 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/bs/

Translated using Weblate (Persian)

Currently translated at 35.1% (19 of 54 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/fa/

Translated using Weblate (Japanese)

Currently translated at 99.2% (2228 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Swedish)

Currently translated at 70.1% (73 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/sv/

Translated using Weblate (Swedish)

Currently translated at 70.1% (73 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/sv/

Translated using Weblate (Bosnian)

Currently translated at 96.4% (54 of 56 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/bs/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (2 of 2 strings)

Translation: Habitica/Noscript
Translate-URL: https://translate.habitica.com/projects/habitica/noscript/bs/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (1 of 1 strings)

Translation: Habitica/Merch
Translate-URL: https://translate.habitica.com/projects/habitica/merch/bs/

Translated using Weblate (Dutch)

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (182 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (85 of 85 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (127 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (61 of 61 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (368 of 368 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/nl/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (368 of 368 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/en@pirate/

Translated using Weblate (Dutch)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Inventory
Translate-URL: https://translate.habitica.com/projects/habitica/inventory/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (203 of 203 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/nl/

Translated using Weblate (Dutch)

Currently translated at 95.5% (692 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/nl/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (123 of 123 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/en@pirate/

Translated using Weblate (Dutch)

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/nl/

Translated using Weblate (Greek)

Currently translated at 90.3% (94 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (Japanese)

Currently translated at 99.0% (2224 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Dutch)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (54 of 54 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (366 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (102 of 102 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/nl/

Translated using Weblate (Greek)

Currently translated at 87.5% (91 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (Italian)

Currently translated at 100.0% (182 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/it/

Translated using Weblate (Japanese)

Currently translated at 100.0% (127 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ja/

Translated using Weblate (Japanese)

Currently translated at 98.8% (2220 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (102 of 102 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/pt_BR/

Translated using Weblate (English)

Currently translated at 0.8% (5 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en@lolcat/

Translated using Weblate (English)

Currently translated at 100.0% (102 of 102 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/en@lolcat/

Translated using Weblate (English)

Currently translated at 100.0% (366 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/en@lolcat/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/en@pirate/

Translated using Weblate (Japanese)

Currently translated at 100.0% (127 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ja/

Translated using Weblate (Japanese)

Currently translated at 98.7% (2216 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (187 of 187 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (585 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ja/

Translated using Weblate (Persian)

Currently translated at 12.5% (13 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/fa/

Translated using Weblate (Greek)

Currently translated at 83.6% (87 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (23 of 23 strings)

Translation: Habitica/Loginincentives
Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/bs/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (15 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/bs/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (47 of 47 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/bs/

Translated using Weblate (Japanese)

Currently translated at 98.5% (2212 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Italian)

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/it/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (123 of 123 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/en@pirate/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (366 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/pt_BR/

Translated using Weblate (Italian)

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/it/

Translated using Weblate (Greek)

Currently translated at 77.8% (81 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (47 of 47 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/bs/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (123 of 123 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/bs/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (182 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/en_GB/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (111 of 111 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pt_BR/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en_GB/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en@pirate/

Translated using Weblate (Czech)

Currently translated at 100.0% (366 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/cs/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (585 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en_GB/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (585 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en@pirate/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (English (Pirate))

Currently translated at 99.6% (583 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en@pirate/

Translated using Weblate (English)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/en@lolcat/

Translated using Weblate (Bengali)

Currently translated at 96.2% (180 of 187 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/bn/

Translated using Weblate (Greek)

Currently translated at 73.0% (76 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (Chinese (Hong Kong))

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hant_HK/

Translated using Weblate (Vietnamese)

Currently translated at 89.3% (176 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/vi/

Translated using Weblate (Urdu (Pakistan))

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ur_PK/

Translated using Weblate (Klingon)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/tlh/

Translated using Weblate (Tagalog)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/tl/

Translated using Weblate (Thai)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/th/

Translated using Weblate (Tamil)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ta/

Translated using Weblate (Swahili)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/sw/

Translated using Weblate (Sundanese)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/su/

Translated using Weblate (Slovenian)

Currently translated at 56.8% (112 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/sl/

Translated using Weblate (Sinhala)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/si/

Translated using Weblate (Scots)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/sco/

Translated using Weblate (Norwegian Nynorsk)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/nn/

Translated using Weblate (Malay)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ms/

Translated using Weblate (Mongolian)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/mn/

Translated using Weblate (Malayalam)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ml/

Translated using Weblate (Macedonian)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/mk/

Translated using Weblate (Latvian)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/lv/

Translated using Weblate (Lithuanian)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/lt/

Translated using Weblate (Lingala)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ln/

Translated using Weblate (Latin)

Currently translated at 57.3% (113 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/la/

Translated using Weblate (Kurdish)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ku_IQ/

Translated using Weblate (Korean)

Currently translated at 62.4% (123 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ko/

Translated using Weblate (Javanese)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/jv/

Translated using Weblate (Lojban)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/jbo/

Translated using Weblate (Icelandic)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/is/

Translated using Weblate (Hindi)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/hi/

Translated using Weblate (Hawaiian)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/haw/

Translated using Weblate (Galician)

Currently translated at 55.8% (110 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/gl/

Translated using Weblate (Irish)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ga/

Translated using Weblate (Frisian)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/fy/

Translated using Weblate (Filipino)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/fil/

Translated using Weblate (Finnish)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/fi/

Translated using Weblate (Persian)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/fa/

Translated using Weblate (Estonian)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/et/

Translated using Weblate (Esperanto)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/eo/

Translated using Weblate (English)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/en@lolcat/

Translated using Weblate (Greek)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/el/

Translated using Weblate (Catalan)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ca/

Translated using Weblate (Bosnian)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/bs/

Translated using Weblate (Bengali)

Currently translated at 58.3% (115 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/bn/

Translated using Weblate (Belarusian)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/be/

Translated using Weblate (Arabic)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ar/

Translated using Weblate (Afrikaans)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/af/

Translated using Weblate (Acholi)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ach/

Translated using Weblate (Thai)

Currently translated at 98.3% (121 of 123 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/th/

Translated using Weblate (Spanish (Latin America))

Currently translated at 96.4% (698 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es_419/

Translated using Weblate (Portuguese)

Currently translated at 87.5% (7 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/pt/

Translated using Weblate (Ukrainian)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/uk/

Translated using Weblate (Serbian)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/sr/

Translated using Weblate (Slovak)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/sk/

Translated using Weblate (Romanian)

Currently translated at 83.2% (164 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ro/

Translated using Weblate (Portuguese)

Currently translated at 69.5% (137 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pt/

Translated using Weblate (Indonesian)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/id/

Translated using Weblate (Hebrew)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/he/

Translated using Weblate (Danish)

Currently translated at 56.8% (112 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/da/

Translated using Weblate (Dutch)

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/nl/

Translated using Weblate (Marathi)

Currently translated at 56.3% (111 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/mr/

Translated using Weblate (Greek)

Currently translated at 70.1% (73 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (French)

Currently translated at 100.0% (182 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/

Translated using Weblate (Dutch)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/nl/

Translated using Weblate (Dutch)

Currently translated at 97.6% (124 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/nl/

Translated using Weblate (Dutch)

Currently translated at 96.9% (191 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/nl/

Translated using Weblate (Dutch)

Currently translated at 96.1% (2158 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Italian)

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/it/

Translated using Weblate (French)

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (German)

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Spanish)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/es/

Translated using Weblate (Dutch)

Currently translated at 100.0% (585 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/nl/

Translated using Weblate (Italian)

Currently translated at 100.0% (585 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/it/

Translated using Weblate (French)

Currently translated at 100.0% (585 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/fr/

Translated using Weblate (Greek)

Currently translated at 68.2% (71 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (Bosnian)

Currently translated at 99.1% (122 of 123 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/bs/

Translated using Weblate (Spanish (Latin America))

Currently translated at 95.9% (695 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es_419/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (182 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (Serbian)

Currently translated at 69.2% (126 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/sr/

Translated using Weblate (Russian)

Currently translated at 87.9% (160 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (182 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 100.0% (182 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ja/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (182 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/es_419/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (182 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/en@pirate/

Translated using Weblate (German)

Currently translated at 100.0% (182 of 182 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/de/

Translated using Weblate (Serbian)

Currently translated at 93.6% (104 of 111 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/sr/

Translated using Weblate (Serbian)

Currently translated at 85.0% (108 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/sr/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (585 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es_419/

Translated using Weblate (Serbian)

Currently translated at 85.2% (52 of 61 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/sr/

Translated using Weblate (Czech)

Currently translated at 98.3% (60 of 61 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/cs/

Translated using Weblate (Serbian)

Currently translated at 87.5% (7 of 8 strings)

Translation: Habitica/Inventory
Translate-URL: https://translate.habitica.com/projects/habitica/inventory/sr/

Translated using Weblate (Serbian)

Currently translated at 76.1% (1710 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/sr/

Translated using Weblate (Russian)

Currently translated at 91.9% (2064 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2245 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 98.3% (2208 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (English (Pirate))

Currently translated at 99.3% (2231 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en@pirate/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (203 of 203 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/

Translated using Weblate (Serbian)

Currently translated at 97.5% (198 of 203 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/sr/

Translated using Weblate (German)

Currently translated at 99.5% (2234 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (German)

Currently translated at 99.5% (2234 of 2245 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Serbian)

Currently translated at 96.1% (174 of 181 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/sr/

Translated using Weblate (Serbian)

Currently translated at 35.1% (19 of 54 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/sr/

Translated using Weblate (Serbian)

Currently translated at 100.0% (102 of 102 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/sr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (585 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/

Translated using Weblate (Serbian)

Currently translated at 71.7% (420 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/sr/

Translated using Weblate (Russian)

Currently translated at 96.9% (567 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (Dutch)

Currently translated at 93.5% (547 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/nl/

Translated using Weblate (German)

Currently translated at 100.0% (585 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/

Translated using Weblate (Serbian)

Currently translated at 35.5% (37 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/sr/

Translated using Weblate (Dutch)

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/nl/

Translated using Weblate (Serbian)

Currently translated at 92.8% (168 of 181 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/sr/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (585 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (585 of 585 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt_BR/

Translated using Weblate (Dutch)

Currently translated at 91.3% (95 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/nl/

Translated using Weblate (Dutch)

Currently translated at 91.3% (95 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/nl/
2021-01-22 15:15:14 +01:00
dependabot-preview[bot] 5f7e3fa4e7 build(deps): bump @vue/cli-service in /website/client (#12957)
Bumps [@vue/cli-service](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-service) from 4.5.9 to 4.5.10.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.5.10/packages/@vue/cli-service)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-11 12:38:24 +01:00
dependabot-preview[bot] fde2359334 build(deps): bump @vue/cli-plugin-router in /website/client (#12960)
Bumps [@vue/cli-plugin-router](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-router) from 4.5.9 to 4.5.10.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.5.10/packages/@vue/cli-plugin-router)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-11 12:38:07 +01:00
dependabot-preview[bot] 95c8958e13 build(deps): bump sass from 1.32.0 to 1.32.2 in /website/client (#12961)
Bumps [sass](https://github.com/sass/dart-sass) from 1.32.0 to 1.32.2.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.32.0...1.32.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-11 12:37:51 +01:00
dependabot-preview[bot] 28e09d3905 build(deps): bump @vue/cli-plugin-babel in /website/client (#12954)
Bumps [@vue/cli-plugin-babel](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-babel) from 4.5.9 to 4.5.10.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.5.10/packages/@vue/cli-plugin-babel)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-11 11:50:42 +01:00
dependabot-preview[bot] 85b1b49950 build(deps): bump webpack from 4.44.2 to 4.45.0 in /website/client (#12958)
Bumps [webpack](https://github.com/webpack/webpack) from 4.44.2 to 4.45.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.44.2...v4.45.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-11 11:34:06 +01:00
dependabot-preview[bot] e19c24024a build(deps): bump @vue/cli-plugin-unit-mocha in /website/client (#12956)
Bumps [@vue/cli-plugin-unit-mocha](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-unit-mocha) from 4.5.9 to 4.5.10.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.5.10/packages/@vue/cli-plugin-unit-mocha)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-11 11:33:48 +01:00
dependabot-preview[bot] 2cbceef84b build(deps): bump @vue/cli-plugin-eslint in /website/client (#12952)
Bumps [@vue/cli-plugin-eslint](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-eslint) from 4.5.9 to 4.5.10.
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v4.5.10/packages/@vue/cli-plugin-eslint)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-11 11:33:30 +01:00
dependabot-preview[bot] a308796672 build(deps): bump nconf from 0.11.0 to 0.11.1 in /website/client (#12953)
Bumps [nconf](https://github.com/flatiron/nconf) from 0.11.0 to 0.11.1.
- [Release notes](https://github.com/flatiron/nconf/releases)
- [Changelog](https://github.com/indexzero/nconf/blob/master/CHANGELOG.md)
- [Commits](https://github.com/flatiron/nconf/compare/v0.11.0...v0.11.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-11 11:33:12 +01:00
dependabot-preview[bot] b978234531 build(deps): bump amplitude-js from 7.3.3 to 7.4.0 in /website/client (#12955)
Bumps [amplitude-js](https://github.com/amplitude/amplitude-javascript) from 7.3.3 to 7.4.0.
- [Release notes](https://github.com/amplitude/amplitude-javascript/releases)
- [Changelog](https://github.com/amplitude/Amplitude-JavaScript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/amplitude/amplitude-javascript/compare/v7.3.3...v7.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-11 11:32:55 +01:00
dependabot-preview[bot] a8deeaec76 build(deps): bump @slack/webhook from 5.0.3 to 5.0.4 (#12944)
Bumps [@slack/webhook](https://github.com/slackapi/node-slack-sdk) from 5.0.3 to 5.0.4.
- [Release notes](https://github.com/slackapi/node-slack-sdk/releases)
- [Commits](https://github.com/slackapi/node-slack-sdk/compare/@slack/webhook@5.0.3...@slack/webhook@5.0.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-11 10:25:22 +01:00
dependabot-preview[bot] 38c84ae3a0 build(deps): bump apple-auth from 1.0.6 to 1.0.7 (#12942)
Bumps [apple-auth](https://github.com/ananay/apple-auth) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/ananay/apple-auth/releases)
- [Commits](https://github.com/ananay/apple-auth/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-11 10:23:34 +01:00
dependabot-preview[bot] 89f8952d76 build(deps): bump jwks-rsa from 1.12.1 to 1.12.2 (#12943)
Bumps [jwks-rsa](https://github.com/auth0/node-jwks-rsa) from 1.12.1 to 1.12.2.
- [Release notes](https://github.com/auth0/node-jwks-rsa/releases)
- [Changelog](https://github.com/auth0/node-jwks-rsa/blob/master/CHANGELOG.md)
- [Commits](https://github.com/auth0/node-jwks-rsa/compare/v1.12.1...v1.12.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-11 10:03:21 +01:00
dependabot-preview[bot] 6cccdc67b0 build(deps-dev): bump sinon from 9.2.2 to 9.2.3 (#12946)
Bumps [sinon](https://github.com/sinonjs/sinon) from 9.2.2 to 9.2.3.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v9.2.2...v9.2.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-11 10:02:42 +01:00
dependabot-preview[bot] ca853c9cfe build(deps): bump mongoose from 5.11.10 to 5.11.11 (#12947)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.11.10 to 5.11.11.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/History.md)
- [Commits](https://github.com/Automattic/mongoose/compare/5.11.10...5.11.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-11 10:02:32 +01:00
dependabot-preview[bot] d044df8e33 build(deps): bump apidoc from 0.25.0 to 0.26.0 (#12948)
Bumps [apidoc](https://github.com/apidoc/apidoc) from 0.25.0 to 0.26.0.
- [Release notes](https://github.com/apidoc/apidoc/releases)
- [Changelog](https://github.com/apidoc/apidoc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/apidoc/apidoc/compare/0.25.0...0.26.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-11 10:02:15 +01:00
dependabot-preview[bot] 3de7951e2d build(deps): bump rate-limiter-flexible from 2.1.16 to 2.2.1 (#12949)
Bumps [rate-limiter-flexible](https://github.com/animir/node-rate-limiter-flexible) from 2.1.16 to 2.2.1.
- [Release notes](https://github.com/animir/node-rate-limiter-flexible/releases)
- [Commits](https://github.com/animir/node-rate-limiter-flexible/commits/v2.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-11 10:02:03 +01:00
dependabot-preview[bot] 3721c044c8 build(deps): bump nconf from 0.11.0 to 0.11.1 (#12950)
Bumps [nconf](https://github.com/flatiron/nconf) from 0.11.0 to 0.11.1.
- [Release notes](https://github.com/flatiron/nconf/releases)
- [Changelog](https://github.com/indexzero/nconf/blob/master/CHANGELOG.md)
- [Commits](https://github.com/flatiron/nconf/compare/v0.11.0...v0.11.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-11 10:01:51 +01:00
dependabot-preview[bot] 1000e283cc build(deps): bump stripe from 8.129.0 to 8.130.0 (#12951)
Bumps [stripe](https://github.com/stripe/stripe-node) from 8.129.0 to 8.130.0.
- [Release notes](https://github.com/stripe/stripe-node/releases)
- [Changelog](https://github.com/stripe/stripe-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-node/compare/v8.129.0...v8.130.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-11 10:01:38 +01:00
bakerty db3d233ae5 Make start date and day of month aware of timezones (fixes #12555) (#12696)
* WIP: #12555

-dayOfMonth takes timezone into account on task update for monthly dailys
-startDate set to start of day in user's tz on task update for monthly
dailys
-tweaked a test so that it's actually testing something

* WIP: 12555

-task.startDate gets set to start of day in user's tz on task creation
and task update
-set preferences.timezoneOffset to nonzero value in certian test user objects
-removed date literals in test:api-v3:integration:tasks:PUT
2021-01-10 16:02:40 +01:00
Mike-Antonacci e8d3090a99 Add string blockYourself (#12939) 2021-01-09 16:11:44 +01:00
Jon Wolverton 39e7f51258 remove PER bonus for Brilliant Bloom (summer 2019 mage weapon) (#12923) 2021-01-09 15:53:31 +01:00
Sabe Jones abf371ba12 4.178.2 2021-01-08 13:56:38 -06:00
Sabe Jones f02b7c16e1 fix(test): d'oh 2021-01-08 13:43:27 -06:00
Sabe Jones cec01f49bd fix(test): dummy event to test promotions 2021-01-08 13:34:04 -06:00
Sabe Jones b88389787d 4.178.1 2021-01-08 13:11:13 -06:00
Sabe Jones 04e366d498 Merge branch 'develop' into release 2021-01-08 13:11:02 -06:00
Sabe Jones 2d5ddfdd87 fix(event): borken Gold gear
and default sub analytics to web
2021-01-08 13:10:45 -06:00
JohnJSal 2c2b776968 Update achievements.json (#12858)
Capitalized "pets" for Golden, Skeleton, and Red collection achievement text, to be consistent with all others.
2021-01-07 17:33:22 +01:00
Matteo Pagliazzi 1dc8be4842 Stripe Upgrade Cleanup (#12882)
* chore(stripe): remove manual api version from code

* upgrade minor stripe version
2021-01-07 17:32:54 +01:00
Alys 9d93821758 remove mentiod of Back Corner from Community Guidelines. (#12901)
This includes deleting the Back Corner image.
2021-01-07 17:31:42 +01:00
Óscar Carretero 14e99c6e6c Remove forum link (#12917)
* remove forum link

* remove `communityForum` from locales
2021-01-07 17:30:39 +01:00
Melior 7433eeb883 Merge branch 'origin/develop' into Weblate. 2021-01-05 22:45:54 +01:00
Melior 68ecc2eec4 Translated using Weblate (Greek)
Currently translated at 66.3% (69 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (187 of 187 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/bs/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/bs/

Translated using Weblate (Bosnian)

Currently translated at 98.3% (121 of 123 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/bs/

Translated using Weblate (Japanese)

Currently translated at 98.6% (2200 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Japanese)

Currently translated at 99.4% (180 of 181 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ja/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (187 of 187 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/bs/

Translated using Weblate (Greek)

Currently translated at 64.4% (67 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (Arabic)

Currently translated at 76.2% (1701 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ar/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (368 of 368 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (54 of 54 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 99.4% (180 of 181 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ja/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (187 of 187 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/bs/

Translated using Weblate (Greek)

Currently translated at 76.8% (1714 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/el/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Czech)

Currently translated at 86.1% (1921 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/cs/

Translated using Weblate (Greek)

Currently translated at 100.0% (187 of 187 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/el/

Translated using Weblate (Greek)

Currently translated at 68.5% (124 of 181 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/el/

Translated using Weblate (Spanish (Latin America))

Currently translated at 95.1% (689 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/es_419/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 98.4% (2196 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Spanish)

Currently translated at 88.0% (1965 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (Spanish)

Currently translated at 96.1% (696 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es/

Translated using Weblate (Ukrainian)

Currently translated at 58.6% (61 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/uk/

Translated using Weblate (Ukrainian)

Currently translated at 58.6% (61 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/uk/

Translated using Weblate (Ukrainian)

Currently translated at 58.6% (61 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/uk/

Translated using Weblate (Ukrainian)

Currently translated at 54.8% (57 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/uk/

Translated using Weblate (Ukrainian)

Currently translated at 54.8% (57 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/uk/

Translated using Weblate (Ukrainian)

Currently translated at 54.8% (57 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/uk/

Translated using Weblate (Greek)

Currently translated at 58.6% (61 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Macedonian)

Currently translated at 5.7% (6 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/mk/

Translated using Weblate (Greek)

Currently translated at 93.2% (343 of 368 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/el/

Translated using Weblate (Spanish (Latin America))

Currently translated at 95.0% (688 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 95.0% (688 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es_419/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Bulgarian)

Currently translated at 90.3% (94 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/bg/

Translated using Weblate (Bulgarian)

Currently translated at 90.3% (94 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/bg/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (578 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Greek)

Currently translated at 87.5% (7 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/el/

Translated using Weblate (Greek)

Currently translated at 98.3% (60 of 61 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/el/

Translated using Weblate (Japanese)

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ja/

Translated using Weblate (Japanese)

Currently translated at 98.2% (2192 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (102 of 102 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/bs/

Translated using Weblate (Greek)

Currently translated at 45.1% (47 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/bs/

Translated using Weblate (Bosnian)

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/bs/

Translated using Weblate (Spanish (Latin America))

Currently translated at 94.8% (687 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es_419/

Translated using Weblate (Spanish)

Currently translated at 100.0% (127 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/es/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es_419/

Translated using Weblate (Spanish)

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/es/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 98.0% (2188 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Spanish)

Currently translated at 87.5% (1953 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (578 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.8% (2228 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.8% (2227 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.7% (2226 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.7% (2225 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.7% (2225 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.5% (2220 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.5% (2220 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.2% (2215 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.2% (2215 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.2% (2215 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.2% (2215 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.1% (2213 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.1% (2213 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Spanish (Latin America))

Currently translated at 94.8% (687 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 94.8% (687 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es_419/

Translated using Weblate (Greek)

Currently translated at 5.5% (10 of 181 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/el/

Translated using Weblate (Greek)

Currently translated at 66.0% (37 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/el/

Translated using Weblate (Russian)

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/pt_BR/

Translated using Weblate (Spanish)

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (368 of 368 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/es/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.1% (2212 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 97.8% (2184 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Slovak)

Currently translated at 53.7% (29 of 54 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/sk/

Translated using Weblate (Spanish)

Currently translated at 100.0% (366 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/es/

Translated using Weblate (Slovak)

Currently translated at 96.7% (181 of 187 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/sk/

Translated using Weblate (Slovak)

Currently translated at 100.0% (102 of 102 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/sk/

Translated using Weblate (Spanish)

Currently translated at 99.4% (575 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/

Translated using Weblate (Slovak)

Currently translated at 25.0% (26 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/sk/

Translated using Weblate (Spanish)

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/es/

Translated using Weblate (Greek)

Currently translated at 35.5% (37 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (Greek)

Currently translated at 35.5% (37 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (Greek)

Currently translated at 76.6% (1709 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/el/

Translated using Weblate (Ukrainian)

Currently translated at 92.3% (12 of 13 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/uk/

Translated using Weblate (Japanese)

Currently translated at 97.7% (2180 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Ukrainian)

Currently translated at 98.3% (178 of 181 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/uk/

Translated using Weblate (Ukrainian)

Currently translated at 71.9% (416 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/uk/

Translated using Weblate (Greek)

Currently translated at 33.6% (35 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (Greek)

Currently translated at 33.6% (35 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (Greek)

Currently translated at 28.8% (30 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (Greek)

Currently translated at 28.8% (30 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/el/

Translated using Weblate (Japanese)

Currently translated at 97.3% (2172 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (German)

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (German)

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (German)

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/de/

Translated using Weblate (Russian)

Currently translated at 100.0% (366 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ru/

Translated using Weblate (Czech)

Currently translated at 98.9% (572 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/cs/

Translated using Weblate (German)

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (German)

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/de/

Translated using Weblate (Russian)

Currently translated at 94.4% (120 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ru/

Translated using Weblate (Russian)

Currently translated at 94.9% (187 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ru/

Translated using Weblate (Russian)

Currently translated at 96.1% (354 of 368 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ru/

Translated using Weblate (Russian)

Currently translated at 92.3% (2060 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Japanese)

Currently translated at 97.1% (2168 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en@pirate/

Translated using Weblate (German)

Currently translated at 100.0% (724 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/

Translated using Weblate (Russian)

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ru/

Translated using Weblate (German)

Currently translated at 100.0% (724 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/

Translated using Weblate (Russian)

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ru/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/en_GB/

Translated using Weblate (Japanese)

Currently translated at 100.0% (85 of 85 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/ja/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (127 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pt_BR/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (127 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/es_419/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (127 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/en_GB/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (368 of 368 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 99.3% (2217 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (366 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/es_419/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (368 of 368 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/en_GB/

Translated using Weblate (Japanese)

Currently translated at 96.9% (2164 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (724 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/en_GB/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (123 of 123 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/pt_BR/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (366 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (102 of 102 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (578 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/en_GB/

Translated using Weblate (Russian)

Currently translated at 98.2% (55 of 56 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/ru/

Translated using Weblate (French)

Currently translated at 100.0% (127 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/fr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/fr/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/en@pirate/

Translated using Weblate (French)

Currently translated at 100.0% (368 of 368 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/fr/

Translated using Weblate (Japanese)

Currently translated at 96.8% (2160 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (French)

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (German)

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (724 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/

Translated using Weblate (Russian)

Currently translated at 100.0% (366 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ru/

Translated using Weblate (Russian)

Currently translated at 97.4% (563 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (French)

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/fr/

Translated using Weblate (French)

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (French)

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (111 of 111 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (127 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pt_BR/

Translated using Weblate (English (Pirate))

Currently translated at 98.4% (194 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/en@pirate/

Translated using Weblate (Japanese)

Currently translated at 96.6% (2156 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (German)

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Italian)

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/it/

Translated using Weblate (Lithuanian)

Currently translated at 5.5% (10 of 181 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/lt/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/pt_BR/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (127 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (127 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 100.0% (127 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ja/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (127 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/en@pirate/

Translated using Weblate (German)

Currently translated at 100.0% (127 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/de/

Translated using Weblate (German)

Currently translated at 100.0% (127 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.9% (195 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.9% (195 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ja/

Translated using Weblate (English (Pirate))

Currently translated at 97.9% (193 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/en@pirate/

Translated using Weblate (German)

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (368 of 368 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (368 of 368 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 100.0% (368 of 368 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (368 of 368 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/en@pirate/

Translated using Weblate (German)

Currently translated at 100.0% (368 of 368 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.8% (2206 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.8% (2206 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Dutch)

Currently translated at 95.9% (2141 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Japanese)

Currently translated at 96.4% (2152 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (English (Pirate))

Currently translated at 98.7% (2203 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en@pirate/

Translated using Weblate (German)

Currently translated at 99.8% (2228 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (366 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (366 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/pt_BR/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (366 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/en@pirate/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ja/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/en@pirate/

Translated using Weblate (German)

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/de/

Translated using Weblate (German)

Currently translated at 100.0% (366 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/de/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.4% (196 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.4% (196 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.4% (194 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.4% (194 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 94.9% (187 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 98.4% (125 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ja/

Translated using Weblate (Italian)

Currently translated at 100.0% (127 of 127 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/it/

Translated using Weblate (Japanese)

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ja/

Translated using Weblate (Italian)

Currently translated at 100.0% (197 of 197 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/it/

Translated using Weblate (Italian)

Currently translated at 100.0% (368 of 368 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/it/

Translated using Weblate (Japanese)

Currently translated at 95.9% (2140 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Italian)

Currently translated at 100.0% (2231 of 2231 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/it/

Translated using Weblate (Japanese)

Currently translated at 100.0% (366 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ja/

Translated using Weblate (Italian)

Currently translated at 100.0% (366 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/it/

Translated using Weblate (French)

Currently translated at 100.0% (366 of 366 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/fr/

Translated using Weblate (Italian)

Currently translated at 100.0% (181 of 181 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/it/
2021-01-05 22:45:44 +01:00
Sabe Jones c68c8536de Merge branch 'release' into develop 2021-01-05 15:41:35 -06:00
Sabe Jones fce8028e29 4.178.0 2021-01-05 15:41:07 -06:00
Sabe Jones 845fcd41b4 chore(sprites): compile 2021-01-04 15:30:48 -06:00
Sabe Jones f172670aa4 feat(content): BGs and Armoire Jan 2021 2021-01-04 15:30:39 -06:00
dependabot-preview[bot] 405f744770 build(deps): bump mongoose from 5.11.8 to 5.11.9 (#12927)
* build(deps): bump mongoose from 5.11.8 to 5.11.9

Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.11.8 to 5.11.9.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/History.md)
- [Commits](https://github.com/Automattic/mongoose/compare/5.11.8...5.11.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* fix(join group): update inviter once

* mongoose@5.11.10

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Matteo Pagliazzi <matteopagliazzi@gmail.com>
2021-01-04 21:37:51 +01:00
dependabot-preview[bot] 7222ee0a10 build(deps): bump core-js from 3.8.1 to 3.8.2 in /website/client (#12929)
Bumps [core-js](https://github.com/zloirock/core-js) from 3.8.1 to 3.8.2.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/compare/v3.8.1...v3.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-04 15:28:58 +01:00
dependabot-preview[bot] 6d4da01d36 build(deps): bump rate-limiter-flexible from 2.1.15 to 2.1.16 (#12924)
Bumps [rate-limiter-flexible](https://github.com/animir/node-rate-limiter-flexible) from 2.1.15 to 2.1.16.
- [Release notes](https://github.com/animir/node-rate-limiter-flexible/releases)
- [Commits](https://github.com/animir/node-rate-limiter-flexible/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-04 15:28:28 +01:00
dependabot-preview[bot] 84b184617f build(deps): bump jwks-rsa from 1.12.0 to 1.12.1 (#12925)
Bumps [jwks-rsa](https://github.com/auth0/node-jwks-rsa) from 1.12.0 to 1.12.1.
- [Release notes](https://github.com/auth0/node-jwks-rsa/releases)
- [Changelog](https://github.com/auth0/node-jwks-rsa/blob/master/CHANGELOG.md)
- [Commits](https://github.com/auth0/node-jwks-rsa/compare/v1.12.0...v1.12.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-04 15:28:09 +01:00
dependabot-preview[bot] 87e46da6a3 build(deps): bump sass from 1.30.0 to 1.32.0 in /website/client (#12928)
Bumps [sass](https://github.com/sass/dart-sass) from 1.30.0 to 1.32.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.30.0...1.32.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-04 15:26:21 +01:00
dependabot-preview[bot] d8199f71a8 build(deps): bump bootstrap-vue from 2.21.1 to 2.21.2 in /website/client (#12930)
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.21.1 to 2.21.2.
- [Release notes](https://github.com/bootstrap-vue/bootstrap-vue/releases)
- [Changelog](https://github.com/bootstrap-vue/bootstrap-vue/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.21.1...v2.21.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-04 15:26:01 +01:00
Matteo Pagliazzi 20a6103457 Merge branch 'release' into develop 2021-01-02 17:51:59 +01:00
Sabe Jones 539ffbf08a 4.177.0 2020-12-30 16:43:45 -06:00
Sabe Jones b2adc29bf6 feat(content): 2021 January Mystery 2020-12-30 16:43:32 -06:00
Sabe Jones 920ee56bdf Merge branch 'release' into develop 2020-12-29 18:59:38 -06:00
Sabe Jones 1f077451d2 4.176.0 2020-12-29 18:59:15 -06:00
Sabe Jones 595a31db99 feat(content): NYE hats 2020-12-29 18:58:57 -06:00
dependabot-preview[bot] 7e0d7a4ba0 build(deps-dev): bump axios from 0.21.0 to 0.21.1 (#12908)
Bumps [axios](https://github.com/axios/axios) from 0.21.0 to 0.21.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.21.1/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.21.0...v0.21.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-12-28 10:50:22 +01:00
dependabot-preview[bot] 1c66b80424 build(deps): bump helmet from 4.2.0 to 4.3.1 (#12909)
Bumps [helmet](https://github.com/helmetjs/helmet) from 4.2.0 to 4.3.1.
- [Release notes](https://github.com/helmetjs/helmet/releases)
- [Changelog](https://github.com/helmetjs/helmet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/helmetjs/helmet/compare/v4.2.0...v4.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-12-28 10:50:11 +01:00
dependabot-preview[bot] 5274ec2cc9 build(deps): bump csv-stringify from 5.5.3 to 5.6.0 (#12910)
Bumps [csv-stringify](https://github.com/adaltas/node-csv-stringify) from 5.5.3 to 5.6.0.
- [Release notes](https://github.com/adaltas/node-csv-stringify/releases)
- [Changelog](https://github.com/adaltas/node-csv-stringify/blob/master/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv-stringify/compare/v5.5.3...v5.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-12-28 10:49:53 +01:00
dependabot-preview[bot] 8060422991 build(deps): bump axios from 0.21.0 to 0.21.1 in /website/client (#12912)
Bumps [axios](https://github.com/axios/axios) from 0.21.0 to 0.21.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.21.1/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.21.0...v0.21.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-12-28 10:49:40 +01:00
Matteo Pagliazzi 69e40e2114 4.175.8 2020-12-26 16:45:42 +01:00
Matteo Pagliazzi 17d918a172 fix(stripe): use new data structure for webhooks event.request 2020-12-26 16:45:36 +01:00
Matteo Pagliazzi bc74e40280 4.175.7 2020-12-24 18:42:46 +01:00
Matteo Pagliazzi 4487363171 Merge branch 'develop' into release 2020-12-24 18:41:56 +01:00
Matteo Pagliazzi dc72faad6a migration(todos date); filter by updatedAt 2020-12-24 18:41:01 +01:00
Shadow 7c0b3612f0 Change $type of date for todos (#12779)
* change $type to date for task and add new test

* adjust apidocs to reflect type change

* migration test for api date $type change

* minor fixes to migration

* unset instead of set empty string

* add type filter

* fix(todo date migration): make sure the update command works and limit update ops

Co-authored-by: Matteo Pagliazzi <matteopagliazzi@gmail.com>
2020-12-24 18:37:09 +01:00
Sabe Jones 9a32eabb47 fix(lint): remove unused const 2020-12-22 16:53:26 -06:00
Sabe Jones 6fe0d5568a fix(script): truly unique email for many-accounts scenarios 2020-12-22 20:40:03 +00:00
Sabe Jones 2c44f766cd Merge branch 'release' into develop 2020-12-22 09:14:38 -06:00
Sabe Jones c79e3bea05 4.175.6 2020-12-22 09:14:07 -06:00
Sabe Jones b56f0cfeeb fix(content): auto rollout of potion didn't work? 2020-12-22 09:14:00 -06:00
dependabot-preview[bot] fbf1849148 build(deps): bump @babel/preset-env from 7.12.10 to 7.12.11 (#12894)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.12.10 to 7.12.11.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.11/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-12-21 11:43:49 +01:00
dependabot-preview[bot] a493bb69ce build(deps): bump stripe from 8.121.0 to 8.129.0 (#12895)
Bumps [stripe](https://github.com/stripe/stripe-node) from 8.121.0 to 8.129.0.
- [Release notes](https://github.com/stripe/stripe-node/releases)
- [Changelog](https://github.com/stripe/stripe-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-node/compare/v8.121.0...v8.129.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-12-21 11:43:43 +01:00
dependabot-preview[bot] 7b20d02449 build(deps): bump rate-limiter-flexible from 2.1.14 to 2.1.15 (#12896)
Bumps [rate-limiter-flexible](https://github.com/animir/node-rate-limiter-flexible) from 2.1.14 to 2.1.15.
- [Release notes](https://github.com/animir/node-rate-limiter-flexible/releases)
- [Commits](https://github.com/animir/node-rate-limiter-flexible/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-12-21 11:42:58 +01:00
dependabot-preview[bot] 207d1b7eaa build(deps): bump mongoose from 5.11.7 to 5.11.8 (#12897)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.11.7 to 5.11.8.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/History.md)
- [Commits](https://github.com/Automattic/mongoose/compare/5.11.7...5.11.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-12-21 11:42:44 +01:00
dependabot-preview[bot] f33aed661b build(deps): bump bootstrap-vue from 2.20.1 to 2.21.1 in /website/client (#12900)
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.20.1 to 2.21.1.
- [Release notes](https://github.com/bootstrap-vue/bootstrap-vue/releases)
- [Changelog](https://github.com/bootstrap-vue/bootstrap-vue/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.20.1...v2.21.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-12-21 11:42:27 +01:00
Sabe Jones 7f1d6ffef0 Merge branch 'release' into develop 2020-12-17 12:44:06 -06:00
Matteo Pagliazzi 8f05fc250a Merge branch 'release' into develop 2020-12-17 18:03:58 +01:00
Sabe Jones 24e13ddd18 Merge branch 'release' into develop 2020-12-17 09:37:09 -06:00
Sabe Jones e6f40aee43 Merge branch 'release' into develop 2020-12-17 08:25:26 -06:00
Matteo Pagliazzi 5d054a0acd Merge branch 'release' into develop 2020-12-17 10:27:15 +01:00
Melior bc115bb1f6 Translated using Weblate (Portuguese)
Currently translated at 37.0% (20 of 54 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/pt/

Translated using Weblate (Portuguese)

Currently translated at 86.5% (90 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/pt/

Translated using Weblate (Portuguese)

Currently translated at 86.5% (90 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/pt/

Translated using Weblate (Portuguese)

Currently translated at 86.5% (90 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/pt/

Merge branch 'origin/develop' into Weblate.

Translated using Weblate (English (Pirate))

Currently translated at 99.8% (2199 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (578 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en@pirate/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 97.1% (2140 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (English (Pirate))

Currently translated at 98.5% (2170 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en@pirate/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (724 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (123 of 123 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/pt_BR/

Translated using Weblate (English (Pirate))

Currently translated at 97.1% (2141 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en@pirate/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (180 of 180 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/es_419/

Translated using Weblate (Japanese)

Currently translated at 96.2% (2120 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (English (Pirate))

Currently translated at 97.1% (2140 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en@pirate/

Translated using Weblate (Russian)

Currently translated at 97.3% (705 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ru/

Translated using Weblate (Chinese (Hong Kong))

Currently translated at 96.1% (100 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hant_HK/

Translated using Weblate (Japanese)

Currently translated at 100.0% (186 of 186 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ja/

Translated using Weblate (Japanese)

Currently translated at 95.9% (2114 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (English (Pirate))

Currently translated at 95.4% (2103 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en@pirate/

Translated using Weblate (Spanish (Latin America))

Currently translated at 94.7% (686 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 94.7% (686 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es_419/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (111 of 111 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hans/

Translated using Weblate (Japanese)

Currently translated at 95.7% (2110 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (English (Pirate))

Currently translated at 92.4% (2037 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 99.8% (723 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/en@pirate/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (123 of 123 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/pt_BR/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (123 of 123 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/en@pirate/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (102 of 102 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (578 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/fr/

Translated using Weblate (Japanese)

Currently translated at 95.5% (2106 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (124 of 124 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hans/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (2203 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es_419/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2203 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (102 of 102 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/ru/

Translated using Weblate (Japanese)

Currently translated at 95.5% (2106 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (578 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/

Translated using Weblate (Turkish)

Currently translated at 80.2% (464 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/tr/

Translated using Weblate (Turkish)

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/tr/

Translated using Weblate (Turkish)

Currently translated at 85.5% (89 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/tr/

Translated using Weblate (Turkish)

Currently translated at 85.5% (89 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/tr/

Translated using Weblate (Turkish)

Currently translated at 84.6% (88 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/tr/

Translated using Weblate (Turkish)

Currently translated at 84.6% (88 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/tr/

Translated using Weblate (Turkish)

Currently translated at 75.9% (79 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/tr/

Translated using Weblate (Turkish)

Currently translated at 75.9% (79 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/tr/

Translated using Weblate (Turkish)

Currently translated at 61.5% (64 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/tr/

Translated using Weblate (Turkish)

Currently translated at 61.5% (64 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/tr/

Translated using Weblate (Korean)

Currently translated at 100.0% (111 of 111 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/ko/

Translated using Weblate (Korean)

Currently translated at 73.2% (41 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/ko/

Translated using Weblate (Korean)

Currently translated at 100.0% (102 of 102 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/ko/

Translated using Weblate (Korean)

Currently translated at 87.1% (504 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ko/

Translated using Weblate (Korean)

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ko/

Translated using Weblate (Korean)

Currently translated at 100.0% (61 of 61 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/ko/

Translated using Weblate (Korean)

Currently translated at 100.0% (23 of 23 strings)

Translation: Habitica/Loginincentives
Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/ko/

Translated using Weblate (Korean)

Currently translated at 96.1% (173 of 180 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ko/

Translated using Weblate (Spanish (Latin America))

Currently translated at 94.3% (683 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es_419/

Translated using Weblate (Italian)

Currently translated at 100.0% (124 of 124 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/it/

Translated using Weblate (German)

Currently translated at 100.0% (124 of 124 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/de/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (203 of 203 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (2203 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (2203 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es_419/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (366 of 366 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/pt_BR/

Translated using Weblate (Russian)

Currently translated at 93.4% (2059 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Italian)

Currently translated at 100.0% (2203 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/it/

Translated using Weblate (French)

Currently translated at 100.0% (2203 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (Spanish)

Currently translated at 88.0% (1940 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (German)

Currently translated at 100.0% (2203 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (187 of 187 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/pt_BR/

Translated using Weblate (Russian)

Currently translated at 97.2% (562 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (Italian)

Currently translated at 100.0% (578 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/it/

Translated using Weblate (French)

Currently translated at 99.1% (573 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/fr/

Translated using Weblate (French)

Currently translated at 99.1% (573 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/fr/

Translated using Weblate (Spanish)

Currently translated at 99.3% (574 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/

Translated using Weblate (English (Pirate))

Currently translated at 99.8% (577 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en@pirate/

Translated using Weblate (German)

Currently translated at 100.0% (578 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (180 of 180 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (180 of 180 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/pt_BR/

Translated using Weblate (Spanish (Latin America))

Currently translated at 94.3% (683 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 94.3% (683 of 724 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es_419/

Translated using Weblate (Korean)

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ko/

Translated using Weblate (Korean)

Currently translated at 100.0% (104 of 104 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ko/

Translated using Weblate (Japanese)

Currently translated at 100.0% (124 of 124 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ja/

Translated using Weblate (French)

Currently translated at 100.0% (124 of 124 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/fr/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2203 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 100.0% (123 of 123 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (578 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (124 of 124 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pt_BR/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (124 of 124 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (2203 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (578 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es_419/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.8% (2199 of 2203 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (578 of 578 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt_BR/
2020-12-17 06:50:17 +01:00
481 changed files with 38355 additions and 31170 deletions
@@ -0,0 +1,62 @@
/*
* Fix dates in the database that were stored as $type string instead of Date
*/
/* eslint-disable no-console */
const MIGRATION_NAME = '20201111_api_date';
import * as Tasks from '../../../website/server/models/task';
const progressCount = 1000;
let count = 0;
async function updateUser (todo) {
count++;
if (count % progressCount === 0) console.warn(`${count} ${todo._id}`);
const newDate = new Date(todo.date);
if (isValidDate(newDate)) return;
return await Tasks.Task.update({_id: todo._id, type: 'todo'}, {$unset: {date: ''}}).exec();
}
module.exports = async function processUsers () {
let query = {
type: 'todo',
date: {$exists: true},
updatedAt: {$gt: new Date('2020-11-23')},
};
const fields = {
_id: 1,
type: 1,
date: 1,
};
while (true) { // eslint-disable-line no-constant-condition
const users = await Tasks.Task // eslint-disable-line no-await-in-loop
.find(query)
.select(fields)
.limit(250)
.sort({_id: 1})
.lean()
.exec();
if (users.length === 0) {
console.warn('All appropriate tasks found and modified.');
console.warn(`\n${count} tasks processed\n`);
break;
} else {
query._id = {
$gt: users[users.length - 1],
};
}
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
}
};
function isValidDate(d) {
return !isNaN(d.getTime());
}
+126
View File
@@ -0,0 +1,126 @@
/* eslint-disable no-console */
const MIGRATION_NAME = '20201229_nye';
import { model as User } from '../../../website/server/models/user';
import { v4 as uuid } from 'uuid';
const progressCount = 1000;
let count = 0;
async function updateUser (user) {
count++;
const set = { migration: MIGRATION_NAME };
let push;
if (typeof user.items.gear.owned.head_special_nye2019 !== 'undefined') {
set['items.gear.owned.head_special_nye2020'] = false;
push = [
{
type: 'marketGear',
path: 'gear.flat.head_special_nye2020',
_id: uuid(),
},
];
} else if (typeof user.items.gear.owned.head_special_nye2018 !== 'undefined') {
set['items.gear.owned.head_special_nye2019'] = false;
push = [
{
type: 'marketGear',
path: 'gear.flat.head_special_nye2019',
_id: uuid(),
},
];
} else if (typeof user.items.gear.owned.head_special_nye2017 !== 'undefined') {
set['items.gear.owned.head_special_nye2018'] = false;
push = [
{
type: 'marketGear',
path: 'gear.flat.head_special_nye2018',
_id: uuid(),
},
];
} else if (typeof user.items.gear.owned.head_special_nye2016 !== 'undefined') {
set['items.gear.owned.head_special_nye2017'] = false;
push = [
{
type: 'marketGear',
path: 'gear.flat.head_special_nye2017',
_id: uuid(),
},
];
} else if (typeof user.items.gear.owned.head_special_nye2015 !== 'undefined') {
set['items.gear.owned.head_special_nye2016'] = false;
push = [
{
type: 'marketGear',
path: 'gear.flat.head_special_nye2016',
_id: uuid(),
},
];
} else if (typeof user.items.gear.owned.head_special_nye2014 !== 'undefined') {
set['items.gear.owned.head_special_nye2015'] = false;
push = [
{
type: 'marketGear',
path: 'gear.flat.head_special_nye2015',
_id: uuid(),
},
];
} else if (typeof user.items.gear.owned.head_special_nye !== 'undefined') {
set['items.gear.owned.head_special_nye2014'] = false;
push = [
{
type: 'marketGear',
path: 'gear.flat.head_special_nye2014',
_id: uuid(),
},
];
} else {
set['items.gear.owned.head_special_nye'] = false;
push = [
{
type: 'marketGear',
path: 'gear.flat.head_special_nye',
_id: uuid(),
},
];
}
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
return await User.update({_id: user._id}, {$set: set, $push: {pinnedItems: {$each: push}}}).exec();
}
export default async function processUsers () {
let query = {
'auth.timestamps.loggedin': {$gt: new Date('2020-12-01')},
migration: {$ne: MIGRATION_NAME},
};
const fields = {
_id: 1,
items: 1,
};
while (true) { // eslint-disable-line no-constant-condition
const users = await User // eslint-disable-line no-await-in-loop
.find(query)
.limit(250)
.sort({_id: 1})
.select(fields)
.lean()
.exec();
if (users.length === 0) {
console.warn('All appropriate users found and modified.');
console.warn(`\n${count} users processed\n`);
break;
} else {
query._id = {
$gt: users[users.length - 1],
};
}
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
}
};
@@ -0,0 +1,94 @@
/* eslint-disable no-console */
const MIGRATION_NAME = '20210129_habit_birthday';
import { v4 as uuid } from 'uuid';
import { model as User } from '../../../website/server/models/user';
const progressCount = 1000;
let count = 0;
async function updateUser (user) {
count++;
const inc = {
'items.food.Cake_Skeleton': 1,
'items.food.Cake_Base': 1,
'items.food.Cake_CottonCandyBlue': 1,
'items.food.Cake_CottonCandyPink': 1,
'items.food.Cake_Shade': 1,
'items.food.Cake_White': 1,
'items.food.Cake_Golden': 1,
'items.food.Cake_Zombie': 1,
'items.food.Cake_Desert': 1,
'items.food.Cake_Red': 1,
'achievements.habitBirthdays': 1,
};
const set = {};
let push;
set.migration = MIGRATION_NAME;
if (typeof user.items.gear.owned.armor_special_birthday2020 !== 'undefined') {
set['items.gear.owned.armor_special_birthday2021'] = false;
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.armor_special_birthday2021', _id: uuid()}};
} else if (typeof user.items.gear.owned.armor_special_birthday2019 !== 'undefined') {
set['items.gear.owned.armor_special_birthday2020'] = false;
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.armor_special_birthday2020', _id: uuid()}};
} else if (typeof user.items.gear.owned.armor_special_birthday2018 !== 'undefined') {
set['items.gear.owned.armor_special_birthday2019'] = false;
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.armor_special_birthday2019', _id: uuid()}};
} else if (typeof user.items.gear.owned.armor_special_birthday2017 !== 'undefined') {
set['items.gear.owned.armor_special_birthday2018'] = false;
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.armor_special_birthday2018', _id: uuid()}};
} else if (typeof user.items.gear.owned.armor_special_birthday2016 !== 'undefined') {
set['items.gear.owned.armor_special_birthday2017'] = false;
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.armor_special_birthday2017', _id: uuid()}};
} else if (typeof user.items.gear.owned.armor_special_birthday2015 !== 'undefined') {
set['items.gear.owned.armor_special_birthday2016'] = false;
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.armor_special_birthday2016', _id: uuid()}};
} else if (typeof user.items.gear.owned.armor_special_birthday !== 'undefined') {
set['items.gear.owned.armor_special_birthday2015'] = false;
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.armor_special_birthday2015', _id: uuid()}};
} else {
set['items.gear.owned.armor_special_birthday'] = false;
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.armor_special_birthday', _id: uuid()}};
}
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
return await User.update({_id: user._id}, {$inc: inc, $set: set, $push: push}).exec();
}
export default async function processUsers () {
let query = {
// migration: {$ne: MIGRATION_NAME},
'auth.timestamps.loggedin': {$gt: new Date('2021-01-01')},
};
const fields = {
_id: 1,
items: 1,
};
while (true) { // eslint-disable-line no-constant-condition
const users = await User // eslint-disable-line no-await-in-loop
.find(query)
.limit(250)
.sort({_id: 1})
.select(fields)
.lean()
.exec();
if (users.length === 0) {
console.warn('All appropriate users found and modified.');
console.warn(`\n${count} users processed\n`);
break;
} else {
query._id = {
$gt: users[users.length - 1],
};
}
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
}
};
+1 -1
View File
@@ -18,7 +18,7 @@ function setUpServer () {
setUpServer();
// Replace this with your migration
const processUsers = require().default;
const processUsers = require('./archive/2021/20210129_habit_birthday').default;
processUsers()
.then(() => {
+152 -191
View File
@@ -1,6 +1,6 @@
{
"name": "habitica",
"version": "4.175.5",
"version": "4.179.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -122,12 +122,17 @@
"@babel/types": "^7.12.10"
},
"dependencies": {
"@babel/helper-validator-identifier": {
"version": "7.12.11",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
"integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw=="
},
"@babel/types": {
"version": "7.12.10",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz",
"integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==",
"version": "7.12.11",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.11.tgz",
"integrity": "sha512-ukA9SQtKThINm++CX1CwmliMrE54J6nIYB5XTwL5f/CLFW9owfls+YSU8tVW15RQ2w+a3fSbPjC6HdQNtWZkiA==",
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
"@babel/helper-validator-identifier": "^7.12.11",
"lodash": "^4.17.19",
"to-fast-properties": "^2.0.0"
}
@@ -193,12 +198,17 @@
"@babel/types": "^7.12.1"
},
"dependencies": {
"@babel/helper-validator-identifier": {
"version": "7.12.11",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
"integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw=="
},
"@babel/types": {
"version": "7.12.10",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz",
"integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==",
"version": "7.12.11",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.11.tgz",
"integrity": "sha512-ukA9SQtKThINm++CX1CwmliMrE54J6nIYB5XTwL5f/CLFW9owfls+YSU8tVW15RQ2w+a3fSbPjC6HdQNtWZkiA==",
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
"@babel/helper-validator-identifier": "^7.12.11",
"lodash": "^4.17.19",
"to-fast-properties": "^2.0.0"
}
@@ -322,12 +332,17 @@
"@babel/types": "^7.12.1"
},
"dependencies": {
"@babel/helper-validator-identifier": {
"version": "7.12.11",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
"integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw=="
},
"@babel/types": {
"version": "7.12.10",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz",
"integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==",
"version": "7.12.11",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.11.tgz",
"integrity": "sha512-ukA9SQtKThINm++CX1CwmliMrE54J6nIYB5XTwL5f/CLFW9owfls+YSU8tVW15RQ2w+a3fSbPjC6HdQNtWZkiA==",
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
"@babel/helper-validator-identifier": "^7.12.11",
"lodash": "^4.17.19",
"to-fast-properties": "^2.0.0"
}
@@ -385,12 +400,17 @@
"@babel/types": "^7.12.1"
},
"dependencies": {
"@babel/helper-validator-identifier": {
"version": "7.12.11",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
"integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw=="
},
"@babel/types": {
"version": "7.12.10",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz",
"integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==",
"version": "7.12.11",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.11.tgz",
"integrity": "sha512-ukA9SQtKThINm++CX1CwmliMrE54J6nIYB5XTwL5f/CLFW9owfls+YSU8tVW15RQ2w+a3fSbPjC6HdQNtWZkiA==",
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
"@babel/helper-validator-identifier": "^7.12.11",
"lodash": "^4.17.19",
"to-fast-properties": "^2.0.0"
}
@@ -423,9 +443,9 @@
"integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw=="
},
"@babel/helper-validator-option": {
"version": "7.12.1",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz",
"integrity": "sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A=="
"version": "7.12.11",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz",
"integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw=="
},
"@babel/helper-wrap-function": {
"version": "7.12.3",
@@ -730,9 +750,9 @@
}
},
"@babel/plugin-transform-block-scoping": {
"version": "7.12.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz",
"integrity": "sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==",
"version": "7.12.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.11.tgz",
"integrity": "sha512-atR1Rxc3hM+VPg/NvNvfYw0npQEAcHuJ+MGZnFn6h3bo+1U3BWXMdFMlvVRApBTWKQMX7SOwRJZA5FBF/JQbvA==",
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
@@ -985,15 +1005,15 @@
}
},
"@babel/preset-env": {
"version": "7.12.10",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.10.tgz",
"integrity": "sha512-Gz9hnBT/tGeTE2DBNDkD7BiWRELZt+8lSysHuDwmYXUIvtwZl0zI+D6mZgXZX0u8YBlLS4tmai9ONNY9tjRgRA==",
"version": "7.12.11",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz",
"integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==",
"requires": {
"@babel/compat-data": "^7.12.7",
"@babel/helper-compilation-targets": "^7.12.5",
"@babel/helper-module-imports": "^7.12.5",
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/helper-validator-option": "^7.12.1",
"@babel/helper-validator-option": "^7.12.11",
"@babel/plugin-proposal-async-generator-functions": "^7.12.1",
"@babel/plugin-proposal-class-properties": "^7.12.1",
"@babel/plugin-proposal-dynamic-import": "^7.12.1",
@@ -1022,7 +1042,7 @@
"@babel/plugin-transform-arrow-functions": "^7.12.1",
"@babel/plugin-transform-async-to-generator": "^7.12.1",
"@babel/plugin-transform-block-scoped-functions": "^7.12.1",
"@babel/plugin-transform-block-scoping": "^7.12.1",
"@babel/plugin-transform-block-scoping": "^7.12.11",
"@babel/plugin-transform-classes": "^7.12.1",
"@babel/plugin-transform-computed-properties": "^7.12.1",
"@babel/plugin-transform-destructuring": "^7.12.1",
@@ -1052,17 +1072,22 @@
"@babel/plugin-transform-unicode-escapes": "^7.12.1",
"@babel/plugin-transform-unicode-regex": "^7.12.1",
"@babel/preset-modules": "^0.1.3",
"@babel/types": "^7.12.10",
"@babel/types": "^7.12.11",
"core-js-compat": "^3.8.0",
"semver": "^5.5.0"
},
"dependencies": {
"@babel/helper-validator-identifier": {
"version": "7.12.11",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
"integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw=="
},
"@babel/types": {
"version": "7.12.10",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz",
"integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==",
"version": "7.12.11",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.11.tgz",
"integrity": "sha512-ukA9SQtKThINm++CX1CwmliMrE54J6nIYB5XTwL5f/CLFW9owfls+YSU8tVW15RQ2w+a3fSbPjC6HdQNtWZkiA==",
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
"@babel/helper-validator-identifier": "^7.12.11",
"lodash": "^4.17.19",
"to-fast-properties": "^2.0.0"
}
@@ -1340,9 +1365,9 @@
"integrity": "sha512-FyD2meJpDPjyNQejSjvnhpgI/azsQkA4lGbuu5BQZfjvJ9cbRZXzeWL2HceCekW4lixO9JPesIIQkSoLjeJHNQ=="
},
"@sinonjs/commons": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz",
"integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==",
"version": "1.8.2",
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.2.tgz",
"integrity": "sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw==",
"dev": true,
"requires": {
"type-detect": "4.0.8"
@@ -1357,20 +1382,10 @@
"@sinonjs/commons": "^1.7.0"
}
},
"@sinonjs/formatio": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-5.0.1.tgz",
"integrity": "sha512-KaiQ5pBf1MpS09MuA0kp6KBQt2JUOQycqVG1NZXvzeaXe5LGFqAKueIS0bw4w0P9r7KuBSVdUk5QjXsUdu2CxQ==",
"dev": true,
"requires": {
"@sinonjs/commons": "^1",
"@sinonjs/samsam": "^5.0.2"
}
},
"@sinonjs/samsam": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.0.tgz",
"integrity": "sha512-hXpcfx3aq+ETVBwPlRFICld5EnrkexXuXDwqUNhDdr5L8VjvMeSRwyOa0qL7XFmR+jVWR4rUZtnxlG7RX72sBg==",
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz",
"integrity": "sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==",
"dev": true,
"requires": {
"@sinonjs/commons": "^1.6.0",
@@ -1390,23 +1405,13 @@
"integrity": "sha512-tA7GG7Tj479vojfV3AoxbckalA48aK6giGjNtgH6ihpLwTyHE3fIgRrvt8TWfLwW8X8dyu7vgmAsGLRG7hWWOg=="
},
"@slack/webhook": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/@slack/webhook/-/webhook-5.0.3.tgz",
"integrity": "sha512-51vnejJ2zABNumPVukOLyerpHQT39/Lt0TYFtOEz/N2X77bPofOgfPj2atB3etaM07mxWHLT9IRJ4Zuqx38DkQ==",
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/@slack/webhook/-/webhook-5.0.4.tgz",
"integrity": "sha512-IC1dpVSc2F/pmwCxOb0QzH2xnGKmyT7MofPGhNkeaoiMrLMU+Oc7xV/AxGnz40mURtCtaDchZSM3tDo9c9x6BA==",
"requires": {
"@slack/types": "^1.2.1",
"@types/node": ">=8.9.0",
"axios": "^0.19.0"
},
"dependencies": {
"axios": {
"version": "0.19.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
"integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
"requires": {
"follow-redirects": "1.5.10"
}
}
"axios": "^0.21.1"
}
},
"@szmarczak/http-timer": {
@@ -1484,9 +1489,9 @@
}
},
"@types/express-serve-static-core": {
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.15.tgz",
"integrity": "sha512-pb71P0BrBAx7cQE+/7QnA1HTQUkdBKMlkPY7lHUMn0YvPJkL2UA+KW3BdWQ309IT+i9En/qm45ZxpjIcpgEhNQ==",
"version": "4.17.17",
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.17.tgz",
"integrity": "sha512-YYlVaCni5dnHc+bLZfY908IG1+x5xuibKZMGv8srKkvtul3wUuanYvpIj9GXXoWkQbaAdR+kgX46IETKUALWNQ==",
"requires": {
"@types/node": "*",
"@types/qs": "*",
@@ -1748,9 +1753,9 @@
}
},
"apidoc": {
"version": "0.25.0",
"resolved": "https://registry.npmjs.org/apidoc/-/apidoc-0.25.0.tgz",
"integrity": "sha512-5g9fp8OffXZOdBTzm4BBvV5Vw54s+NmKnGZIUKuH+gRTqqJuRJpcGN6sz6WnjJ+NcvXhB7rIRp6FhtJahazx2Q==",
"version": "0.26.0",
"resolved": "https://registry.npmjs.org/apidoc/-/apidoc-0.26.0.tgz",
"integrity": "sha512-IEw/Z7HMMbjeVjK2sZvZSwAln8AqalLzf3qLDtkcedXVhdxGm6W7UgIW6fshegqNTMLzm8CFEMi4Lxbeu0xKTw==",
"requires": {
"apidoc-core": "^0.12.0",
"commander": "^2.20.0",
@@ -1770,15 +1775,10 @@
"uc.micro": "^1.0.1"
}
},
"lodash": {
"version": "4.17.20",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
"integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA=="
},
"markdown-it": {
"version": "11.0.0",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-11.0.0.tgz",
"integrity": "sha512-+CvOnmbSubmQFSA9dKz1BRiaSMV7rhexl3sngKqFyXSagoA3fBdJQ8oZWtRy2knXdpDXaBw44euz37DeJQ9asg==",
"version": "11.0.1",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-11.0.1.tgz",
"integrity": "sha512-aU1TzmBKcWNNYvH9pjq6u92BML+Hz3h5S/QpfTFwiQF852pLT+9qHsrhM9JYipkOXZxGn+sGH8oyJE9FD9WezQ==",
"requires": {
"argparse": "^1.0.7",
"entities": "~2.0.0",
@@ -1802,15 +1802,13 @@
"semver": "~7.3.2"
},
"dependencies": {
"lodash": {
"version": "4.17.20",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
"integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA=="
},
"semver": {
"version": "7.3.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
"integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ=="
"version": "7.3.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
"integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
"requires": {
"lru-cache": "^6.0.0"
}
}
}
},
@@ -1832,23 +1830,13 @@
}
},
"apple-auth": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/apple-auth/-/apple-auth-1.0.6.tgz",
"integrity": "sha512-dICsYIHBTX+7/1xdJZ4y4U08zOxEnL67GQ77l/HSKqEx9uC1wsY5dNjgbZf2F/1QnzAxDbAAHo0DgUCrA1k7zQ==",
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/apple-auth/-/apple-auth-1.0.7.tgz",
"integrity": "sha512-vfJqy4KtT5KHflxBSemc0mkWuy2GU2wHWaZ6xVWUjPmiXkJcLj5jB3IeCbDLF4wN+ZStjOQXZWfGwccBjclVlA==",
"requires": {
"axios": "^0.19.0",
"axios": "^0.21.1",
"express": "^4.17.1",
"jsonwebtoken": "^8.5.1"
},
"dependencies": {
"axios": {
"version": "0.19.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
"integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
"requires": {
"follow-redirects": "1.5.10"
}
}
}
},
"aproba": {
@@ -2152,17 +2140,17 @@
"integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA=="
},
"axios": {
"version": "0.21.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.0.tgz",
"integrity": "sha512-fmkJBknJKoZwem3/IKSSLpkdNXZeBu5Q7GA/aRsr2btgrptmSCxi2oFjZHqGdK9DoTil9PIHlPIZw2EcRJXRvw==",
"version": "0.21.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
"integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
"requires": {
"follow-redirects": "^1.10.0"
},
"dependencies": {
"follow-redirects": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz",
"integrity": "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA=="
"version": "1.13.1",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz",
"integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg=="
}
}
},
@@ -3176,9 +3164,9 @@
}
},
"caniuse-lite": {
"version": "1.0.30001166",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001166.tgz",
"integrity": "sha512-nCL4LzYK7F4mL0TjEMeYavafOGnBa98vTudH5c8lW9izUjnB99InG6pmC1ElAI1p0GlyZajv4ltUdFXvOHIl1A=="
"version": "1.0.30001170",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001170.tgz",
"integrity": "sha512-Dd4d/+0tsK0UNLrZs3CvNukqalnVTRrxb5mcQm8rHL49t7V5ZaTygwXkrq+FB+dVDf++4ri8eJnFEJAB8332PA=="
},
"caseless": {
"version": "0.12.0",
@@ -4017,9 +4005,9 @@
}
},
"csv-stringify": {
"version": "5.5.3",
"resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.5.3.tgz",
"integrity": "sha512-JKG8vIHpWPzdilp2SAmvjmAiIhD+XGKGdhZBGi8QIECgJAsFr7k5CmJIW2QkSxBBsctvmojM25s+UINzQ5NLTg=="
"version": "5.6.1",
"resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.1.tgz",
"integrity": "sha512-JlQlNZMiuRGSFbLXFNGoBtsORXlkqf4Dfq8Ee0Jo4RVJj3YAUzevagUx24mDrQJLDF7aYz6Ne8kqA8WWBaYt2A=="
},
"currently-unhandled": {
"version": "0.4.1",
@@ -4627,9 +4615,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"electron-to-chromium": {
"version": "1.3.625",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.625.tgz",
"integrity": "sha512-CsLk/r0C9dAzVPa9QF74HIXduxaucsaRfqiOYvIv2PRhvyC6EOqc/KbpgToQuDVgPf3sNAFZi3iBu4vpGOwGag=="
"version": "1.3.629",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.629.tgz",
"integrity": "sha512-iSPPJtPvHrMAvYOt+9cdbDmTasPqwnwz4lkP8Dn200gDNUBQOLQ96xUsWXBwXslAo5XxdoXAoQQ3RAy4uao9IQ=="
},
"emitter-listener": {
"version": "1.1.2",
@@ -5884,29 +5872,6 @@
"resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz",
"integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="
},
"follow-redirects": {
"version": "1.5.10",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
"integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
"requires": {
"debug": "=3.1.0"
},
"dependencies": {
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"requires": {
"ms": "2.0.0"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
}
}
},
"for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
@@ -7207,9 +7172,9 @@
"dev": true
},
"helmet": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/helmet/-/helmet-4.2.0.tgz",
"integrity": "sha512-aoiSxXMd0ks1ojYpSCFoCRzgv4rY/uB9jKStaw8PkXwsdLYa/Gq+Nc5l0soH0cwBIsLAlujPnx4HLQs+LaXCrQ=="
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/helmet/-/helmet-4.4.1.tgz",
"integrity": "sha512-G8tp0wUMI7i8wkMk2xLcEvESg5PiCitFMYgGRc/PwULB0RVhTP5GFdxOwvJwp9XVha8CuS8mnhmE8I/8dx/pbw=="
},
"hex2dec": {
"version": "1.1.2",
@@ -8201,12 +8166,19 @@
}
},
"jsonfile": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
"integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"requires": {
"graceful-fs": "^4.1.6",
"universalify": "^1.0.0"
"universalify": "^2.0.0"
},
"dependencies": {
"universalify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
}
}
},
"jsonwebtoken": {
@@ -8285,12 +8257,12 @@
}
},
"jwks-rsa": {
"version": "1.12.0",
"resolved": "https://registry.npmjs.org/jwks-rsa/-/jwks-rsa-1.12.0.tgz",
"integrity": "sha512-6zKwlhnGQo+KivArZQThGoxrliRZgyC8s6yXDFSNRiMEVm+4jv07nBkVPFoaN/rEX0b47GKm5MSyBmuzGjj6wg==",
"version": "1.12.2",
"resolved": "https://registry.npmjs.org/jwks-rsa/-/jwks-rsa-1.12.2.tgz",
"integrity": "sha512-6gPo/mQUxXJt75oPtjhM3Jm3FSXnmwg73QDA8dpgP7YmIKlIY+2StngFxt4w4Y1podtSbtV3jttNOdctuxAX1Q==",
"requires": {
"@types/express-jwt": "0.0.42",
"axios": "^0.19.2",
"axios": "^0.21.1",
"debug": "^4.1.0",
"http-proxy-agent": "^4.0.1",
"https-proxy-agent": "^5.0.0",
@@ -8299,16 +8271,6 @@
"lru-memoizer": "^2.1.2",
"ms": "^2.1.2",
"proxy-from-env": "^1.1.0"
},
"dependencies": {
"axios": {
"version": "0.19.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
"integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
"requires": {
"follow-redirects": "1.5.10"
}
}
}
},
"jws": {
@@ -8653,9 +8615,9 @@
}
},
"lru-memoizer": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/lru-memoizer/-/lru-memoizer-2.1.3.tgz",
"integrity": "sha512-DcAptVUrKHbyKfSpvthwHwD42bFBLSAhTXJf5PQunu4F0/Hzy41WTamvavUWqsOPps26D0l5534aFvcwEcYzDw==",
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/lru-memoizer/-/lru-memoizer-2.1.4.tgz",
"integrity": "sha512-IXAq50s4qwrOBrXJklY+KhgZF+5y98PDaNo0gi/v2KQBFLyWr+JyFvijZXkGKjQj/h9c0OwoE+JZbwUXce76hQ==",
"requires": {
"lodash.clonedeep": "^4.5.0",
"lru-cache": "~4.0.0"
@@ -9346,16 +9308,16 @@
}
},
"mongoose": {
"version": "5.11.7",
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.11.7.tgz",
"integrity": "sha512-9FQ3BNPMU7GVHw1jVrxPXQpVJWuMESEO5bf4SWgI4S6+OT1Kk6fdLGWibUh2UAVSolfizljOZQQ6Z+cTLyoFOw==",
"version": "5.11.13",
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.11.13.tgz",
"integrity": "sha512-rXbaxSJfLnKKO2RTm8MKt65glrtfKDc4ATEb6vEbbzsVGCiLut753K5axdpyvE7KeTH7GOh4LzmuQLOvaaWOmA==",
"requires": {
"@types/mongodb": "^3.5.27",
"bson": "^1.1.4",
"kareem": "2.3.2",
"mongodb": "3.6.3",
"mongoose-legacy-pluralize": "1.0.2",
"mpath": "0.8.1",
"mpath": "0.8.3",
"mquery": "3.2.3",
"ms": "2.1.2",
"regexp-clone": "1.0.0",
@@ -9532,9 +9494,9 @@
}
},
"mpath": {
"version": "0.8.1",
"resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.1.tgz",
"integrity": "sha512-norEinle9aFc05McBawVPwqgFZ7npkts9yu17ztIVLwPwO9rq0OTp89kGVTqvv5rNLMz96E5iWHpVORjI411vA=="
"version": "0.8.3",
"resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.3.tgz",
"integrity": "sha512-eb9rRvhDltXVNL6Fxd2zM9D4vKBxjVVQNLNijlj7uoXUy19zNDsIif5zR+pWmPCWNKwAtqyo4JveQm4nfD5+eA=="
},
"mquery": {
"version": "3.2.3",
@@ -9613,9 +9575,9 @@
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc="
},
"nconf": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/nconf/-/nconf-0.11.0.tgz",
"integrity": "sha512-c4W7QqYF6p5BC7J/eVTOvtUlQgvS5CgbJ11xgjhSr8yyius7km7xgdIYHkFLR4TWY1HjsFkia/3l5OprGqCHvA==",
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/nconf/-/nconf-0.11.1.tgz",
"integrity": "sha512-2XY+7x3GwkkTnmkEVxsKykg0GUqCAtBZUA87FwbcUSaYBfaGCeVSf+82zap16j93B21J2AhpxrsF57jio36t0w==",
"requires": {
"async": "^1.4.0",
"ini": "^1.3.0",
@@ -9693,9 +9655,9 @@
"integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg=="
},
"yargs": {
"version": "16.1.1",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.1.1.tgz",
"integrity": "sha512-hAD1RcFP/wfgfxgMVswPE+z3tlPFtxG8/yWUrG2i17sTWGCGqWnxKcLTF4cUKDUK8fzokwsmO9H0TDkRbMHy8w==",
"version": "16.2.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
"integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
"requires": {
"cliui": "^7.0.2",
"escalade": "^3.1.1",
@@ -11148,9 +11110,9 @@
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
},
"rate-limiter-flexible": {
"version": "2.1.14",
"resolved": "https://registry.npmjs.org/rate-limiter-flexible/-/rate-limiter-flexible-2.1.14.tgz",
"integrity": "sha512-YeTTEsP0eDKONwVLIP62XLmQyXOYKuXJOnMECwmaJFiUNa6uudcz9YMTXxzf5uvmnfvOknM2lKj4k2p/INm4HA=="
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/rate-limiter-flexible/-/rate-limiter-flexible-2.2.1.tgz",
"integrity": "sha512-rxCP6kDDdn0cZmVqVlF06yLU+mG3TuwaHV/fUIw3OQyYhza7pzVBtdMhUmfXbBzMS+O464XP+x33pfTDGRGYVA=="
},
"raw-body": {
"version": "2.4.0",
@@ -11684,9 +11646,9 @@
"integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q=="
},
"run-rs": {
"version": "0.7.3",
"resolved": "https://registry.npmjs.org/run-rs/-/run-rs-0.7.3.tgz",
"integrity": "sha512-/JmHX4rhHNeLn+F/RqhPwYUmcnbX2Qjm8g77flhKbL6Ak9wpyq+d/a87qb1nBR72r15LT0IRf87sbLWZ/x39QA==",
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/run-rs/-/run-rs-0.7.4.tgz",
"integrity": "sha512-6VP6zOPvl6uiC+Qe+yXY0G5BbLcelO6lhkMlAuM+syOSUIsiI2mQB2NBhqv1g1I0k8bPQ2KgIa4qe6nTuXYU+g==",
"dev": true,
"requires": {
"chalk": "2.4.1",
@@ -12016,15 +11978,14 @@
}
},
"sinon": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.2.tgz",
"integrity": "sha512-9Owi+RisvCZpB0bdOVFfL314I6I4YoRlz6Isi4+fr8q8YQsDPoCe5UnmNtKHRThX3negz2bXHWIuiPa42vM8EQ==",
"version": "9.2.4",
"resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz",
"integrity": "sha512-zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg==",
"dev": true,
"requires": {
"@sinonjs/commons": "^1.8.1",
"@sinonjs/fake-timers": "^6.0.1",
"@sinonjs/formatio": "^5.0.1",
"@sinonjs/samsam": "^5.3.0",
"@sinonjs/samsam": "^5.3.1",
"diff": "^4.0.2",
"nise": "^4.0.4",
"supports-color": "^7.1.0"
@@ -12709,18 +12670,18 @@
}
},
"stripe": {
"version": "8.121.0",
"resolved": "https://registry.npmjs.org/stripe/-/stripe-8.121.0.tgz",
"integrity": "sha512-Uswmut57hVdyPrb+EJUTWbrLcTIEL4LS5T6UQZPO5AJNYT0PGHajgY1esQwmV7yVBL+Kgt3y/16zIAY/gAwifg==",
"version": "8.132.0",
"resolved": "https://registry.npmjs.org/stripe/-/stripe-8.132.0.tgz",
"integrity": "sha512-VFKQJWgPt2X0r/jh4wS6Kgx6/VH1IHw1466wIwahgWzgSANme5iNaJ+1AW45hvRUZJ+T15f2hTfQkQGyP73ZCg==",
"requires": {
"@types/node": ">=8.1.0",
"qs": "^6.6.0"
},
"dependencies": {
"qs": {
"version": "6.9.4",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz",
"integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ=="
"version": "6.9.6",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz",
"integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ=="
}
}
},
+15 -15
View File
@@ -1,26 +1,26 @@
{
"name": "habitica",
"description": "A habit tracker app which treats your goals like a Role Playing Game.",
"version": "4.175.5",
"version": "4.179.0",
"main": "./website/server/index.js",
"dependencies": {
"@babel/core": "^7.12.10",
"@babel/preset-env": "^7.12.10",
"@babel/preset-env": "^7.12.11",
"@babel/register": "^7.12.10",
"@google-cloud/trace-agent": "^5.1.1",
"@slack/webhook": "^5.0.3",
"@parse/node-apn": "^4.0.0",
"@slack/webhook": "^5.0.4",
"accepts": "^1.3.5",
"amazon-payments": "^0.2.8",
"amplitude": "^5.1.4",
"apidoc": "^0.25.0",
"apple-auth": "^1.0.6",
"apidoc": "^0.26.0",
"apple-auth": "^1.0.7",
"bcrypt": "^5.0.0",
"body-parser": "^1.18.3",
"compression": "^1.7.4",
"cookie-session": "^1.4.0",
"coupon-code": "^0.4.5",
"csv-stringify": "^5.5.3",
"csv-stringify": "^5.6.1",
"cwait": "^1.1.1",
"domain-middleware": "~0.1.0",
"eslint": "^6.8.0",
@@ -37,20 +37,20 @@
"gulp-nodemon": "^2.5.0",
"gulp.spritesmith": "^6.9.0",
"habitica-markdown": "^3.0.0",
"helmet": "^4.2.0",
"helmet": "^4.4.1",
"image-size": "^0.9.3",
"in-app-purchase": "^1.11.3",
"js2xmlparser": "^4.0.1",
"jsonwebtoken": "^8.5.1",
"jwks-rsa": "^1.12.0",
"jwks-rsa": "^1.12.2",
"lodash": "^4.17.20",
"merge-stream": "^2.0.0",
"method-override": "^3.0.0",
"moment": "^2.29.1",
"moment-recur": "^1.0.7",
"mongoose": "^5.11.7",
"mongoose": "^5.11.13",
"morgan": "^1.10.0",
"nconf": "^0.11.0",
"nconf": "^0.11.1",
"node-gcm": "^1.0.3",
"on-headers": "^1.0.2",
"passport": "^0.4.1",
@@ -60,13 +60,13 @@
"paypal-rest-sdk": "^1.8.1",
"pp-ipn": "^1.1.0",
"ps-tree": "^1.0.0",
"rate-limiter-flexible": "^2.1.14",
"rate-limiter-flexible": "^2.2.1",
"redis": "^3.0.2",
"regenerator-runtime": "^0.13.7",
"remove-markdown": "^0.3.0",
"rimraf": "^3.0.2",
"short-uuid": "^4.1.0",
"stripe": "^8.121.0",
"stripe": "^8.132.0",
"superagent": "^6.1.0",
"universal-analytics": "^0.4.23",
"useragent": "^2.1.9",
@@ -109,7 +109,7 @@
"apidoc": "gulp apidoc"
},
"devDependencies": {
"axios": "^0.21.0",
"axios": "^0.21.1",
"chai": "^4.1.2",
"chai-as-promised": "^7.1.1",
"chai-moment": "^0.1.0",
@@ -120,8 +120,8 @@
"mocha": "^5.1.1",
"monk": "^7.3.2",
"require-again": "^2.0.0",
"run-rs": "^0.7.3",
"sinon": "^9.2.2",
"run-rs": "^0.7.4",
"sinon": "^9.2.4",
"sinon-chai": "^3.5.0",
"sinon-stub-promise": "^4.0.0"
},
+1 -2
View File
@@ -35,13 +35,12 @@ async function deleteAmplitudeData (userId, email) {
}
async function deleteHabiticaData (user, email) {
const truncatedEmail = email.slice(0, email.indexOf('@'));
const set = {
'auth.blocked': false,
'auth.local.hashed_password': '$2a$10$QDnNh1j1yMPnTXDEOV38xOePEWFd4X8DSYwAM8XTmqmacG5X0DKjW',
'auth.local.passwordHashMethod': 'bcrypt',
};
if (!user.auth.local.email) set['auth.local.email'] = `${truncatedEmail}-gdpr@example.com`;
if (!user.auth.local.email) set['auth.local.email'] = `${user._id}@example.com`;
await User.update(
{ _id: user._id },
{ $set: set },
@@ -22,9 +22,7 @@ describe('Purchasing a group plan for group', () => {
let plan; let group; let user; let
data;
const stripe = stripeModule('test', {
apiVersion: '2020-08-27',
});
const stripe = stripeModule('test');
const groupLeaderName = 'sender';
const groupName = 'test group';
+1 -1
View File
@@ -269,7 +269,7 @@ describe('payments/index', () => {
context('Active Promotion', () => {
beforeEach(() => {
sinon.stub(worldState, 'getCurrentEvent').returns({
...common.content.events.winter2021,
...common.content.events.winter2021Promo,
event: 'winter2021',
});
});
@@ -17,9 +17,7 @@ import * as gems from '../../../../../../website/server/libs/payments/gems';
const { i18n } = common;
describe('Stripe - Checkout', () => {
const stripe = stripeModule('test', {
apiVersion: '2020-08-27',
});
const stripe = stripeModule('test');
const BASE_URL = nconf.get('BASE_URL');
const redirectUrls = {
success_url: `${BASE_URL}/redirect/stripe-success-checkout`,
@@ -236,9 +236,7 @@ describe('Stripe - Subscriptions', () => {
});
describe('handlePaymentMethodChange', () => {
const stripe = stripeModule('test', {
apiVersion: '2020-08-27',
});
const stripe = stripeModule('test');
it('updates the plan quantity based on the number of group members', async () => {
const stripeIntentRetrieveStub = sandbox.stub(stripe.setupIntents, 'retrieve').resolves({
@@ -259,9 +257,7 @@ describe('Stripe - Subscriptions', () => {
});
describe('chargeForAdditionalGroupMember', () => {
const stripe = stripeModule('test', {
apiVersion: '2020-08-27',
});
const stripe = stripeModule('test');
let stripeUpdateSubStub;
const plan = common.content.subscriptionBlocks['group_monthly']; // eslint-disable-line dot-notation
@@ -302,9 +298,7 @@ describe('Stripe - Subscriptions', () => {
describe('cancelSubscription', () => {
const subKey = 'basic_3mo';
const stripe = stripeModule('test', {
apiVersion: '2020-08-27',
});
const stripe = stripeModule('test');
let user; let groupId; let
group;
@@ -16,9 +16,7 @@ import * as subscriptions from '../../../../../../website/server/libs/payments/s
const { i18n } = common;
describe('Stripe - Webhooks', () => {
const stripe = stripeModule('test', {
apiVersion: '2020-08-27',
});
const stripe = stripeModule('test');
const endpointSecret = nconf.get('STRIPE_WEBHOOKS_ENDPOINT_SECRET');
const headers = {};
const body = {};
@@ -90,11 +88,11 @@ describe('Stripe - Webhooks', () => {
sandbox.stub(payments, 'cancelSubscription').resolves({});
});
it('does not do anything if event.request is null (subscription cancelled manually)', async () => {
it('does not do anything if event.request is not null (subscription cancelled manually)', async () => {
constructEventStub.returns({
id: 123,
type: eventType,
request: 123,
request: { id: 123 },
});
await stripePayments.handleWebhooks({ body, headers }, stripe);
@@ -118,7 +116,7 @@ describe('Stripe - Webhooks', () => {
customer: customerId,
},
},
request: null,
request: { id: null },
});
await expect(stripePayments.handleWebhooks({ body, headers }, stripe))
@@ -151,7 +149,7 @@ describe('Stripe - Webhooks', () => {
customer: customerId,
},
},
request: null,
request: { id: null },
});
await stripePayments.handleWebhooks({ body, headers }, stripe);
@@ -182,7 +180,7 @@ describe('Stripe - Webhooks', () => {
customer: customerId,
},
},
request: null,
request: { id: null },
});
await expect(stripePayments.handleWebhooks({ body, headers }, stripe))
@@ -220,7 +218,7 @@ describe('Stripe - Webhooks', () => {
customer: customerId,
},
},
request: null,
request: { id: null },
});
await expect(stripePayments.handleWebhooks({ body, headers }, stripe))
@@ -261,7 +259,7 @@ describe('Stripe - Webhooks', () => {
customer: customerId,
},
},
request: null,
request: { id: null },
});
await stripePayments.handleWebhooks({ body, headers }, stripe);
@@ -8,9 +8,14 @@ import {
describe('POST /tasks/user', () => {
let user;
let tzoffset;
before(async () => {
tzoffset = new Date().getTimezoneOffset();
});
beforeEach(async () => {
user = await generateUser();
user = await generateUser({ 'preferences.timezoneOffset': tzoffset });
});
context('validates params', async () => {
@@ -220,6 +225,18 @@ describe('POST /tasks/user', () => {
});
});
it('errors if todo due date supplied is an invalid date', async () => {
await expect(user.post('/tasks/user', {
type: 'todo',
text: 'todo text',
date: 'invalid date',
})).to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
message: 'todo validation failed',
});
});
context('sending task activity webhooks', () => {
before(async () => {
await server.start();
@@ -532,7 +549,7 @@ describe('POST /tasks/user', () => {
expect(task.everyX).to.eql(5);
expect(task.daysOfMonth).to.eql([15]);
expect(task.weeksOfMonth).to.eql([3]);
expect(new Date(task.startDate)).to.eql(now);
expect(new Date(task.startDate)).to.eql(new Date(now.setHours(0, 0, 0, 0)));
expect(task.isDue).to.be.true;
expect(task.nextDue.length).to.eql(6);
});
@@ -10,9 +10,14 @@ import {
describe('PUT /tasks/:id', () => {
let user;
let tzoffset;
before(async () => {
tzoffset = (new Date()).getTimezoneOffset();
});
beforeEach(async () => {
user = await generateUser();
user = await generateUser({ 'preferences.timezoneOffset': tzoffset });
});
context('validates params', () => {
@@ -503,7 +508,8 @@ describe('PUT /tasks/:id', () => {
let monthly;
beforeEach(async () => {
const date1 = moment.utc('2020-07-01').toDate();
// using date literals is discouraged here, daylight savings will break everything
const date1 = moment().toDate();
monthly = await user.post('/tasks/user', {
text: 'test monthly',
type: 'daily',
@@ -514,7 +520,7 @@ describe('PUT /tasks/:id', () => {
});
it('updates days of month when start date updated', async () => {
const date2 = moment.utc('2020-07-01').toDate();
const date2 = moment().add(6, 'months').toDate();
const savedMonthly = await user.put(`/tasks/${monthly._id}`, {
startDate: date2,
});
@@ -523,18 +529,30 @@ describe('PUT /tasks/:id', () => {
});
it('updates next due when start date updated', async () => {
const date2 = moment.utc('2022-07-01').toDate();
const date2 = moment().add(6, 'months').toDate();
const savedMonthly = await user.put(`/tasks/${monthly._id}`, {
startDate: date2,
});
expect(savedMonthly.nextDue.length).to.eql(6);
expect(moment(savedMonthly.nextDue[0]).toDate()).to.eql(moment.utc('2022-08-01').toDate());
expect(moment(savedMonthly.nextDue[1]).toDate()).to.eql(moment.utc('2022-09-01').toDate());
expect(moment(savedMonthly.nextDue[2]).toDate()).to.eql(moment.utc('2022-10-01').toDate());
expect(moment(savedMonthly.nextDue[3]).toDate()).to.eql(moment.utc('2022-11-01').toDate());
expect(moment(savedMonthly.nextDue[4]).toDate()).to.eql(moment.utc('2022-12-01').toDate());
expect(moment(savedMonthly.nextDue[5]).toDate()).to.eql(moment.utc('2023-01-01').toDate());
expect(moment(savedMonthly.nextDue[0]).toDate()).to.eql(
moment(date2).add(1, 'months').startOf('day').toDate(),
);
expect(moment(savedMonthly.nextDue[1]).toDate()).to.eql(
moment(date2).add(2, 'months').startOf('day').toDate(),
);
expect(moment(savedMonthly.nextDue[2]).toDate()).to.eql(
moment(date2).add(3, 'months').startOf('day').toDate(),
);
expect(moment(savedMonthly.nextDue[3]).toDate()).to.eql(
moment(date2).add(4, 'months').startOf('day').toDate(),
);
expect(moment(savedMonthly.nextDue[4]).toDate()).to.eql(
moment(date2).add(5, 'months').startOf('day').toDate(),
);
expect(moment(savedMonthly.nextDue[5]).toDate()).to.eql(
moment(date2).add(6, 'months').startOf('day').toDate(),
);
});
});
@@ -11,13 +11,18 @@ describe('POST /tasks/challenge/:challengeId', () => {
let user;
let guild;
let challenge;
let tzoffset;
function findUserChallengeTask (memberTask) {
return memberTask.challenge.id === challenge._id;
}
before(async () => {
tzoffset = new Date().getTimezoneOffset();
});
beforeEach(async () => {
user = await generateUser({ balance: 1 });
user = await generateUser({ balance: 1, 'preferences.timezoneOffset': tzoffset });
guild = await generateGroup(user);
challenge = await generateChallenge(user, guild);
await user.post(`/challenges/${challenge._id}/join`);
@@ -165,7 +170,7 @@ describe('POST /tasks/challenge/:challengeId', () => {
expect(task.type).to.eql('daily');
expect(task.frequency).to.eql('daily');
expect(task.everyX).to.eql(5);
expect(new Date(task.startDate)).to.eql(now);
expect(new Date(task.startDate)).to.eql(new Date(now.setHours(0, 0, 0, 0)));
expect(userChallengeTask.notes).to.eql(task.notes);
});
@@ -12,7 +12,7 @@ describe('PUT /tasks/:id', () => {
let challenge;
before(async () => {
user = await generateUser();
user = await generateUser({ 'preferences.timezoneOffset': new Date().getTimezoneOffset() });
guild = await generateGroup(user);
challenge = await generateChallenge(user, guild);
await user.post(`/challenges/${challenge._id}/join`);
@@ -8,12 +8,18 @@ import {
describe('POST /tasks/group/:groupid', () => {
let user; let guild; let
manager;
let tzoffset;
const groupName = 'Test Public Guild';
const groupType = 'guild';
before(async () => {
tzoffset = new Date().getTimezoneOffset();
});
beforeEach(async () => {
user = await generateUser({ balance: 1 });
// user = await generateUser({ balance: 1, 'preferences.timezoneOffset': tzoffset });
const { group, groupLeader, members } = await createAndPopulateGroup({
leaderDetails: { balance: 10, 'preferences.timezoneOffset': tzoffset },
groupDetails: {
name: groupName,
type: groupType,
@@ -128,7 +134,7 @@ describe('POST /tasks/group/:groupid', () => {
expect(task.type).to.eql('daily');
expect(task.frequency).to.eql('daily');
expect(task.everyX).to.eql(5);
expect(new Date(task.startDate)).to.eql(now);
expect(new Date(task.startDate)).to.eql(new Date(now.setHours(0, 0, 0, 0)));
});
it('allows a manager to add a group task', async () => {
@@ -3,15 +3,15 @@ import {
} from '../../../../helpers/api-integration/v3';
import getOfficialPinnedItems from '../../../../../website/common/script/libs/getOfficialPinnedItems';
import content from '../../../../../website/common/script/content';
describe('POST /user/move-pinned-item/:path/move/to/:position', () => {
let user;
let officialPinnedItems;
let officialPinnedItemPaths;
beforeEach(async () => {
user = await generateUser();
officialPinnedItems = getOfficialPinnedItems(user);
const officialPinnedItems = getOfficialPinnedItems(user);
officialPinnedItemPaths = [];
// officialPinnedItems are returned in { type: ..., path:... } format
@@ -83,7 +83,7 @@ describe('POST /user/move-pinned-item/:path/move/to/:position', () => {
expect(res).to.eql(expectedResponse);
});
it('adjusts the order of pinned items with order mismatch', async () => {
it('adjusts the order of pinned items with order mismatch - existing item in order', async () => {
const testPinnedItems = [
{ type: 'card', path: 'cardTypes.thankyou' },
{ type: 'card', path: 'cardTypes.greeting' },
@@ -125,6 +125,95 @@ describe('POST /user/move-pinned-item/:path/move/to/:position', () => {
expect(res).to.eql(expectedResponse);
});
it('adjusts the order of pinned items with order mismatch - not existing in order', async () => {
const testPinnedItems = [
{ type: 'card', path: 'cardTypes.thankyou' },
{ type: 'card', path: 'cardTypes.greeting' },
{ type: 'potion', path: 'potion' },
{ type: 'armoire', path: 'armoire' },
];
const testPinnedItemsOrder = [
'armoire',
'potion',
];
await user.update({
pinnedItems: testPinnedItems,
pinnedItemsOrder: testPinnedItemsOrder,
});
await user.sync();
await user.post('/user/move-pinned-item/cardTypes.greeting/move/to/2');
await user.sync();
// The basic test
expect(user.pinnedItemsOrder[2]).to.equal('cardTypes.greeting');
// potion is now the last item because the 2 unacounted for cards show up
// at the beginning of the order
expect(user.pinnedItemsOrder[user.pinnedItemsOrder.length - 1]).to.equal('potion');
});
it('adjusts the order of official pinned items with order mismatch - not existing in order', async () => {
const testPinnedItems = [
{ type: 'card', path: 'cardTypes.thankyou' },
{ type: 'card', path: 'cardTypes.greeting' },
{ type: 'potion', path: 'potion' },
];
const testPinnedItemsOrder = [
'potion',
];
const { officialPinnedItems } = content;
// add item to pinned
officialPinnedItems.push({ type: 'armoire', path: 'armoire' });
await user.update({
pinnedItems: testPinnedItems,
pinnedItemsOrder: testPinnedItemsOrder,
});
await user.sync();
await user.post('/user/move-pinned-item/armoire/move/to/2');
await user.sync();
// The basic test
expect(user.pinnedItemsOrder[2]).to.equal('armoire');
// potion is now the last item because the 2 unacounted for cards show up
// at the beginning of the order
expect(user.pinnedItemsOrder[user.pinnedItemsOrder.length - 1]).to.equal('potion');
});
it('adjusts the order of pinned items with order mismatch - not existing - out of length', async () => {
const testPinnedItems = [
{ type: 'card', path: 'cardTypes.thankyou' },
{ type: 'card', path: 'cardTypes.greeting' },
{ type: 'potion', path: 'potion' },
{ type: 'armoire', path: 'armoire' },
];
const testPinnedItemsOrder = [
'armoire',
'potion',
];
await user.update({
pinnedItems: testPinnedItems,
pinnedItemsOrder: testPinnedItemsOrder,
});
await user.sync();
await user.post('/user/move-pinned-item/cardTypes.greeting/move/to/33');
await user.sync();
// since the target was out of bounce it added it to the last item
expect(user.pinnedItemsOrder[user.pinnedItemsOrder.length - 1]).to.equal('cardTypes.greeting');
});
it('cannot move pinned item that you do not have pinned', async () => {
const testPinnedItems = [
{ type: 'potion', path: 'potion' },
+8350 -3833
View File
File diff suppressed because it is too large Load Diff
+18 -18
View File
@@ -13,38 +13,38 @@
"storybook:serve": "vue-cli-service storybook:serve -p 6006 -c config/storybook"
},
"dependencies": {
"@storybook/addon-actions": "^5.3.19",
"@storybook/addon-knobs": "^5.3.19",
"@storybook/addon-links": "^5.3.19",
"@storybook/addon-actions": "^6.1.15",
"@storybook/addon-knobs": "^6.1.15",
"@storybook/addon-links": "^6.1.15",
"@storybook/addon-notes": "^5.3.21",
"@storybook/vue": "^5.3.19",
"@vue/cli-plugin-babel": "^4.5.9",
"@vue/cli-plugin-eslint": "^4.5.9",
"@vue/cli-plugin-router": "^4.5.9",
"@vue/cli-plugin-unit-mocha": "^4.5.9",
"@vue/cli-service": "^4.5.9",
"@storybook/vue": "^6.1.15",
"@vue/cli-plugin-babel": "^4.5.11",
"@vue/cli-plugin-eslint": "^4.5.11",
"@vue/cli-plugin-router": "^4.5.11",
"@vue/cli-plugin-unit-mocha": "^4.5.11",
"@vue/cli-service": "^4.5.11",
"@vue/test-utils": "1.0.0-beta.29",
"amplitude-js": "^7.3.3",
"axios": "^0.21.0",
"amplitude-js": "^7.4.1",
"axios": "^0.21.1",
"axios-progress-bar": "^1.2.0",
"babel-eslint": "^10.1.0",
"bootstrap": "^4.5.3",
"bootstrap-vue": "^2.20.1",
"bootstrap-vue": "^2.21.2",
"chai": "^4.1.2",
"core-js": "^3.8.1",
"core-js": "^3.8.3",
"eslint": "^6.8.0",
"eslint-config-habitrpg": "^6.2.0",
"eslint-plugin-mocha": "^5.3.0",
"eslint-plugin-vue": "^6.2.2",
"habitica-markdown": "^3.0.0",
"hellojs": "^1.18.6",
"inspectpack": "^4.5.2",
"inspectpack": "^4.6.1",
"intro.js": "^2.9.3",
"jquery": "^3.5.1",
"lodash": "^4.17.20",
"moment": "^2.29.1",
"nconf": "^0.11.0",
"sass": "^1.30.0",
"nconf": "^0.11.1",
"sass": "^1.32.5",
"sass-loader": "^8.0.2",
"smartbanner.js": "^1.16.0",
"svg-inline-loader": "^0.8.2",
@@ -54,12 +54,12 @@
"uuid": "^8.3.2",
"validator": "^13.5.2",
"vue": "^2.6.12",
"vue-cli-plugin-storybook": "^0.6.1",
"vue-cli-plugin-storybook": "^2.0.0",
"vue-mugen-scroll": "^0.2.6",
"vue-router": "^3.4.9",
"vue-template-compiler": "^2.6.12",
"vuedraggable": "^2.24.3",
"vuejs-datepicker": "git://github.com/habitrpg/vuejs-datepicker.git#153d339e4dbebb73733658aeda1d5b7fcc55b0a0",
"webpack": "^4.44.2"
"webpack": "^4.46.0"
}
}
@@ -1234,19 +1234,19 @@
width: 141px;
height: 147px;
}
.background_ice_cave {
.background_hot_spring {
background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
background-position: -1562px -1332px;
width: 141px;
height: 147px;
}
.background_iceberg {
.background_ice_cave {
background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
background-position: 0px -1480px;
width: 141px;
height: 147px;
}
.background_idyllic_cabin {
.background_iceberg {
background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
background-position: -142px -1480px;
width: 141px;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,48 +1,84 @@
.quest_TEMPLATE_FOR_MISSING_IMAGE {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -719px -1546px;
background-position: -502px -1519px;
width: 221px;
height: 39px;
}
.quest_falcon {
.quest_dilatoryDistress3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -443px 0px;
background-position: -220px 0px;
width: 219px;
height: 219px;
}
.quest_ferret {
.quest_dolphin {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -440px 0px;
width: 219px;
height: 219px;
}
.quest_dustbunnies {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: 0px -232px;
width: 219px;
height: 219px;
}
.quest_fluorite {
.quest_egg {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1762px -362px;
width: 165px;
height: 207px;
}
.quest_evilsanta {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1762px -1023px;
width: 118px;
height: 131px;
}
.quest_evilsanta2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -220px -232px;
width: 219px;
height: 219px;
}
.quest_frog {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1543px 0px;
width: 221px;
height: 213px;
}
.quest_ghost_stag {
.quest_falcon {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -440px -232px;
width: 219px;
height: 219px;
}
.quest_ferret {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -660px 0px;
width: 219px;
height: 219px;
}
.quest_fluorite {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -660px -220px;
width: 219px;
height: 219px;
}
.quest_frog {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1540px 0px;
width: 221px;
height: 213px;
}
.quest_ghost_stag {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: 0px -452px;
width: 219px;
height: 219px;
}
.quest_goldenknight1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -663px 0px;
background-position: -220px -452px;
width: 219px;
height: 219px;
}
.quest_goldenknight2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -217px -1546px;
background-position: 0px -1519px;
width: 250px;
height: 150px;
}
@@ -54,343 +90,307 @@
}
.quest_gryphon {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -663px -1332px;
background-position: -443px -1332px;
width: 216px;
height: 177px;
}
.quest_guineapig {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -663px -220px;
background-position: -440px -452px;
width: 219px;
height: 219px;
}
.quest_harpy {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: 0px -452px;
background-position: -660px -452px;
width: 219px;
height: 219px;
}
.quest_hedgehog {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -220px -1332px;
background-position: 0px -1332px;
width: 219px;
height: 186px;
}
.quest_hippo {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -220px -452px;
background-position: -880px 0px;
width: 219px;
height: 219px;
}
.quest_horse {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -440px -452px;
background-position: -880px -220px;
width: 219px;
height: 219px;
}
.quest_kangaroo {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -660px -452px;
background-position: -880px -440px;
width: 219px;
height: 219px;
}
.quest_kraken {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -880px -1332px;
background-position: -660px -1332px;
width: 216px;
height: 177px;
}
.quest_lostMasterclasser1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -883px 0px;
background-position: 0px -672px;
width: 219px;
height: 219px;
}
.quest_lostMasterclasser2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -883px -220px;
background-position: -220px -672px;
width: 219px;
height: 219px;
}
.quest_lostMasterclasser3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -883px -440px;
background-position: -440px -672px;
width: 219px;
height: 219px;
}
.quest_mayhemMistiflying1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1765px -537px;
background-position: -1762px -570px;
width: 150px;
height: 150px;
}
.quest_mayhemMistiflying2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: 0px -672px;
background-position: -660px -672px;
width: 219px;
height: 219px;
}
.quest_mayhemMistiflying3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -220px -672px;
background-position: -880px -672px;
width: 219px;
height: 219px;
}
.quest_monkey {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -440px -672px;
background-position: -1100px 0px;
width: 219px;
height: 219px;
}
.quest_moon1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1543px -214px;
background-position: -1540px -214px;
width: 216px;
height: 216px;
}
.quest_moon2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -660px -672px;
background-position: -1100px -220px;
width: 219px;
height: 219px;
}
.quest_moon3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -880px -672px;
background-position: -1100px -440px;
width: 219px;
height: 219px;
}
.quest_moonstone1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1103px 0px;
background-position: -1100px -660px;
width: 219px;
height: 219px;
}
.quest_moonstone2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1103px -220px;
background-position: 0px -892px;
width: 219px;
height: 219px;
}
.quest_moonstone3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1103px -440px;
background-position: -220px -892px;
width: 219px;
height: 219px;
}
.quest_nudibranch {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1543px -431px;
background-position: -1540px -431px;
width: 216px;
height: 216px;
}
.quest_octopus {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -440px -1332px;
background-position: -220px -1332px;
width: 222px;
height: 177px;
}
.quest_owl {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1103px -660px;
background-position: -440px -892px;
width: 219px;
height: 219px;
}
.quest_peacock {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1543px -648px;
background-position: -1540px -648px;
width: 216px;
height: 216px;
}
.quest_penguin {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1765px -353px;
background-position: -1762px -178px;
width: 190px;
height: 183px;
}
.quest_pterodactyl {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: 0px -892px;
background-position: -660px -892px;
width: 219px;
height: 219px;
}
.quest_rat {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -220px -892px;
background-position: -880px -892px;
width: 219px;
height: 219px;
}
.quest_robot {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -440px -892px;
background-position: -1100px -892px;
width: 219px;
height: 219px;
}
.quest_rock {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1543px -865px;
background-position: -1540px -865px;
width: 216px;
height: 216px;
}
.quest_rooster {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1765px 0px;
background-position: -1528px -1332px;
width: 213px;
height: 174px;
}
.quest_ruby {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -660px -892px;
background-position: -1320px 0px;
width: 219px;
height: 219px;
}
.quest_sabretooth {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -880px -892px;
background-position: -1320px -220px;
width: 219px;
height: 219px;
}
.quest_seaserpent {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1100px -892px;
background-position: -1320px -440px;
width: 219px;
height: 219px;
}
.quest_sheep {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1323px 0px;
background-position: -1320px -660px;
width: 219px;
height: 219px;
}
.quest_silver {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1323px -220px;
background-position: -1320px -880px;
width: 219px;
height: 219px;
}
.quest_slime {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1323px -440px;
background-position: 0px -1112px;
width: 219px;
height: 219px;
}
.quest_sloth {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1323px -660px;
background-position: -220px -1112px;
width: 219px;
height: 219px;
}
.quest_snail {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: 0px -1332px;
background-position: -1320px -1112px;
width: 219px;
height: 213px;
}
.quest_snake {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1097px -1332px;
background-position: -877px -1332px;
width: 216px;
height: 177px;
}
.quest_spider {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -468px -1546px;
background-position: -251px -1519px;
width: 250px;
height: 150px;
}
.quest_squirrel {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1323px -880px;
background-position: -440px -1112px;
width: 219px;
height: 219px;
}
.quest_stoikalmCalamity1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1765px -688px;
background-position: -1762px -721px;
width: 150px;
height: 150px;
}
.quest_stoikalmCalamity2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: 0px -1112px;
background-position: -660px -1112px;
width: 219px;
height: 219px;
}
.quest_stoikalmCalamity3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -220px -1112px;
background-position: -880px -1112px;
width: 219px;
height: 219px;
}
.quest_taskwoodsTerror1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1765px -839px;
background-position: -1762px -872px;
width: 150px;
height: 150px;
}
.quest_taskwoodsTerror2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1543px -1082px;
background-position: -1540px -1082px;
width: 216px;
height: 216px;
}
.quest_taskwoodsTerror3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -440px -1112px;
background-position: -1100px -1112px;
width: 219px;
height: 219px;
}
.quest_treeling {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1314px -1332px;
background-position: -1094px -1332px;
width: 216px;
height: 177px;
}
.quest_trex {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1765px -175px;
background-position: -1762px 0px;
width: 204px;
height: 177px;
}
.quest_trex_undead {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1531px -1332px;
width: 216px;
height: 177px;
}
.quest_triceratops {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -660px -1112px;
width: 219px;
height: 219px;
}
.quest_turquoise {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -880px -1112px;
width: 219px;
height: 219px;
}
.quest_turtle {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1100px -1112px;
width: 219px;
height: 219px;
}
.quest_unicorn {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1320px -1112px;
width: 219px;
height: 219px;
}
.quest_velociraptor {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -220px 0px;
width: 222px;
height: 225px;
}
.quest_vice1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: 0px -1546px;
background-position: -1311px -1332px;
width: 216px;
height: 177px;
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 459 KiB

After

Width:  |  Height:  |  Size: 463 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 534 KiB

After

Width:  |  Height:  |  Size: 522 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 KiB

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 207 KiB

After

Width:  |  Height:  |  Size: 194 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 434 KiB

After

Width:  |  Height:  |  Size: 428 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 KiB

After

Width:  |  Height:  |  Size: 236 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 KiB

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 KiB

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 KiB

After

Width:  |  Height:  |  Size: 395 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 197 KiB

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 KiB

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 KiB

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 KiB

After

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 KiB

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 149 KiB

+1 -2
View File
@@ -80,7 +80,6 @@
target="_blank">{{ $t('requestFeature') }}</a>
</li>
<li v-html="$t('communityExtensions')"></li>
<li v-html="$t('communityForum')"></li>
<li>
<a href="https://www.facebook.com/Habitica"
target="_blank">{{ $t('communityFacebook') }}</a>
@@ -168,7 +167,7 @@
</div>
<div class="row">
<div class="col-12 col-md-5 text-center text-md-left">
© 2020 Habitica. All rights reserved.
© 2021 Habitica. All rights reserved.
<div v-if="!IS_PRODUCTION && isUserLoaded"
class="debug float-left">
<button class="btn btn-primary"
@@ -121,7 +121,7 @@
v-if="editing"
class="menu-container col-2"
:class="{active: activeTopPage === 'backgrounds'}"
@click="changeTopPage('backgrounds', '2020')"
@click="changeTopPage('backgrounds', '2021')"
>
<div class="menu-item">
<div
@@ -1184,7 +1184,7 @@ export default {
},
],
bgSubMenuItems: ['2020', '2019', '2018', '2017', '2016', '2015', '2014'].map(y => ({
bgSubMenuItems: ['2021', '2020', '2019', '2018', '2017', '2016', '2015', '2014'].map(y => ({
id: y,
label: y,
})),
@@ -1211,6 +1211,7 @@ export default {
2018: [],
2019: [],
2020: [],
2021: [],
};
// Hack to force update for now until we restructure the data
@@ -608,22 +608,21 @@ export default {
};
const categoryKeys = this.workingGroup.categories;
const serverCategories = [];
const categories = [];
categoryKeys.forEach(key => {
const catName = this.categoriesHashByKey[key];
serverCategories.push({
categories.push({
slug: key,
name: catName,
});
});
this.workingGroup.categories = serverCategories;
const groupData = { ...this.workingGroup };
const groupData = { ...this.workingGroup, categories };
let newgroup;
if (groupData.id) {
await this.$store.dispatch('guilds:update', { group: groupData });
this.$root.$emit('updatedGroup', this.workingGroup);
this.$root.$emit('updatedGroup', groupData);
// @TODO: this doesn't work because of the async resource
// if (updatedGroup.type === 'party') this.$store.state.party = {data: updatedGroup};
} else {
@@ -374,12 +374,6 @@
target="_blank"
>{{ $t('requestFeature') }}</a>
</li>
<li>
<a
href
v-html="$t('communityForum')"
></a>
</li>
<li>
<router-link
to="/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a"
@@ -40,7 +40,7 @@
>{{ $t('editAvatar') }}</a>
<a
class="topbar-dropdown-item dropdown-item dropdown-separated"
@click="showAvatar('backgrounds', '2020')"
@click="showAvatar('backgrounds', '2021')"
>{{ $t('backgrounds') }}</a>
<a
class="topbar-dropdown-item dropdown-item"
@@ -54,12 +54,6 @@
<p v-html="$t('commGuidePara024')"></p>
</div>
</div>
<div class="media align-items-center">
<div class="media-body">
<p v-html="$t('commGuidePara027')"></p>
</div>
<img src="~@/assets/images/community-guidelines/backCorner.png">
</div>
<h3 id="guilds">
{{ $t('commGuideHeadingPublicGuilds') }}
</h3>
@@ -42,6 +42,7 @@ describe('Challenge Detail', () => {
{ _id: '3', type: 'reward' },
{ _id: '4', type: 'todo' },
],
'common:setTitle': () => {},
},
getters: {
},
@@ -49,6 +49,7 @@ describe('myGuilds component', () => {
getters: {},
actions: {
'guilds:getMyGuilds': () => guilds,
'common:setTitle': () => {},
},
});
@@ -39,7 +39,8 @@ describe('Home', () => {
actions: {
'auth:register': registerStub,
'auth:socialAuth': socialAuthStub,
'auth:verifyUsername': () => Promise.resolve({}),
'auth:verifyUsername': () => async () => ({}),
'common:setTitle': () => {},
},
});
@@ -1,108 +0,0 @@
import { shallowMount, createLocalVue } from '@vue/test-utils';
import Home from '@/components/static/home.vue';
import Store from '@/libs/store';
import * as Analytics from '@/libs/analytics';
const localVue = createLocalVue();
localVue.use(Store);
describe('Home', () => {
let registerStub;
let socialAuthStub;
let store;
let wrapper;
function mountWrapper (query) {
return shallowMount(Home, {
store,
localVue,
mocks: {
$t: string => string,
$route: { query: query || {} },
},
});
}
async function fillOutUserForm (username, email, password) {
await wrapper.find('#usernameInput').setValue(username);
await wrapper.find('input[type=email]').setValue(email);
await wrapper.findAll('input[type=password]').setValue(password);
}
beforeEach(() => {
registerStub = sinon.stub();
socialAuthStub = sinon.stub();
store = new Store({
state: {},
getters: {},
actions: {
'auth:register': registerStub,
'auth:socialAuth': socialAuthStub,
},
});
sinon.stub(Analytics, 'track');
wrapper = mountWrapper();
});
afterEach(sinon.restore);
it('has a visible title', () => {
expect(wrapper.find('h1').text()).to.equal('motivateYourself');
});
describe('signup form', () => {
it('registers a user from the form', async () => {
const username = 'newUser';
const email = 'rookie@habitica.com';
const password = 'ImmaG3tProductive!';
await fillOutUserForm(username, email, password);
await wrapper.find('form').trigger('submit');
expect(registerStub.calledOnce).to.be.true;
expect(registerStub.getCall(0).args[1]).to.deep.equal({
username,
email,
password,
passwordConfirm: password,
groupInvite: '',
});
});
it('registers a user with group invite if groupInvite in the query', async () => {
const groupInvite = 'TheBestGroup';
wrapper = mountWrapper({ groupInvite });
await fillOutUserForm('invitedUser', 'invited@habitica.com', '1veGotFri3ndsHooray!');
await wrapper.find('form').trigger('submit');
expect(registerStub.calledOnce).to.be.true;
expect(registerStub.getCall(0).args[1].groupInvite).to.equal(groupInvite);
});
it('registers a user with group invite if p in the query', async () => {
const p = 'ThePiGroup';
wrapper = mountWrapper({ p });
await fillOutUserForm('alsoInvitedUser', 'invited2@habitica.com', '1veGotFri3nds2!');
await wrapper.find('form').trigger('submit');
expect(registerStub.calledOnce).to.be.true;
expect(registerStub.getCall(0).args[1].groupInvite).to.equal(p);
});
it('registers a user with group invite invite if both p and groupInvite are in the query', async () => {
const groupInvite = 'StillTheBestGroup';
wrapper = mountWrapper({ p: 'LesserGroup', groupInvite });
await fillOutUserForm('doublyInvitedUser', 'invited3@habitica.com', '1veGotSm4rtFri3nds!');
await wrapper.find('form').trigger('submit');
expect(registerStub.calledOnce).to.be.true;
expect(registerStub.getCall(0).args[1].groupInvite).to.equal(groupInvite);
});
});
});
@@ -10,6 +10,7 @@ describe('Tasks User', () => {
const store = new Store({
state: { user: { data: { tags: [challengeTag] } } },
getters: {},
actions: { 'common:setTitle': () => {} },
});
return shallowMount(User, {
store,
+1 -1
View File
@@ -146,6 +146,6 @@
"winterPromoGiftDetails1": "Until January 15th only, when you gift somebody a subscription, you get the same subscription for yourself for free!",
"winterPromoGiftDetails2": "Please note that if you or your gift recipient already have a recurring subscription, the gifted subscription will only start after that subscription is cancelled or has expired. Thanks so much for your support! <3",
"discountBundle": "bundle",
"g1g1Announcement": "Gift a Subscription, Get a Subscription Free event going on now!",
"g1g1Announcement": "<strong>Gift a subscription and get a subscription free</strong> event going on now!",
"g1g1Details": "Gift a sub to a friend from their profile and youll receive the same sub for free!"
}
+1 -1
View File
@@ -146,6 +146,6 @@
"winterPromoGiftDetails1": "Until January 15th only, when you gift somebody a subscription, you get the same subscription for yourself for free!",
"winterPromoGiftDetails2": "Please note that if you or your gift recipient already have a recurring subscription, the gifted subscription will only start after that subscription is cancelled or has expired. Thanks so much for your support! <3",
"discountBundle": "bundle",
"g1g1Announcement": "Gift a Subscription, Get a Subscription Free event going on now!",
"g1g1Announcement": "<strong>Gift a subscription and get a subscription free</strong> event going on now!",
"g1g1Details": "Gift a sub to a friend from their profile and youll receive the same sub for free!"
}
+6 -3
View File
@@ -96,9 +96,12 @@
"descriptionRequired": "Description is required",
"locationRequired": "Location of challenge is required ('Add to')",
"categoiresRequired": "One or more categories must be selected",
"viewProgressOf": "View Progress Of",
"viewProgress": "عرض التقدم",
"viewProgressOf": "مشاهدة ملف",
"viewProgress": "عرض التقد",
"selectMember": "اختر عضو",
"confirmKeepChallengeTasks": "هل تريد إبقاء مهمة التحدي؟",
"selectParticipant": "اختر مشارك"
"selectParticipant": "اختر مشارك",
"wonChallengeDesc": "<%= إسم التحدي %> إخترتك لتكون الفائز!تم تسجيل فوزك في \"إنجازاتك\".",
"yourReward": "مكافئاتك",
"filters": "فلاتر"
}
+1 -1
View File
@@ -4,7 +4,7 @@
"armoireText": "الصندوق السحري",
"armoireNotesFull": "افتح الدولاب لتحصل بشكل عشوائي على معدات خاصة،على خبرة أو على طعام. قطع المعدات المتبقية :",
"armoireLastItem": "لقد وجدت آخر قطعة من المعدات النادرة في الصندوق السحري.",
"armoireNotesEmpty": "الصندوق سيحتوي على معدات جديدة في الأسبوع الأول من كل شهر. حتى ذلك الوقت، اضغط عليه باستمرار للحصول على الخبرة والطعام!",
"armoireNotesEmpty": "الصندوق سيحتوي على معدات جديدة في الأسبوع الأول من كل شهر. حتى ذلك الوقت، إضغط عليه باستمرار للحصول على الخبرة والطعام!",
"dropEggWolfText": "ذئب",
"dropEggWolfMountText": "ذئب",
"dropEggWolfAdjective": "وفي",
+3 -1
View File
@@ -1741,5 +1741,7 @@
"eyewearArmoirePlagueDoctorMaskNotes": "An authentic mask worn by the doctors who battle the Plague of Procrastination. Increases Constitution and Intelligence by <%= attrs %> each. Enchanted Armoire: Plague Doctor Set (Item 2 of 3).",
"eyewearArmoireGoofyGlassesText": "Goofy Glasses",
"eyewearArmoireGoofyGlassesNotes": "Perfect for going incognito or just making your partymates giggle. Increases Perception by <%= per %>. Enchanted Armoire: Independent Item.",
"twoHandedItem": "Two-handed item."
"twoHandedItem": "Two-handed item.",
"weaponSpecialKS2019Notes": "",
"weaponSpecialKS2019Text": "سيف جريفون الأسطوري"
}
+1 -1
View File
@@ -146,6 +146,6 @@
"winterPromoGiftDetails1": "Until January 15th only, when you gift somebody a subscription, you get the same subscription for yourself for free!",
"winterPromoGiftDetails2": "Please note that if you or your gift recipient already have a recurring subscription, the gifted subscription will only start after that subscription is cancelled or has expired. Thanks so much for your support! <3",
"discountBundle": "bundle",
"g1g1Announcement": "Gift a Subscription, Get a Subscription Free event going on now!",
"g1g1Announcement": "<strong>Gift a subscription and get a subscription free</strong> event going on now!",
"g1g1Details": "Gift a sub to a friend from their profile and youll receive the same sub for free!"
}
+2 -2
View File
@@ -14,11 +14,11 @@
"next": "Next",
"randomize": "Randomize",
"mattBoch": "ماتّ بوتش",
"mattBochText1": "Welcome to the Stable! I'm Matt, the beast master. Starting at level 3, you will find eggs and potions to hatch pets with. When you hatch a pet in the Market, it will appear here! Click a pet's image to add it to your avatar. Feed them with the food you find after level 3, and they'll grow into hardy mounts.",
"mattBochText1": "مرحبا بكم في الاسطبل!أنا مات ، صاحب الوحش. في كل مرة تكمل فيها مهمة ، سيكون لديك فرصة عشوائية لتلقي بيضة أو جرعة تفريخ لتفريخ الحيوانات الأليفة. عندما تفقس حيوانًا أليفًا ، سيظهر هنا! انقر فوق صورة حيوان أليف لإضافتها إلى صورتك الرمزية. أطعمهم بأطعمة الحيوانات الأليفة التي تجدها ، وسوف ينموون ليصبحوا جبالًا صلبة.",
"welcomeToTavern": "Welcome to The Tavern!",
"sleepDescription": "Need a break? Check into Daniel's Inn to pause some of Habitica's more difficult game mechanics:",
"sleepBullet1": "Missed Dailies won't damage you",
"sleepBullet2": "Tasks won't lose streaks or decay in color",
"sleepBullet2": "لن تفقد المهام الخطوط",
"sleepBullet3": "Bosses won't do damage for your missed Dailies",
"sleepBullet4": "Your boss damage or collection Quest items will stay pending until check-out",
"pauseDailies": "Pause Damage",
+69 -1
View File
@@ -1,4 +1,72 @@
{
"pets": "الحيوانات الأليفة",
"stable": "مستقر"
"stable": "مستقر",
"noActivePet": "لا يوجد حيوان أليف نشط",
"activePet": "أنشطة الحيوانات الأليفة",
"raisedPet": "لقد نمت <٪ = حيوان أليف٪>!",
"feedPet": "تغذية <٪ = text٪> إلى <٪ = name٪>؟",
"mountNotOwned": "أنت لاتملك هذه الكمية.",
"petNotOwned": "أنت لاتملك هذا الحيوان الأليف.",
"hatchedPetHowToUse": "قم بزيارة [Stable](<%= stableUrl %>)لإطعام وتجهيز أحدث حيوان أليف!",
"hatchedPetGeneric": "لقد فقس حيوان أليف جديد!",
"hatchedPet": "لقد فقست جديدة <٪ = جرعة٪> <٪ =بيضة٪>!",
"triadBingoAchievement": "لقد ربحت إنجاز \"ثلاثية البانغوا\" للعثور على جميع الحيوانات الأليفة ، وترويض كل الحيوانات الأليفة ، والعثور على جميع الحيوانات الأليفة مرة أخرى!",
"triadBingoText2": " وأصدر مجموعة ثابتة كاملة بإجمالي <٪ = عدد٪> مرة (مرات)",
"triadBingoText": "تم العثور على جميع الحيوانات الأليفة البالغ عددها 90 ، وكلها 90 حيوانًا ، وجدت جميع الحيوانات الأليفة ال 90 مرة أخرى (كيف فعلت ذلك!)",
"mountMasterText": "‫قام بترويض جميع المتصاعدين ال 90 (حتى أكثرهم صعوبة ، مبروك لهذا المستخدم!)",
"triadBingoName": "ثلاثي البنغوا",
"mountMasterText2": " أطلق سراح جميع ال90من المتصاعدين إجمالي <٪ = عدد٪> مرة (مرات)",
"mountMasterName": "وحش رئيسي",
"mountAchievement": "لقد حصلت على\"وحش رئيسي\"إنجاز لرويض جميع المتصاعدين!",
"mountMasterProgress": "‫تصاعد الوحش الرئيسي",
"beastMasterText2": " وأطلقوا سراح حيواناتهم الأليفة بإجمالي <٪ = عدد٪> مرة(مرات)",
"beastMasterText": "تم العثور على جميع الحيوانات الأليفة البالغ عددها 90(إنها مهمة صعبة للغاية,مبرووك لهذا المستخدم!)",
"beastMasterName": "وحش رئيسي",
"beastAchievement": "لقد ربحت \"وحش رئيسي \" إنجاز جمع كل الحيوانات الأليفة!",
"beastMasterProgress": "تقدم الوحش الرئيسي",
"premiumPotionNoDropExplanation": "لا يمكن استخدام جرعات التفقيس السحرية على البيض المستلم من المهام.الطريقة الوحيدة للحصول على جرعات التفقيس السحرية هي عن طريق شراؤهم بالأسفل.ليس من المقطورات العشوائية.",
"dropsExplanationEggs": "أنفق الجواهر لتحصل على المزيد من البيض بسرهة,إذا كنت لاتريد أن تنتظر البيض الأساسي أسقطه, أو كررالتنقيب لإدخارالبيض المنقب <a href=\"http://habitica.fandom.com/wiki/Drops\">Learn more about the drop system.</a>",
"dropsExplanation": "احصل على هذه العناصر بشكل أسرع مع الجواهر إذا كنت لا ترغب في انتظار إسقاطها عند إكمال مهمة. <a href=\"http://habitica.fandom.com/wiki/Drops\"> تعرف على المزيد حول نظام الإفلات. </a>",
"veteranTiger": "النمر المحارب",
"veteranWolf": "الذئب المحارب",
"etherealLion": "الأسد السماوي",
"magicMounts": "جرعة سحرية متصاعدة",
"questMounts": "تنقيب جبال",
"mountsTamed": "ترويض الجبل",
"noSaddlesAvailable": "أنت لاتملك أي سروج.",
"noFoodAvailable": "أنت لاتملك أي أغذية للحيوانات الأليفة.",
"food": "أغذية الحيوانات الأليفة والسروج",
"quickInventory": "جرد سريع",
"haveHatchablePet": "لديك <%= جرعة %> جرعة تفقيس و <%= بيضة %> تفقيس بيضة هذا الحيوان الأليف! <b>Click</b> يفقس!",
"hatchingPotion": "جرعة تفقيس",
"magicHatchingPotions": "جرعات التفقيس السحرية",
"hatchingPotions": "جرعات التفقيس",
"eggSingular": "بيضةٌ",
"eggs": "بيض",
"egg": "<%= نوع البيض %>البيض",
"potion": "<%= نوع الجرعة السحرية %> جرعة سحرية",
"gryphatrice": "التنين النسري",
"invisibleAether": "الأثير غير المرئي",
"royalPurpleJackalope": "الأرنب ذو القرنين الإرجواني الملكي",
"hopefulHippogriffMount": "أمل الفرس النسر",
"hopefulHippogriffPet": "أمل الفرس النسر",
"magicalBee": "النحلة السحرية",
"phoenix": "طائر العنقاء",
"royalPurpleGryphon": "الأسد النسر الإرجواني الملكي",
"orca": "الحوت القاتل",
"mammoth": "ماموث صوفي",
"mantisShrimp": "السرعوف الروبياني",
"hydra": "هيدرا",
"cerberusPup": "جرو سيربيروسي",
"veteranFox": "الثعلب المخضرم",
"veteranBear": "الدب المخضرم",
"veteranLion": "الأسد المخضرم",
"activeMount": "جبل نشط",
"mounts": "يتصاعد",
"wackyPets": "حيوانات أليف مضحكة",
"magicPets": "دواء سحري للحيوانات الأليفة",
"petsFound": "إنشاء حيوانات أليفة",
"keyToPets": "مفتاح بيوت الحيوانات",
"noActiveMount": "لا يوجد تثبيت نشط",
"questPets": "بحث الحيوانات"
}

Some files were not shown because too many files have changed in this diff Show More