Compare commits

...

1545 Commits

Author SHA1 Message Date
Sabe Jones
bceccd55bf 4.145.1 2020-06-16 13:35:51 -05:00
Sabe Jones
0116c56abb chore(news): Bailey 2020-06-16 13:35:32 -05:00
Sabe Jones
e6b65871e7 4.145.0 2020-06-11 16:38:15 -05:00
Sabe Jones
873ac53e27 Squashed commit of the following:
commit f461c07ca7997362512a366eebc7d3a8fba854ee
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Thu Jun 11 16:37:14 2020 -0500

    fix(sprites): wolf alignment

commit 6ceb4ba6d1ea62892e9b335307043d78971328d0
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Thu Jun 11 14:53:07 2020 -0500

    chore(sprites): compile

commit 8b517309f531c7f151c5c18a5ca9847ab7aa5dbb
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Thu Jun 11 14:52:49 2020 -0500

    feat(content): Fluorite Magic Hatching Potion and quest
2020-06-11 16:38:05 -05:00
Sabe Jones
51d20ef7e8 4.144.1 2020-06-09 15:27:43 -05:00
Matteo Pagliazzi
692d02984b unlock: fix unlocking hair items 2020-06-09 22:13:22 +02:00
Sabe Jones
e31ce11052 4.144.0 2020-06-09 14:17:30 -05:00
Sabe Jones
c4688b77fd Merge branch 'sabrecat/armoire-bgs-202006' into release 2020-06-09 14:17:15 -05:00
Sabe Jones
9ab79ef225 4.143.3 2020-06-08 14:47:16 -05:00
Sabe Jones
7e4c8938e5 Merge branch 'unlock-fixes' into release 2020-06-08 14:45:34 -05:00
Sabe Jones
604b866113 Merge branch 'develop' into release 2020-06-08 14:44:28 -05:00
dependabot-preview[bot]
c0afae1e84 build(deps): bump mongoose from 5.9.16 to 5.9.18 (#12284)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.9.16 to 5.9.18.
- [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.9.16...5.9.18)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-08 11:42:29 +02:00
dependabot-preview[bot]
61dc94ada0 build(deps): bump @google-cloud/trace-agent from 4.2.5 to 5.0.0 (#12281)
Bumps [@google-cloud/trace-agent](https://github.com/googleapis/cloud-trace-nodejs) from 4.2.5 to 5.0.0.
- [Release notes](https://github.com/googleapis/cloud-trace-nodejs/releases)
- [Changelog](https://github.com/googleapis/cloud-trace-nodejs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/cloud-trace-nodejs/compare/v4.2.5...v5.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>
2020-06-08 11:41:48 +02:00
dependabot-preview[bot]
f71ee7be18 build(deps): bump sass from 1.26.7 to 1.26.8 in /website/client (#12279)
Bumps [sass](https://github.com/sass/dart-sass) from 1.26.7 to 1.26.8.
- [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.26.7...1.26.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-06-08 11:41:23 +02:00
PitiTheGrey
8935885637 Renaming a party shows you the placeholder text for renaming a guild #12273 (#12278)
* NewPartyPlaceholder "Enter your party's name"

* Added new placeholder and if statement to display either "party's name" or "guild's name" (issue 12273)
2020-06-07 12:59:12 +02:00
Alex Jeffrey
1ebda8281b Enable resizing of message box (#11950) (#12251)
* Enable resizing of message box (#11950)

* Added maximum height to textarea (#11950)

Co-authored-by: Alex Jeffrey <alex@alexjeffrey.mee>
2020-06-07 12:53:36 +02:00
citrusella
eae8ed946f Blockquote styling (fixes #9476) (#12227)
* Added blockquote styling based on Zeplin example

* Commit new changes to style blockquotes

* Fix bottom of post margins after markdown class addition
2020-06-07 12:52:01 +02:00
dependabot-preview[bot]
d7fe140012 build(deps): [security] bump websocket-extensions in /website/client (#12277)
Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4. **This update includes a security fix.**
- [Release notes](https://github.com/faye/websocket-extensions-node/releases)
- [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-07 12:51:49 +02:00
Alys
c317d1d040 moved two words from slurs to banned - TRIGGER / CONTENT WARNING: slurs, swearwords, assault, etc
Refer to the new comment in bannedWords.js for the reason.
2020-06-06 16:26:58 +10:00
Matteo Pagliazzi
d63aafc7f1 fix lint 2020-06-03 18:03:25 +02:00
Matteo Pagliazzi
08b2be684b improve error message 2020-06-03 18:00:58 +02:00
Matteo Pagliazzi
4c653aa511 unlock: minor fixes and increase tests coverage 2020-06-03 17:56:06 +02:00
Matteo Pagliazzi
0896837528 working code and original tests pass 2020-06-02 23:58:48 +02:00
Sabe Jones
8a1c1af461 Merge branch 'release' into develop 2020-06-01 16:41:00 -05:00
Sabe Jones
db7d1d0e14 4.143.2 2020-06-01 16:40:41 -05:00
Sabe Jones
6253359d31 chore(news): Bailey 2020-06-01 16:40:33 -05:00
Matteo Pagliazzi
ce4bbe5552 fix(ui): make sure three columns of rewards are displayed + fix rewards top margin when no custom reward exists (#12257) 2020-06-01 17:35:52 +02:00
Frank Maximus
3a4abac8b0 Store original quantities, to avoid reordering in Inventory Items screen (#12205)
* Store original quantities, to avoid reordering

Create a quantity snapshot when loading the screen.
Sort based on the snapshot after updates.

Fixes: 12040

* Avoid initial branching

Co-authored-by: Bart Enkelaar <benkelaar@gmail.com>

* Add comment

Co-authored-by: Bart Enkelaar <benkelaar@gmail.com>
2020-06-01 17:25:55 +02:00
Carl Vuorinen
44eb245184 New notification type for boss damage (#12249)
* Add new notification type for boss damage with sword icon

* Use vars for color
2020-06-01 15:42:54 +02:00
dependabot-preview[bot]
050fd15c97 build(deps): bump vue-router from 3.2.0 to 3.3.2 in /website/client (#12268)
Bumps [vue-router](https://github.com/vuejs/vue-router) from 3.2.0 to 3.3.2.
- [Release notes](https://github.com/vuejs/vue-router/releases)
- [Changelog](https://github.com/vuejs/vue-router/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-router/compare/v3.2.0...v3.3.2)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-01 10:37:40 +02:00
dependabot-preview[bot]
e1f1a264b4 build(deps): bump @babel/preset-env from 7.9.6 to 7.10.2 (#12260)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.9.6 to 7.10.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.2/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-06-01 10:35:22 +02:00
Matteo Pagliazzi
3bfcc4a605 chore(deps): upgrade vue cli plugins 2020-06-01 10:34:36 +02:00
dependabot-preview[bot]
4beac98383 build(deps): bump @babel/register from 7.9.0 to 7.10.1 (#12263)
Bumps [@babel/register](https://github.com/babel/babel/tree/HEAD/packages/babel-register) from 7.9.0 to 7.10.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.1/packages/babel-register)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-01 10:29:50 +02:00
dependabot-preview[bot]
4da794271d build(deps): bump @babel/core from 7.9.6 to 7.10.2 (#12265)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.9.6 to 7.10.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.2/packages/babel-core)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-01 10:29:42 +02:00
dependabot-preview[bot]
b18eb0d3f8 build(deps): bump mongoose from 5.9.15 to 5.9.16 (#12269)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.9.15 to 5.9.16.
- [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.9.15...5.9.16)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-01 10:27:32 +02:00
dependabot-preview[bot]
79f6f47b16 build(deps): bump sass from 1.26.5 to 1.26.7 in /website/client (#12258)
Bumps [sass](https://github.com/sass/dart-sass) from 1.26.5 to 1.26.7.
- [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.26.5...1.26.7)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-01 10:26:15 +02:00
Frank Maximus
6ff8254137 Only show attainable and owned special pets/mounts (#12206)
* Only show attainable and owned special pets/mounts

Fixes #9498

* #9498: Handle comments

Don't change API,
put canFind in petInfo and mountInfo

* #9498: Move canFind to itemInfo, to allow sync

* #9498: Create a show method, to allow update without reload.
2020-05-31 22:08:18 +02:00
Bart Enkelaar
1c00d7de5b Fix empty link bug and proper error logging in highlightMentions.js (#12228)
* fix(chat) - Don't insert user link in url-less link and properly log source-mapping failures

* fix(chat) - Add link to markdown spec and list of known issues

* fix(chat) - Log regular expression as String
2020-05-31 18:09:43 +02:00
Alys
61d970db86 remove codetriage.com information (#12250)
It's a nice service but currently we can't control which issues
appear there, so it's advertising ones that are on hold, in
progress, etc.
2020-05-31 17:49:31 +02:00
Matteo Pagliazzi
b911ecdcf0 Merge branch 'develop' into unlock-fixes 2020-05-31 17:47:37 +02:00
Sabe Jones
74d0b25c54 refactor(backgrounds): programmatic text and notes tokens 2020-05-29 17:15:32 -05:00
Sabe Jones
830c4fb926 chore(sprites): compile 2020-05-29 14:26:16 -05:00
Sabe Jones
8aad136622 feat(content): Armoire and Background items for Jun 2020
also big refactor of Armoire content
2020-05-29 14:26:02 -05:00
Sabe Jones
8d80792093 Merge branch 'release' into develop 2020-05-29 10:34:54 -05:00
Sabe Jones
79f83d87d0 4.143.1 2020-05-29 10:33:55 -05:00
Sabe Jones
c9bf157c23 fix(achievements): show-all layout 2020-05-29 10:33:30 -05:00
Melior
3be42e9545 Merge branch 'origin/develop' into Weblate. 2020-05-28 23:54:45 +02:00
Melior
8a7b8f92d4 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Spanish (Latin America))

Currently translated at 92.7% (77 of 83 strings)

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

Translated using Weblate (Dutch)

Currently translated at 94.2% (1975 of 2095 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (696 of 696 strings)

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

Translated using Weblate (Dutch)

Currently translated at 97.5% (81 of 83 strings)

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

Translated using Weblate (Japanese)

Currently translated at 95.4% (664 of 696 strings)

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

Translated using Weblate (Dutch)

Currently translated at 94.1% (1973 of 2095 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Dutch)

Currently translated at 94.0% (1971 of 2095 strings)

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

Translated using Weblate (Japanese)

Currently translated at 95.4% (664 of 696 strings)

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

Translated using Weblate (Italian)

Currently translated at 98.6% (227 of 230 strings)

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

Translated using Weblate (Italian)

Currently translated at 89.9% (476 of 529 strings)

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

Translated using Weblate (Russian)

Currently translated at 99.2% (691 of 696 strings)

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

Translated using Weblate (Malay)

Currently translated at 6.0% (20 of 328 strings)

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

Translated using Weblate (Italian)

Currently translated at 82.6% (205 of 248 strings)

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

Translated using Weblate (Italian)

Currently translated at 89.3% (320 of 358 strings)

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

Translated using Weblate (Italian)

Currently translated at 22.8% (19 of 83 strings)

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

Translated using Weblate (Dutch)

Currently translated at 93.9% (1969 of 2095 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Russian)

Currently translated at 99.7% (491 of 492 strings)

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

Translated using Weblate (Portuguese)

Currently translated at 100.0% (4 of 4 strings)

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

Translated using Weblate (Portuguese)

Currently translated at 82.3% (149 of 181 strings)

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

Translated using Weblate (Portuguese)

Currently translated at 100.0% (27 of 27 strings)

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

Translated using Weblate (Portuguese)

Currently translated at 100.0% (15 of 15 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Russian)

Currently translated at 92.7% (230 of 248 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (57 of 57 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (143 of 143 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (143 of 143 strings)

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

Translated using Weblate (Spanish (Latin America))

Currently translated at 97.9% (140 of 143 strings)

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

Translated using Weblate (Russian)

Currently translated at 97.6% (168 of 172 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (172 of 172 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (8 of 8 strings)

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

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (6 of 6 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (181 of 181 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Russian)

Currently translated at 97.3% (2040 of 2095 strings)

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

Translated using Weblate (Dutch)

Currently translated at 93.8% (1967 of 2095 strings)

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

Translated using Weblate (Russian)

Currently translated at 99.6% (297 of 298 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (328 of 328 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (56 of 56 strings)

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

Translated using Weblate (Russian)

Currently translated at 98.2% (55 of 56 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (696 of 696 strings)

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

Translated using Weblate (Russian)

Currently translated at 99.2% (691 of 696 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (134 of 134 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (134 of 134 strings)

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

Translated using Weblate (Portuguese)

Currently translated at 87.9% (73 of 83 strings)

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

Translated using Weblate (Portuguese)

Currently translated at 87.9% (73 of 83 strings)

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

Translated using Weblate (Russian)

Currently translated at 99.5% (210 of 211 strings)

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

Translated using Weblate (Russian)

Currently translated at 99.1% (488 of 492 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (696 of 696 strings)

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

Translated using Weblate (Japanese)

Currently translated at 95.4% (664 of 696 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (134 of 134 strings)

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

Translated using Weblate (Japanese)

Currently translated at 96.0% (508 of 529 strings)

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

Translated using Weblate (Portuguese)

Currently translated at 60.2% (50 of 83 strings)

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

Translated using Weblate (Japanese)

Currently translated at 92.7% (77 of 83 strings)

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

Translated using Weblate (Hungarian)

Currently translated at 34.9% (29 of 83 strings)

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

Translated using Weblate (Portuguese)

Currently translated at 59.0% (49 of 83 strings)

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

Translated using Weblate (Portuguese)

Currently translated at 59.0% (49 of 83 strings)

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

Translated using Weblate (Japanese)

Currently translated at 95.4% (664 of 696 strings)

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

Translated using Weblate (Japanese)

Currently translated at 95.4% (664 of 696 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.8% (695 of 696 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.8% (695 of 696 strings)

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

Translated using Weblate (Hungarian)

Currently translated at 33.7% (28 of 83 strings)

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

Translated using Weblate (Russian)

Currently translated at 98.3% (178 of 181 strings)

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

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Vietnamese)

Currently translated at 74.6% (62 of 83 strings)

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

Translated using Weblate (Czech)

Currently translated at 67.4% (56 of 83 strings)

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

Translated using Weblate (Japanese)

Currently translated at 99.5% (210 of 211 strings)

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

Translated using Weblate (Russian)

Currently translated at 97.5% (81 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ru/
2020-05-28 23:54:35 +02:00
Sabe Jones
e54425f947 4.143.0 2020-05-28 16:51:43 -05:00
Sabe Jones
d953ea14da Merge branch 'develop' into release 2020-05-28 16:51:37 -05:00
Sabe Jones
0c179fee2f chore(sprites): compile 2020-05-28 16:51:20 -05:00
Sabe Jones
05e229ccb0 feat(content): subscriber items June 2020 2020-05-28 16:51:12 -05:00
Alys
b29d937806 replace Trello link with Google form link in GitHub CONTRIBUTING page 2020-05-28 15:42:32 +10:00
Matteo Pagliazzi
670b6a1563 fix(ui): adjust loading gryphon sizes and search members dropdown 2020-05-26 18:02:48 +02:00
Matteo Pagliazzi
44ded945dd Merge branch 'develop' into unlock-fixes 2020-05-25 19:00:56 +02:00
Matteo Pagliazzi
08f1e2b273 Client: remove unnecessary API calls + members fixes (#12179)
* wip

* refactor world state

* allow resource to be reloaded when the server is updated

* fix #9242

* fix event listeners

* remove un-needed code

* add tests for  asyncResourceFactory reloadOnAppVersionChange

* fix double cron notifications and party members showing up in the header after a party invitation is accepted

* remove console.log

* do not send vm info to loggly due to circular dependency + fix typo

* fix #12181

* do not load invites multiple times in members modal

* add hover to challenge member count

* groups: load members only on demand

* minor ui fixes

* choose class: fix vue duplicate key warning

* minor ui fixes

* challanges: load members on demand

* add loading spinner

* change loading mechanism

* fix loading gryphon issues

* reduce code duplication
2020-05-25 17:02:29 +02:00
dependabot-preview[bot]
ca80f4ee33 build(deps): bump @storybook/addon-knobs in /website/client (#12243)
Bumps [@storybook/addon-knobs](https://github.com/storybookjs/storybook/tree/HEAD/addons/knobs) from 5.3.18 to 5.3.19.
- [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/v5.3.19/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>
2020-05-25 13:11:34 +02:00
dependabot-preview[bot]
65cbee9e75 build(deps): bump @storybook/addon-notes in /website/client (#12245)
Bumps [@storybook/addon-notes](https://github.com/storybookjs/storybook/tree/HEAD/addons/notes) from 5.3.18 to 5.3.19.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v5.3.19/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v5.3.19/addons/notes)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Matteo Pagliazzi <matteopagliazzi@gmail.com>
2020-05-25 13:05:02 +02:00
dependabot-preview[bot]
0f8563c14e build(deps): bump inspectpack from 4.4.0 to 4.5.2 in /website/client (#12246)
Bumps [inspectpack](https://github.com/FormidableLabs/inspectpack) from 4.4.0 to 4.5.2.
- [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.4.0...v4.5.2)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-25 12:55:35 +02:00
dependabot-preview[bot]
c4117f99ed build(deps): bump @storybook/addon-actions in /website/client (#12242)
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 5.3.18 to 5.3.19.
- [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/v5.3.19/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>
2020-05-25 12:55:19 +02:00
dependabot-preview[bot]
27aca19c8c build(deps): bump @storybook/vue in /website/client (#12238)
Bumps [@storybook/vue](https://github.com/storybookjs/storybook/tree/HEAD/app/vue) from 5.3.18 to 5.3.19.
- [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/v5.3.19/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>
2020-05-25 12:55:07 +02:00
dependabot-preview[bot]
80c18ffadd build(deps): bump bootstrap-vue from 2.14.0 to 2.15.0 in /website/client (#12239)
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.14.0 to 2.15.0.
- [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.14.0...v2.15.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-05-25 12:54:56 +02:00
dependabot-preview[bot]
bf2c4eb501 build(deps): bump moment from 2.25.3 to 2.26.0 in /website/client (#12244)
Bumps [moment](https://github.com/moment/moment) from 2.25.3 to 2.26.0.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.25.3...2.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>
2020-05-25 12:54:20 +02:00
dependabot-preview[bot]
ab1828c914 build(deps): bump vue-router from 3.1.6 to 3.2.0 in /website/client (#12237)
Bumps [vue-router](https://github.com/vuejs/vue-router) from 3.1.6 to 3.2.0.
- [Release notes](https://github.com/vuejs/vue-router/releases)
- [Changelog](https://github.com/vuejs/vue-router/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-router/compare/v3.1.6...v3.2.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-05-25 12:54:03 +02:00
dependabot-preview[bot]
b32f79f682 build(deps): bump @storybook/addon-links in /website/client (#12236)
Bumps [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/addons/links) from 5.3.18 to 5.3.19.
- [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/v5.3.19/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>
2020-05-25 12:53:39 +02:00
dependabot-preview[bot]
7b69289069 build(deps): bump moment from 2.25.3 to 2.26.0 (#12231)
Bumps [moment](https://github.com/moment/moment) from 2.25.3 to 2.26.0.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.25.3...2.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>
2020-05-25 12:53:25 +02:00
dependabot-preview[bot]
a1fb80868f build(deps): bump mongoose from 5.9.14 to 5.9.15 (#12230)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.9.14 to 5.9.15.
- [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.9.14...5.9.15)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-25 12:04:49 +02:00
Carl Vuorinen
9d4fb80d15 Add close button to profile modal (#12203) 2020-05-22 17:48:15 +02:00
Matteo Pagliazzi
43392f4952 Merge branch 'release' into develop 2020-05-22 17:46:14 +02:00
dependabot-preview[bot]
6e46794822 build(deps): bump bootstrap from 4.4.1 to 4.5.0 in /website/client (#12211)
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 4.4.1 to 4.5.0.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v4.4.1...v4.5.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-05-22 17:45:25 +02:00
Matteo Pagliazzi
43cad86201 4.142.3 2020-05-22 16:35:13 +02:00
Matteo Pagliazzi
734eae64a5 fix(avatar transormation): move questProgress method to spells mixin so that it is always available 2020-05-22 16:35:00 +02:00
Matteo Pagliazzi
032c95d5c8 fix(avatar transormation): move questProgress method to spells mixin so that it is always available 2020-05-22 13:28:44 +02:00
Melior
b40411e219 Merge branch 'origin/develop' into Weblate. 2020-05-21 22:02:19 +02:00
Melior
86410f6bb7 Translated using Weblate (Russian)
Currently translated at 90.3% (75 of 83 strings)

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

Translated using Weblate (Russian)

Currently translated at 87.9% (73 of 83 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (83 of 83 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (83 of 83 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (172 of 172 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Portuguese)

Currently translated at 82.9% (1745 of 2103 strings)

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

Translated using Weblate (Dutch)

Currently translated at 93.7% (1965 of 2095 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (298 of 298 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (298 of 298 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (696 of 696 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (358 of 358 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Polish)

Currently translated at 91.5% (76 of 83 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (181 of 181 strings)

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

Translated using Weblate (Polish)

Currently translated at 80.7% (67 of 83 strings)

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

Translated using Weblate (Polish)

Currently translated at 80.7% (67 of 83 strings)

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

Translated using Weblate (Japanese)

Currently translated at 87.8% (159 of 181 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (358 of 358 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (83 of 83 strings)

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

Translated using Weblate (English)

Currently translated at 0.9% (3 of 328 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 91.3% (483 of 529 strings)

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

Translated using Weblate (English (Pirate))

Currently translated at 87.9% (73 of 83 strings)

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

Translated using Weblate (English (Pirate))

Currently translated at 87.9% (73 of 83 strings)

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

Translated using Weblate (Polish)

Currently translated at 99.5% (210 of 211 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 99.5% (247 of 248 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 99.5% (247 of 248 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (57 of 57 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (143 of 143 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (172 of 172 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 99.6% (297 of 298 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 83.8% (1756 of 2095 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (328 of 328 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (56 of 56 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (63 of 63 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 85.2% (593 of 696 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 90.9% (481 of 529 strings)

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

Translated using Weblate (Polish)

Currently translated at 78.3% (65 of 83 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Polish)

Currently translated at 53.0% (44 of 83 strings)

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

Translated using Weblate (Polish)

Currently translated at 53.0% (44 of 83 strings)

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

Translated using Weblate (Polish)

Currently translated at 50.6% (42 of 83 strings)

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

Translated using Weblate (Polish)

Currently translated at 50.6% (42 of 83 strings)

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

Translated using Weblate (Polish)

Currently translated at 48.1% (40 of 83 strings)

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

Translated using Weblate (Polish)

Currently translated at 48.1% (40 of 83 strings)

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

Translated using Weblate (Polish)

Currently translated at 44.5% (37 of 83 strings)

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

Translated using Weblate (Polish)

Currently translated at 44.5% (37 of 83 strings)

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

Translated using Weblate (Polish)

Currently translated at 43.3% (36 of 83 strings)

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

Translated using Weblate (Polish)

Currently translated at 43.3% (36 of 83 strings)

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

Translated using Weblate (Polish)

Currently translated at 42.1% (35 of 83 strings)

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

Translated using Weblate (Polish)

Currently translated at 42.1% (35 of 83 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (28 of 28 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (328 of 328 strings)

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

Translated using Weblate (Polish)

Currently translated at 36.1% (30 of 83 strings)

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

Translated using Weblate (Polish)

Currently translated at 36.1% (30 of 83 strings)

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

Translated using Weblate (Polish)

Currently translated at 34.9% (29 of 83 strings)

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

Translated using Weblate (Polish)

Currently translated at 34.9% (29 of 83 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (8 of 8 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 99.3% (326 of 328 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (56 of 56 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (83 of 83 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (67 of 67 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (181 of 181 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (6 of 6 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 94.5% (465 of 492 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 83.7% (1755 of 2095 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 98.7% (82 of 83 strings)

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

Translated using Weblate (Russian)

Currently translated at 99.1% (488 of 492 strings)

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

Translated using Weblate (Dutch)

Currently translated at 93.6% (1963 of 2095 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (143 of 143 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (696 of 696 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (696 of 696 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (83 of 83 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (83 of 83 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (83 of 83 strings)

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

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (298 of 298 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (696 of 696 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.7% (694 of 696 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (83 of 83 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (358 of 358 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.7% (82 of 83 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (696 of 696 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (83 of 83 strings)

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

Translated using Weblate (German)

Currently translated at 98.7% (82 of 83 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/de/
2020-05-21 22:02:08 +02:00
Sabe Jones
8d2ada1463 4.142.2 2020-05-21 15:00:06 -05:00
Sabe Jones
95a3c932c5 Merge branch 'develop' into release 2020-05-21 14:59:58 -05:00
Sabe Jones
51d1f6b86a Merge branch 'sabrecat/feedback-links' into release 2020-05-21 14:59:43 -05:00
Sabe Jones
809bacd10b chore(sprites): compile 2020-05-21 14:59:35 -05:00
Sabe Jones
b0f29211a8 chore(news): bailey 2020-05-21 14:59:28 -05:00
Bart Enkelaar
26f5bf554e fix(chat) - graceful for failure and fix link regex (#12225)
* fix(chat) - graceful for failure and fix link regex

* fix(chat) - Adjust unit test to test for the actual functional failure
2020-05-21 18:00:58 +02:00
Frank Maximus
a1ec42c0b2 Fix Issue #12103: Wacky potions purchase warning (#12172)
* Fix Issue #12103: Wacky potions purchase warning

For wacky potions lower petsRemaining by 9,
to exclude the mounts that don't exist.

* Fix Issue #12103: Wacky potions purchase warning

Handle comments

* Use includes instead of indexOf() !== -1

* use droppEggs and dropHatchingPotions instead of fixed amounts
2020-05-20 13:27:31 +02:00
Frank Maximus
8674ea55f9 #11828: Show a boss damage notification for skills (#12173)
* #11828: Show a boss damage notification for skills

Brutal Smash and Burst of Flames skills should show a
boss damage notification

Fixes #11828

* Calculate quest progress regardless of spell target.
2020-05-20 12:32:44 +02:00
Sabe Jones
c421da34cc chore(feedback): replace Trello links 2020-05-19 15:15:21 -05:00
Sabe Jones
fb79b9e128 4.142.1 2020-05-19 14:25:04 -05:00
Sabe Jones
375b6719e9 chore(analytics): slow down dropped item tracking 2020-05-19 14:24:52 -05:00
Melior
c9bed96077 Merge branch 'origin/develop' into Weblate. 2020-05-19 21:03:46 +02:00
Melior
1ccff7f1dd Translated using Weblate (Korean)
Currently translated at 99.5% (210 of 211 strings)

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

Translated using Weblate (Korean)

Currently translated at 70.0% (56 of 80 strings)

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

Translated using Weblate (Korean)

Currently translated at 93.5% (29 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/ko/

Translated using Weblate (Japanese)

Currently translated at 100.0% (328 of 328 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Dutch)

Currently translated at 93.6% (1961 of 2095 strings)

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

Translated using Weblate (Japanese)

Currently translated at 87.6% (1843 of 2103 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (328 of 328 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (2103 of 2103 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (529 of 529 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (529 of 529 strings)

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

Translated using Weblate (Dutch)

Currently translated at 93.5% (1960 of 2095 strings)

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

Translated using Weblate (Japanese)

Currently translated at 96.0% (508 of 529 strings)

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

Translated using Weblate (Japanese)

Currently translated at 96.2% (77 of 80 strings)

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

Translated using Weblate (Vietnamese)

Currently translated at 52.5% (42 of 80 strings)

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

Translated using Weblate (Vietnamese)

Currently translated at 98.1% (483 of 492 strings)

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

Translated using Weblate (Japanese)

Currently translated at 96.0% (508 of 529 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (67 of 67 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (328 of 328 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Serbian)

Currently translated at 21.2% (17 of 80 strings)

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

Translated using Weblate (Filipino)

Currently translated at 9.7% (14 of 143 strings)

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

Translated using Weblate (Filipino)

Currently translated at 100.0% (6 of 6 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (8 of 8 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Filipino)

Currently translated at 100.0% (6 of 6 strings)

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

Translated using Weblate (Filipino)

Currently translated at 1.3% (2 of 143 strings)

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

Translated using Weblate (Filipino)

Currently translated at 100.0% (6 of 6 strings)

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

Translated using Weblate (Spanish (Latin America))

Currently translated at 97.7% (481 of 492 strings)

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

Translated using Weblate (Japanese)

Currently translated at 87.2% (158 of 181 strings)

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

Translated using Weblate (Japanese)

Currently translated at 95.2% (504 of 529 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (181 of 181 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (2103 of 2103 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (529 of 529 strings)

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

Translated using Weblate (Japanese)

Currently translated at 96.2% (77 of 80 strings)

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

Translated using Weblate (Japanese)

Currently translated at 87.4% (1839 of 2103 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (358 of 358 strings)

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

Translated using Weblate (Japanese)

Currently translated at 93.3% (494 of 529 strings)

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

Translated using Weblate (French)

Currently translated at 98.8% (523 of 529 strings)

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

Translated using Weblate (Japanese)

Currently translated at 96.2% (77 of 80 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (8 of 8 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (181 of 181 strings)

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

Translated using Weblate (Japanese)

Currently translated at 72.3% (131 of 181 strings)

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

Translated using Weblate (Dutch)

Currently translated at 93.5% (1959 of 2095 strings)

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

Translated using Weblate (Japanese)

Currently translated at 87.2% (1835 of 2103 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% (63 of 63 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (63 of 63 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (694 of 694 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (529 of 529 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2095 of 2095 strings)

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

Translated using Weblate (Japanese)

Currently translated at 87.2% (1834 of 2103 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (Japanese)

Currently translated at 92.6% (490 of 529 strings)

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

Translated using Weblate (Japanese)

Currently translated at 99.5% (210 of 211 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (57 of 57 strings)

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

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (328 of 328 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% (230 of 230 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (57 of 57 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (57 of 57 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (181 of 181 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% (492 of 492 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2103 of 2103 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2103 of 2103 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% (63 of 63 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (529 of 529 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (57 of 57 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (57 of 57 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (181 of 181 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (181 of 181 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (181 of 181 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 99.8% (2100 of 2103 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (2103 of 2103 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (63 of 63 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (63 of 63 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (529 of 529 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (529 of 529 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (529 of 529 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (57 of 57 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (French)

Currently translated at 98.4% (124 of 126 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (57 of 57 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (181 of 181 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 99.5% (2093 of 2103 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 99.5% (2093 of 2103 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (63 of 63 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.8% (523 of 529 strings)

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

Translated using Weblate (Spanish (Latin America))

Currently translated at 92.5% (74 of 80 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (57 of 57 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Russian)

Currently translated at 99.1% (488 of 492 strings)

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

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (6 of 6 strings)

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

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (328 of 328 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (63 of 63 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (529 of 529 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (529 of 529 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (529 of 529 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/
2020-05-19 21:03:35 +02:00
Sabe Jones
36461cbbdf Merge branch 'release' into develop 2020-05-19 14:01:49 -05:00
Sabe Jones
427f73f664 4.142.0 2020-05-19 14:01:19 -05:00
Sabe Jones
d796848887 chore(sprites): compile 2020-05-19 14:00:33 -05:00
Sabe Jones
80a2e31c8e feat(content): new achievement and bundle 2020-05-19 14:00:25 -05:00
Bart Enkelaar
85d290a1fa fix(chat) - Issue 12217 - Allow url-escapable characters in links. (#12218) 2020-05-19 17:28:55 +02:00
Frank Maximus
1bc756ee93 Bolding text inside a link in task title/notes. (#12178) (#12195)
* Bolding text inside a link in task title/notes. (#12178)

Before:
* link target opened in new tab
* task edit popup opened

Now:
* link target opened in new tab

Fixes #12178

* Handle PR comments

* Added explanation
* Switched to classList to improve readability
2020-05-19 16:55:43 +02:00
Frank Maximus
ea44af0929 buyMysterySet records every item in Amplitude. (#12197)
* buyMysterySet records every item in Amplitude.

Record only the mysterySet

Fixes: #11705

* buyMysterySet records every item in Amplitude.

Extend unit test

Fixes: #11705
2020-05-19 16:39:48 +02:00
dependabot-preview[bot]
739963762e build(deps-dev): bump monk from 7.2.0 to 7.3.0 (#12214)
Bumps [monk](https://github.com/Automattic/monk) from 7.2.0 to 7.3.0.
- [Release notes](https://github.com/Automattic/monk/releases)
- [Changelog](https://github.com/Automattic/monk/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Automattic/monk/compare/v7.2.0...v7.3.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-05-18 10:33:24 +02:00
dependabot-preview[bot]
b02ae35b28 build(deps): bump bootstrap-vue from 2.13.1 to 2.14.0 in /website/client (#12210)
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.13.1 to 2.14.0.
- [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.13.1...v2.14.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-05-18 10:33:13 +02:00
dependabot-preview[bot]
ace8e2f0bd build(deps): bump mongoose from 5.9.13 to 5.9.14 (#12216)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.9.13 to 5.9.14.
- [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.9.13...5.9.14)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-18 10:31:53 +02:00
Matteo Pagliazzi
e90175b5d6 chore(deps): update sortablejs version used by vue.draggable 2020-05-15 11:35:28 +02:00
Melior
403fa18511 Translated using Weblate (Russian)
Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (57 of 57 strings)

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

Translated using Weblate (Russian)

Currently translated at 99.2% (139 of 140 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (181 of 181 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (2103 of 2103 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (211 of 211 strings)

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

Merge branch 'origin/develop' into Weblate.

Translated using Weblate (Japanese)

Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (Spanish (Latin America))

Currently translated at 73.7% (59 of 80 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Dutch)

Currently translated at 93.2% (1953 of 2095 strings)

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

Translated using Weblate (English (Pirate))

Currently translated at 99.6% (327 of 328 strings)

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

Translated using Weblate (Japanese)

Currently translated at 95.6% (664 of 694 strings)

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

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (358 of 358 strings)

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

Translated using Weblate (English (Pirate))

Currently translated at 99.1% (228 of 230 strings)

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

Translated using Weblate (Swedish)

Currently translated at 82.5% (66 of 80 strings)

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

Translated using Weblate (Spanish (Latin America))

Currently translated at 73.7% (59 of 80 strings)

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

Translated using Weblate (Spanish (Latin America))

Currently translated at 73.7% (59 of 80 strings)

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

Translated using Weblate (Tamil)

Currently translated at 2.0% (3 of 143 strings)

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

Translated using Weblate (Dutch)

Currently translated at 93.1% (1952 of 2095 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/ja/
2020-05-14 22:10:21 +02:00
Sabe Jones
7dd6227845 4.141.4 2020-05-14 14:03:16 -05:00
Sabe Jones
4c7306491b Merge branch 'develop' into release 2020-05-14 14:03:09 -05:00
Sabe Jones
1164f5e5f5 chore(news): Bailey at Rest 2020-05-14 14:03:05 -05:00
Matteo Pagliazzi
c6937a0409 4.141.3 2020-05-14 13:06:55 +02:00
Matteo Pagliazzi
092d6726b8 fix(subscriptions): use correct termination date field and add extra check when it is missing 2020-05-14 12:56:12 +02:00
Melior
2a67de698b Merge branch 'origin/develop' into Weblate. 2020-05-12 23:00:23 +02:00
Melior
cfc8620865 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (172 of 172 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 83.6% (1753 of 2095 strings)

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

Translated using Weblate (Dutch)

Currently translated at 93.1% (1951 of 2095 strings)

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

Translated using Weblate (Japanese)

Currently translated at 98.3% (244 of 248 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (180 of 180 strings)

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

Translated using Weblate (Spanish)

Currently translated at 91.4% (1915 of 2095 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (63 of 63 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 85.4% (593 of 694 strings)

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

Translated using Weblate (Spanish)

Currently translated at 83.7% (67 of 80 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (80 of 80 strings)

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

Translated using Weblate (Dutch)

Currently translated at 93.0% (1950 of 2095 strings)

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

Translated using Weblate (Korean)

Currently translated at 16.1% (53 of 328 strings)

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

Translated using Weblate (Korean)

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Filipino)

Currently translated at 100.0% (63 of 63 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2095 of 2095 strings)

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

Translated using Weblate (Filipino)

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Filipino)

Currently translated at 55.5% (35 of 63 strings)

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

Translated using Weblate (Filipino)

Currently translated at 99.1% (228 of 230 strings)

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

Translated using Weblate (Filipino)

Currently translated at 95.7% (134 of 140 strings)

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

Translated using Weblate (Filipino)

Currently translated at 99.7% (491 of 492 strings)

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

Translated using Weblate (Filipino)

Currently translated at 99.5% (210 of 211 strings)

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

Translated using Weblate (Russian)

Currently translated at 97.3% (2040 of 2095 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (328 of 328 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Latin)

Currently translated at 83.4% (1749 of 2095 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2095 of 2095 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (492 of 492 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/
2020-05-12 23:00:13 +02:00
Sabe Jones
714a18ce5c Merge branch 'release' into develop 2020-05-12 15:58:13 -05:00
Sabe Jones
41e22640f5 4.141.2 2020-05-12 15:57:47 -05:00
Sabe Jones
8747a2d1b6 feat(content): reenable some May potions 2020-05-12 15:57:40 -05:00
Sabe Jones
721ae0872f Merge branch 'release' into develop 2020-05-11 14:02:38 -05:00
Sabe Jones
6658abbcd9 fix(events): Spring Fling lingering 2020-05-11 14:02:10 -05:00
Matteo Pagliazzi
68099626eb build(deps): bump moment from 2.24.0 to 2.25.3 in /website/client (#12184)
Bumps [moment](https://github.com/moment/moment) from 2.24.0 to 2.25.3.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/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-05-11 16:37:48 +02:00
dependabot-preview[bot]
ff9780c5e5 build(deps): bump moment from 2.25.1 to 2.25.3 (#12191)
Bumps [moment](https://github.com/moment/moment) from 2.25.1 to 2.25.3.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/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-05-11 16:37:42 +02:00
dependabot-preview[bot]
56aaca5c0c build(deps): bump moment from 2.24.0 to 2.25.3 in /website/client
Bumps [moment](https://github.com/moment/moment) from 2.24.0 to 2.25.3.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-11 08:55:21 +00:00
dependabot-preview[bot]
c22a2ef9a8 build(deps): bump bootstrap-vue from 2.13.0 to 2.13.1 in /website/client (#12185)
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.13.0 to 2.13.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.13.0...v2.13.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-05-11 10:52:14 +02:00
dependabot-preview[bot]
a3ba1d19ee build(deps): bump jquery from 3.5.0 to 3.5.1 in /website/client (#12186)
Bumps [jquery](https://github.com/jquery/jquery) from 3.5.0 to 3.5.1.
- [Release notes](https://github.com/jquery/jquery/releases)
- [Commits](https://github.com/jquery/jquery/compare/3.5.0...3.5.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-05-11 10:52:03 +02:00
dependabot-preview[bot]
3c5a7b65c5 build(deps): bump mongoose from 5.9.10 to 5.9.13 (#12189)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.9.10 to 5.9.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.9.10...5.9.13)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-11 10:51:48 +02:00
Carl Vuorinen
1ebe57b114 Make contributor achievement notification "sticky" (#12183)
Add ability to define any notification to be "sticky", so that it will not timeout and stays on screen until clicked.
2020-05-09 22:02:20 +02:00
Bart Enkelaar
c218b8d56c Issue 12033 - Use version of habitica-markdown that includes mentions (#12089)
* Issue 12033 - Use version of habitica-markdown that includes mention plugin

Also fixes frontend parts of 11504 and 10924

* Issue 12033 - Reduce duplication in chatCard & messageCard

* Issue 12033 - Use habitica-markdown version 2.0.0

* Issue 12033 - Use new entry point and fix tests

* Issue 12033 - Rename renderMarkdown to renderWithMentions
2020-05-09 20:04:14 +02:00
Bart Enkelaar
ef99943646 Don't break up links with user profile link injections (#12100)
* Issue 10924 - Don't break up links with mention links

* Issue 10924 - Recognise links between brackets.

* Issue 10924 - Rely on markdown parser for link determination

* Issue 10924 - Only increment index once in findTextBlocks
2020-05-09 19:37:08 +02:00
Bart Enkelaar
29f6bf7dc6 fix(chat) - Mention dot doesn't show if mention is preceded by weird … (#12177)
* fix(chat) - Mention dot doesn't show if mention is preceded by weird mention

* fix(chat) - add unit test for chatCard

* fix(chat) - Improve unit test to only mount the wrapper once
2020-05-09 19:27:20 +02:00
Carl Vuorinen
f7af8ec910 Set 30 days TTL for smartbanner (#12174)
So that it will not get shown every time (it uses session cookie by default).
30 days in milliseconds = 2592000000
2020-05-09 18:00:12 +02:00
ThePlasmak
f4ba6b2186 Fixed grammar, formatting and other errors in translatable strings (#12171)
* Added a full stop to shieldArmoireHorseshoeNotes.

* Added a full stop to shieldMystery201902Notes.

* Added a full stop to shieldMystery201902Notes.

* Added a full stop to shieldArmoireHorseshoeNotes.

* Fixed full stop and formating errors in gear.json.

* Fixed full stop and formating errors in gear.json.

* Change Transifex to Weblate in Community Guidelines

* Remove closing bracket from

* Revert "Remove closing bracket from"

This reverts commit 962698528f.

* Remove closing bracket from schoolTodoNotes

* Fix privateMessageGiftSubscriptionMessage trailing space

* Fix userAlreadyInAParty trailing space and double space

* Removed trailing space from alreadyEarnedQuestRewardEnglish and alreadyEarnedQuestLevel

* Removed starting space from spellWizardFrostAlreadyCast and spellRogueStealthMaxedOut

* Removed trailing space from

* Changed http to https
2020-05-09 17:56:28 +02:00
Sabe Jones
a3b59d9254 4.141.1 2020-05-08 13:52:04 -05:00
Melior
e813428472 Translated using Weblate (Spanish)
Currently translated at 91.3% (1913 of 2095 strings)

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

Translated using Weblate (Spanish)

Currently translated at 91.3% (1913 of 2095 strings)

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

Translated using Weblate (Malay)

Currently translated at 1.2% (4 of 328 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (143 of 143 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (328 of 328 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (Dutch)

Currently translated at 93.0% (1949 of 2095 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Filipino)

Currently translated at 100.0% (28 of 28 strings)

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

Translated using Weblate (Filipino)

Currently translated at 100.0% (298 of 298 strings)

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

Translated using Weblate (Filipino)

Currently translated at 98.8% (170 of 172 strings)

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

Translated using Weblate (Filipino)

Currently translated at 99.1% (228 of 230 strings)

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

Translated using Weblate (Filipino)

Currently translated at 100.0% (67 of 67 strings)

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

Translated using Weblate (Filipino)

Currently translated at 100.0% (6 of 6 strings)

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

Translated using Weblate (Sinhala)

Currently translated at 8.7% (7 of 80 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (Dutch)

Currently translated at 92.9% (1947 of 2095 strings)

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

Translated using Weblate (Spanish (Latin America))

Currently translated at 83.4% (1748 of 2095 strings)

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

Translated using Weblate (English (Pirate))

Currently translated at 76.6% (138 of 180 strings)

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

Translated using Weblate (English (Pirate))

Currently translated at 99.1% (488 of 492 strings)

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

Translated using Weblate (Dutch)

Currently translated at 91.3% (1914 of 2095 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (298 of 298 strings)

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

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Spanish)

Currently translated at 96.5% (504 of 522 strings)

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

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (522 of 522 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (80 of 80 strings)

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

Translated using Weblate (Filipino)

Currently translated at 82.8% (111 of 134 strings)

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

Translated using Weblate (Filipino)

Currently translated at 99.3% (296 of 298 strings)

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

Translated using Weblate (Filipino)

Currently translated at 91.7% (123 of 134 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (Dutch)

Currently translated at 90.8% (1904 of 2095 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Dutch)

Currently translated at 90.7% (1901 of 2095 strings)

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

Translated using Weblate (Dutch)

Currently translated at 90.7% (1901 of 2095 strings)

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

Translated using Weblate (Russian)

Currently translated at 98.3% (177 of 180 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Spanish)

Currently translated at 91.2% (1911 of 2095 strings)

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

Translated using Weblate (Russian)

Currently translated at 90.0% (72 of 80 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (80 of 80 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Russian)

Currently translated at 98.2% (55 of 56 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (358 of 358 strings)

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

Translated using Weblate (Russian)

Currently translated at 97.8% (511 of 522 strings)

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

Translated using Weblate (Russian)

Currently translated at 97.5% (509 of 522 strings)

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

Translated using Weblate (Dutch)

Currently translated at 90.6% (1899 of 2095 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (56 of 56 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (80 of 80 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (80 of 80 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (2095 of 2095 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2095 of 2095 strings)

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

Translated using Weblate (Dutch)

Currently translated at 90.5% (1898 of 2095 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (2095 of 2095 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (2095 of 2095 strings)

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

Translated using Weblate (Japanese)

Currently translated at 88.7% (71 of 80 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ja/
2020-05-08 20:50:43 +02:00
Matteo Pagliazzi
ebd22296df wip 2020-05-07 16:15:11 +02:00
negue
db0009ebad FIX: scroll/loading guilds (#12176)
* debounce scroll/loading guilds

* Update discovery.vue

remove threshold
2020-05-06 18:37:29 +02:00
Matteo Pagliazzi
613895e294 Merge branch 'develop' into unlock-fixes 2020-05-06 11:49:28 +02:00
Sabe Jones
be622e8b10 Merge branch 'release' into develop 2020-05-05 15:03:39 -05:00
Sabe Jones
a7c3c10ff4 4.141.0 2020-05-05 15:03:04 -05:00
Sabe Jones
1831c0dd79 chore(sprites): compile 2020-05-05 15:02:42 -05:00
Sabe Jones
8fe563aa37 feat(content): armoire, backgrounds 2020-05-05 15:02:36 -05:00
Matteo Pagliazzi
e5f1f3b279 Improve i18n caching (#12030)
* fix indentation

* wip: cache i18n responses

* cache i18n browser script to disk

* typos

* misc fixes
2020-05-05 20:31:33 +02:00
Sabe Jones
446122d7b8 To-Do cron task decay fixes (#12072)
* fix(tasks): improve some cron behaviors
Fixes #6488
Fixes #8590

* add test

Co-authored-by: Matteo Pagliazzi <matteopagliazzi@gmail.com>
2020-05-05 18:52:44 +02:00
Bart Enkelaar
93335352ec Dont throw away extra paypal months (#12149)
* Issue 10605 - Don't pointlessly format dates

* fix(10605): Be defensive about setting plan termination dates
2020-05-05 17:16:35 +02:00
Bart Enkelaar
6e24cf0fe1 Vue component unit test isolation (#12154)
* Issue 10786 - Add unit test for Home component

* Issue 10786 - Improve test setup and test invite parameter variations

* Issue 10786 - Improve Vue.js test isolation by adding async keyword to dispatch function

* Issue 10786 - Missing action does not need to be awaited

* Use localVue for groupsUtilities test and revert partial zone fix
2020-05-05 16:20:08 +02:00
tsukimi2
378325a8a2 Changed private message" button to use <a href> to open Private Messa… (#12010)
* Changed private message" button to use <a href> to open Private Message page in same tab.

Changed private message" button to use <a href> to open Private Message page in same tab with normal mouse click, and open in a new tab with right mouse click mouse context menu.

* Use router-link and navigation guard as requested.

Change from <a href to router-link in profile.vue and use navigation guard to obtain selected user data from server instead of doing so in mount method as requested.

* Added habitica::dismiss-modal to hide members modal

* Suggestion from lint

* Use replace in router-link to as per suggestion

* Suggestion by lint

* Remove sendMessage function in profile.vue as suggested in PR review
2020-05-05 16:14:31 +02:00
Melior
f60b50d6fa Merge branch 'origin/develop' into Weblate. 2020-05-04 21:53:10 +02:00
Melior
785da1391f Translated using Weblate (English)
Currently translated at 95.3% (164 of 172 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (485 of 485 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2095 of 2095 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2095 of 2095 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% (2095 of 2095 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Spanish)

Currently translated at 81.2% (65 of 80 strings)

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

Translated using Weblate (Dutch)

Currently translated at 90.5% (1897 of 2095 strings)

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

Translated using Weblate (Vietnamese)

Currently translated at 78.9% (412 of 522 strings)

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

Translated using Weblate (Vietnamese)

Currently translated at 83.8% (208 of 248 strings)

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

Translated using Weblate (Vietnamese)

Currently translated at 87.1% (312 of 358 strings)

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

Translated using Weblate (Japanese)

Currently translated at 87.5% (70 of 80 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2095 of 2095 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (134 of 134 strings)

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

Translated using Weblate (Japanese)

Currently translated at 85.0% (68 of 80 strings)

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

Translated using Weblate (Japanese)

Currently translated at 81.2% (65 of 80 strings)

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

Translated using Weblate (Japanese)

Currently translated at 78.7% (63 of 80 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.8% (2091 of 2095 strings)

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

Translated using Weblate (Japanese)

Currently translated at 77.5% (62 of 80 strings)

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

Translated using Weblate (Vietnamese)

Currently translated at 51.2% (41 of 80 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Dutch)

Currently translated at 90.4% (1895 of 2095 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Japanese)

Currently translated at 99.2% (139 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/ja/
2020-05-04 21:52:54 +02:00
Sabe Jones
adff828c91 Merge branch 'release' into develop 2020-05-04 14:52:06 -05:00
Sabe Jones
5cdcbc5310 4.140.14 2020-05-04 14:51:14 -05:00
Sabe Jones
84a52002c8 chore(sprites): compile 2020-05-04 14:50:44 -05:00
Sabe Jones
671c90a593 chore(news): Bailey 2020-05-04 14:50:36 -05:00
dependabot-preview[bot]
261da70274 build(deps): bump @babel/preset-env from 7.9.5 to 7.9.6 (#12165)
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.9.5 to 7.9.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.9.5...v7.9.6)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-04 09:58:07 +02:00
dependabot-preview[bot]
c87803caca build(deps): bump bootstrap-vue from 2.12.0 to 2.13.0 in /website/client (#12158)
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.12.0 to 2.13.0.
- [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.12.0...v2.13.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-05-04 09:57:03 +02:00
dependabot-preview[bot]
c1705550c7 build(deps): bump moment from 2.24.0 to 2.25.1 (#12163)
Bumps [moment](https://github.com/moment/moment) from 2.24.0 to 2.25.1.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.24.0...2.25.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-05-04 09:56:36 +02:00
dependabot-preview[bot]
119102ff61 build(deps): bump apple-auth from 1.0.5 to 1.0.6 (#12161)
Bumps [apple-auth](https://github.com/ananay/apple-auth) from 1.0.5 to 1.0.6.
- [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>
2020-05-04 09:53:30 +02:00
dependabot-preview[bot]
933fc4d882 build(deps): bump csv-stringify from 5.4.3 to 5.5.0 (#12164)
Bumps [csv-stringify](https://github.com/adaltas/node-csv-stringify) from 5.4.3 to 5.5.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.4.3...v5.5.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-05-04 09:52:44 +02:00
dependabot-preview[bot]
31a83097be build(deps): bump @babel/core from 7.9.0 to 7.9.6 (#12168)
Bumps [@babel/core](https://github.com/babel/babel) from 7.9.0 to 7.9.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.9.0...v7.9.6)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-04 09:50:16 +02:00
ThePlasmak
6cdc59d913 Added a full stop to shieldMystery201902Notes and shieldArmoireHorseshoeNotes. (#12153)
* Added a full stop to shieldArmoireHorseshoeNotes.

* Added a full stop to shieldMystery201902Notes.
2020-05-03 23:49:14 +02:00
Matteo Pagliazzi
ca4efa21cf Reset should unassign Stat Points
Squashed commit of the following:

commit c3c2c364118a90f893ea7fca0a943ea64299234a
Author: Matteo Pagliazzi <matteopagliazzi@gmail.com>
Date:   Sun May 3 22:36:57 2020 +0200

    increase timeout to 100ms to allow a correct route change before reload

commit 5fd85345ce4a1d3684ca991db7f666803c899e63
Merge: a73b5c942b 33331554d3
Author: Matteo Pagliazzi <matteopagliazzi@gmail.com>
Date:   Sun May 3 22:35:33 2020 +0200

    Merge branch 'develop' of https://github.com/PitiTheGrey/habitica into PitiTheGrey-develop

commit 33331554d3
Author: PitiTheGrey <35431804+PitiTheGrey@users.noreply.github.com>
Date:   Sun May 3 22:14:33 2020 +0200

    Order fixed.

    Rekord after reset

commit 3374ed29db
Author: PitiTheGrey <35431804+PitiTheGrey@users.noreply.github.com>
Date:   Sun May 3 22:01:07 2020 +0200

    Return to page  then reset

commit a73b5c942b577dd357ce76380a0102c6823f66c1
Merge: 888f2c8217 0887141ec4
Author: Matteo Pagliazzi <matteopagliazzi@gmail.com>
Date:   Sun May 3 21:44:16 2020 +0200

    Merge branch 'develop' of https://github.com/PitiTheGrey/habitica into PitiTheGrey-develop

commit 0887141ec4
Author: PitiTheGrey <35431804+PitiTheGrey@users.noreply.github.com>
Date:   Sun May 3 20:42:50 2020 +0200

    Remove 2nd try (sorry)

commit e5534a7cba
Author: PitiTheGrey <35431804+PitiTheGrey@users.noreply.github.com>
Date:   Sun May 3 20:14:49 2020 +0200

    removed unnecessary lines of code

commit 888f2c8217611d367bee912b63d4cc3f4def59bb
Merge: aeba14f2e9 e5c5f7f1d0
Author: Matteo Pagliazzi <matteopagliazzi@gmail.com>
Date:   Sun May 3 19:43:02 2020 +0200

    Merge branch 'develop' of https://github.com/PitiTheGrey/habitica into PitiTheGrey-develop

commit e5c5f7f1d0
Author: PitiTheGrey <35431804+PitiTheGrey@users.noreply.github.com>
Date:   Sat May 2 14:54:14 2020 +0200

    Page reload after reset button pressed

commit 1c7385f774
Author: PitiTheGrey <35431804+PitiTheGrey@users.noreply.github.com>
Date:   Tue Apr 28 22:23:59 2020 +0200

    Update reset.js

commit 6a8ad34aa6
Author: PitiTheGrey <35431804+PitiTheGrey@users.noreply.github.com>
Date:   Tue Apr 28 22:15:08 2020 +0200

    Update reset.js

    Resets int, con, per, str to 0
    and Points to 1

commit ba6de48ee3
Author: PitiTheGrey <35431804+PitiTheGrey@users.noreply.github.com>
Date:   Tue Apr 28 22:10:16 2020 +0200

    Update reset.js

    Test if habitica/Website/common/script/ops/reset.js resets
    int, con, per, str to 0
    and Points to 1.
2020-05-03 22:37:34 +02:00
Alys
aeba14f2e9 update API's monthly Gem cap messages to use the friendly website version (#12150)
* allow subscribers to buy their final monthly gem

* replace old montly Gem cap messages with friendlier new ones
2020-05-02 21:49:38 +02:00
negue
1c94c1a968 fix: return full inbox on user-v3-api (#12146)
* fix inbox on user-v3-api + test

* add @benkelaar suggestions
2020-05-02 21:48:16 +02:00
negue
26767f598b API: Adding secret.text to the user-schema (#12121) 2020-05-02 19:59:05 +02:00
Sabe Jones
5d202c7617 fix(script): run main and large only once each 2020-04-30 13:35:42 -05:00
Melior
643d3802cc Merge branch 'origin/develop' into Weblate. 2020-04-30 20:22:05 +02:00
Sabe Jones
5ee33f219a 4.140.13 2020-04-30 13:13:30 -05:00
Sabe Jones
4e93874483 chore(news): Last Chance Bailey 2020-04-30 13:13:18 -05:00
Sabe Jones
8bf44ce47a Merge branch 'develop' into release 2020-04-30 12:40:02 -05:00
Sabe Jones
458bde1d13 Squashed commit of the following:
commit 35fae86bf8498a21419a32f7cdfca7f521b85494
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Thu Apr 30 11:36:24 2020 -0500

    fix(items): bouncy numbers

commit 3d32d8962060fc2561687bca5a4037c47e12ca04
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Thu Apr 30 09:36:52 2020 -0500

    fix(badges): standardize box-shadow

commit 5f89f1a8db00ab7d1ea29b99c90c47c358ee9268
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Wed Apr 29 15:51:56 2020 -0500

    fix(badges): standardize hover, box-shadow; fix equipment pills

commit 4eda06072a82f7a41de2fde6c9e1023e0e519b3c
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Tue Apr 28 13:24:04 2020 -0500

    fix(badges): pill vs round

commit 7181af5cb8d552e82eb4f12bf98a31723669f16b
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Mon Apr 27 15:54:30 2020 -0500

    fix(items): SVG nonsense

commit 95cfe28db0ec0a452ae6437b3a89c07b055a4092
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Fri Apr 24 12:35:00 2020 -0500

    fix(items): don't apply "empty" to equipment

commit 5932b9e9fafc2afa914a36a91fcf4d03132f18a4
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Fri Apr 24 11:50:46 2020 -0500

    refactor(pins): move pin badge to component and implement across site

commit 0533f6f79a8c51b506c2c1870bad529fccff9ae7
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Fri Apr 24 11:50:23 2020 -0500

    fix(mounts): misaligned tigers

commit a74e64afa3e0ff7a032da3406f7787b4782cc7bf
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Fri Apr 24 06:17:53 2020 -0500

    fix(svg): remove mask attributes

commit ae0f874fb6b708b4420d8b3ac18aa3b92dc2554c
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Thu Apr 23 18:11:13 2020 -0500

    refactor(icons): standard freeze structure

commit 03c836313f91f761a1ae46d89b39625bd562d239
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Thu Apr 23 16:31:33 2020 -0500

    WIP(styles): pin badge story

commit 661cf2a885a77fbc9edd8e84802354c282e86476
Merge: 34ec0b6c6a c4343379a1
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Thu Apr 23 14:48:22 2020 -0500

    Merge branch 'develop' into sabrecat/quests-touchup

commit 34ec0b6c6ae3991665699aafc80d49d550a1661b
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Mon Apr 20 16:12:11 2020 -0500

    fix(items): style bodges

commit 3bbe1e98e14e94d4e3de8bdcc192478fe5d7cd0d
Merge: 095674ac0f 13123c0bae
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Mon Apr 20 15:51:31 2020 -0500

    Merge branch 'develop' into sabrecat/quests-touchup

commit 095674ac0fd462a8558d9de5469b7216be579411
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Tue Apr 7 12:27:03 2020 -0500

    fix(markets): styling

commit 8ffb8080a7b07ab0e5e19215bc8a3ce0b77cd54e
Merge: 5d4b20cd4f 9ac7840940
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Tue Apr 7 09:49:16 2020 -0500

    Merge branch 'develop' into sabrecat/quests-touchup

commit 5d4b20cd4f58c514ff788d5f64eb6398792c9583
Author: Sabe Jones <sabrecat@gmail.com>
Date:   Thu Mar 26 15:01:05 2020 -0500

    WIP(shops): item updates start
2020-04-30 12:38:59 -05:00
Melior
6899731937 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (Dutch)

Currently translated at 90.5% (1893 of 2091 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Japanese)

Currently translated at 98.5% (138 of 140 strings)

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

Translated using Weblate (Dutch)

Currently translated at 90.4% (1891 of 2091 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (694 of 694 strings)

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

Translated using Weblate (Vietnamese)

Currently translated at 39.0% (128 of 328 strings)

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

Translated using Weblate (Vietnamese)

Currently translated at 40.0% (32 of 80 strings)

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

Translated using Weblate (Japanese)

Currently translated at 96.4% (135 of 140 strings)

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

Translated using Weblate (Japanese)

Currently translated at 94.2% (132 of 140 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (694 of 694 strings)

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

Translated using Weblate (Dutch)

Currently translated at 90.3% (1890 of 2091 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (80 of 80 strings)

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

Translated using Weblate (Japanese)

Currently translated at 98.7% (245 of 248 strings)

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

Translated using Weblate (Japanese)

Currently translated at 91.4% (128 of 140 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (172 of 172 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/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 (Dutch)

Currently translated at 90.3% (1889 of 2091 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (298 of 298 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (Estonian)

Currently translated at 83.3% (1743 of 2091 strings)

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

Translated using Weblate (Japanese)

Currently translated at 97.9% (243 of 248 strings)

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

Translated using Weblate (Dutch)

Currently translated at 90.0% (1882 of 2091 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (298 of 298 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Japanese)

Currently translated at 96.3% (239 of 248 strings)

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

Translated using Weblate (Dutch)

Currently translated at 96.5% (670 of 694 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/nl/
2020-04-30 16:56:12 +02:00
Matteo Pagliazzi
3101abbb08 remove profiling code 2020-04-30 14:05:46 +02:00
Matteo Pagliazzi
537313a21e 4.140.12 2020-04-29 12:44:56 +02:00
Matteo Pagliazzi
453383af9f feat(debug): improve stack traces 2020-04-29 12:44:50 +02:00
Matteo Pagliazzi
a19db5798d 4.140.11 2020-04-29 12:32:04 +02:00
Matteo Pagliazzi
ea1569e23e feat(server); allow debugging 2020-04-29 12:30:48 +02:00
Sabe Jones
58aa1ac2f3 chore(sprites): compile 2020-04-28 14:26:56 -05:00
Sabe Jones
a979fc3843 feat(content): mystery items 2020-05 2020-04-28 14:26:47 -05:00
Matteo Pagliazzi
9f91775e78 fix(unit tests): re add code removed by mistake in stringUtils tests 2020-04-28 17:00:57 +02:00
Matteo Pagliazzi
61ca931e66 fix(string utils): do not escape possible regular expressions 2020-04-28 16:47:52 +02:00
Matteo Pagliazzi
2888f843e3 fix(push notifications): remove tokens after a MismatchSenderId error 2020-04-28 16:16:10 +02:00
Matteo Pagliazzi
b947c714f0 fix(regexp): escape inputs 2020-04-28 16:00:17 +02:00
Matteo Pagliazzi
783b8995b8 Merge pull request #12115 from cvuorinen/12114-group-send-invites-button
Fix group Send Invites button
2020-04-28 15:44:37 +02:00
Carl Vuorinen
8db2fb8015 Nicer input event handler 2020-04-28 16:07:59 +03:00
Carl Vuorinen
1bcf2dfe80 Use native filter & forEach functions instead of lodash 2020-04-28 15:59:31 +03:00
Matteo Pagliazzi
805641b6cf Merge pull request #12145 from sandip2224/patch-2
Update LICENSE
2020-04-28 13:35:08 +02:00
Matteo Pagliazzi
5b0584fc5e Merge pull request #12125 from cvuorinen/11181-fix-tasks-draggable-on-mobile
Fix tasks draggable on mobile
2020-04-28 13:02:49 +02:00
Sandipan
99429d9d48 Update LICENSE
Fixed grammatical error
2020-04-28 09:17:46 +05:30
Bart Enkelaar
ec5de91123 Issue 12138 - Fix chat support for regex chars in code blocks 2020-04-27 20:24:59 +02:00
Matteo Pagliazzi
6ffc28f04e Merge pull request #12140 from benkelaar/regex-escape
Issue 12138 - Fix chat support for regex chars in code blocks
2020-04-27 20:24:27 +02:00
negue
b1a348aee3 fix reload conversations on header-refresh 2020-04-27 17:18:39 +02:00
Bart Enkelaar
66ed0a350b Issue 12138 - Fix chat support for regex chars in code blocks 2020-04-27 13:56:27 +02:00
Matteo Pagliazzi
6b2e9f16e2 build(deps): bump habitica-markdown in /website/client (#12130)
Bumps [habitica-markdown](https://github.com/HabitRPG/habitica-markdown) from 1.3.2 to 1.4.0.
- [Release notes](https://github.com/HabitRPG/habitica-markdown/releases)
- [Commits](https://github.com/HabitRPG/habitica-markdown/compare/v1.3.2...v1.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>
2020-04-27 11:25:02 +02:00
dependabot-preview[bot]
7f6a2a0700 build(deps): bump habitica-markdown from 1.3.2 to 1.4.0 (#12131)
Bumps [habitica-markdown](https://github.com/HabitRPG/habitica-markdown) from 1.3.2 to 1.4.0.
- [Release notes](https://github.com/HabitRPG/habitica-markdown/releases)
- [Commits](https://github.com/HabitRPG/habitica-markdown/compare/v1.3.2...v1.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>
2020-04-27 11:24:54 +02:00
dependabot-preview[bot]
05008b20d3 build(deps): bump mongoose from 5.9.9 to 5.9.10 (#12137)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.9.9 to 5.9.10.
- [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.9.9...5.9.10)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-27 11:24:46 +02:00
dependabot-preview[bot]
6cae168adb build(deps): bump bootstrap-vue from 2.11.0 to 2.12.0 in /website/client (#12128)
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.11.0 to 2.12.0.
- [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.11.0...v2.12.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-04-27 11:23:00 +02:00
dependabot-preview[bot]
72a9506b9f build(deps): bump sass from 1.26.3 to 1.26.5 in /website/client (#12129)
Bumps [sass](https://github.com/sass/dart-sass) from 1.26.3 to 1.26.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.26.3...1.26.5)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-27 11:22:47 +02:00
dependabot-preview[bot]
af96cd0488 build(deps): bump webpack from 4.42.1 to 4.43.0 in /website/client (#12132)
Bumps [webpack](https://github.com/webpack/webpack) from 4.42.1 to 4.43.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.42.1...v4.43.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-04-27 11:22:12 +02:00
dependabot-preview[bot]
60204bef06 build(deps): bump csv-stringify from 5.3.6 to 5.4.3 (#12135)
Bumps [csv-stringify](https://github.com/adaltas/node-csv-stringify) from 5.3.6 to 5.4.3.
- [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.3.6...v5.4.3)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-27 11:21:58 +02:00
dependabot-preview[bot]
4c21d9e560 build(deps): bump habitica-markdown in /website/client
Bumps [habitica-markdown](https://github.com/HabitRPG/habitica-markdown) from 1.3.2 to 1.4.0.
- [Release notes](https://github.com/HabitRPG/habitica-markdown/releases)
- [Commits](https://github.com/HabitRPG/habitica-markdown/compare/v1.3.2...v1.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-27 05:37:14 +00:00
Carl Vuorinen
fa38b22003 Add 100ms delay to draggable on touch devices
Makes tapping the +/- and checkbox possible and also fixes scrolling on mobile.
2020-04-26 18:03:23 +03:00
Matteo Pagliazzi
be86812900 4.140.10 2020-04-24 21:00:08 +02:00
Matteo Pagliazzi
d03e5e93b0 Merge branch 'release' into develop 2020-04-24 19:02:55 +02:00
Matteo Pagliazzi
c879560445 add ability to log amplitude events (#12120) 2020-04-24 19:02:27 +02:00
Matteo Pagliazzi
26437e7e2e wip: valid unlocked sets 2020-04-24 19:01:03 +02:00
Bart Enkelaar
dc9800d88a Don't bill (subtract gems) multiple times for multiple unlock item set calls (#12116)
* Issue 11050 - Small tuneups to unlock.js

- Use includes i.o. indexOf
- Extract small function for object setting duplication
- Use every instead of custom counter

* Issue 11050 - Properly store purchased items when purchasing them

* Issue 11050 - Couple more tuneups in unlock.js and implemented partial failure scenario

* Issue 11050 - Fix last lint issue

* Issue 11050 - Check path for gear i.o. failing to write it to purchased

* Issue 11050 - Guarantee variation coverage in tests

* Issue 11050 - Use startsWith instead of includes for background check

* Issue 11050 - Don't unlock lost items
2020-04-24 16:16:34 +02:00
Matteo Pagliazzi
39fcb3e876 Merge branch 'release' into develop 2020-04-24 12:06:31 +02:00
Matteo Pagliazzi
188023b197 fix #12118: pass mandatory second parameter to markdown-it parse method 2020-04-24 12:06:05 +02:00
Matteo Pagliazzi
e47b0982c8 fix(i18n): remove loadingscreentips.json from non english folders 2020-04-23 23:25:25 +02:00
Melior
92f217775b Merge branch 'origin/develop' into Weblate. 2020-04-23 21:02:15 +02:00
Melior
daf2c354d6 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (298 of 298 strings)

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

Translated using Weblate (Dutch)

Currently translated at 89.9% (1881 of 2091 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (694 of 694 strings)

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

Translated using Weblate (Japanese)

Currently translated at 95.1% (236 of 248 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (694 of 694 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (694 of 694 strings)

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

Translated using Weblate (Japanese)

Currently translated at 92.7% (230 of 248 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (694 of 694 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (8 of 8 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (172 of 172 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (2091 of 2091 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (298 of 298 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (56 of 56 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (522 of 522 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (143 of 143 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (143 of 143 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (8 of 8 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (2091 of 2091 strings)

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

Translated using Weblate (Dutch)

Currently translated at 96.3% (669 of 694 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (694 of 694 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (522 of 522 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (522 of 522 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (522 of 522 strings)

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

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (143 of 143 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% (358 of 358 strings)

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

Translated using Weblate (English (Pirate))

Currently translated at 86.2% (69 of 80 strings)

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

Translated using Weblate (Dutch)

Currently translated at 96.2% (668 of 694 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (80 of 80 strings)

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

Translated using Weblate (Japanese)

Currently translated at 90.7% (127 of 140 strings)

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

Translated using Weblate (Swedish)

Currently translated at 93.0% (133 of 143 strings)

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

Translated using Weblate (Swedish)

Currently translated at 75.0% (60 of 80 strings)

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

Translated using Weblate (Russian)

Currently translated at 88.7% (71 of 80 strings)

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

Translated using Weblate (Dutch)

Currently translated at 98.7% (79 of 80 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (172 of 172 strings)

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

Translated using Weblate (Russian)

Currently translated at 97.2% (175 of 180 strings)

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

Translated using Weblate (Russian)

Currently translated at 99.7% (357 of 358 strings)

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

Translated using Weblate (Russian)

Currently translated at 88.7% (71 of 80 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (80 of 80 strings)

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

Translated using Weblate (Dutch)

Currently translated at 96.2% (77 of 80 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (80 of 80 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (80 of 80 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (80 of 80 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/en_GB/
2020-04-23 21:02:04 +02:00
Sabe Jones
c4343379a1 4.140.9 2020-04-23 13:59:54 -05:00
Sabe Jones
ce07d06c15 chore(news): Bailey 2020-04-23 13:59:48 -05:00
Matteo Pagliazzi
a0041221be fix(webpack): correct typo in vue.config.js 2020-04-23 11:58:53 +02:00
Carl Vuorinen
2ba6e972c3 Clear invite errors once user starts typing
Since the error condition is not valid anymore and needs to be chacked again when they stop typing.
2020-04-22 08:55:26 +03:00
Carl Vuorinen
6bacb89271 Better handling of group Send Invites button
Run validation check from @input event rather than @change so that it is executed after user stops typing instead of on blur.
Fix cannotSubmit (bound to button :disabled) so that it correctly checks that at least one invite is filled and all filled invites are valid.
2020-04-22 08:53:55 +03:00
Matteo Pagliazzi
ebfb6f96b3 Merge branch 'hamboomger-bugfix-extramonths-lost-when-subscription-terminated' into develop 2020-04-20 23:54:52 +02:00
Matteo Pagliazzi
22d696219a Revert "Squashed commit of the following:"
This reverts commit 9014943a86.
2020-04-20 23:53:41 +02:00
Matteo Pagliazzi
9014943a86 Squashed commit of the following:
commit 6a70487fa6
Author: Matteo Pagliazzi <matteopagliazzi@gmail.com>
Date:   Mon Apr 20 23:48:48 2020 +0200

    remove un-needed code

commit 4fa381f153
Merge: 97209e40ad b7448e2cfe
Author: Matteo Pagliazzi <matteopagliazzi@gmail.com>
Date:   Mon Apr 20 23:30:19 2020 +0200

    Merge branch 'bugfix-extramonths-lost-when-subscription-terminated' of https://github.com/hamboomger/habitica into hamboomger-bugfix-extramonths-lost-when-subscription-terminated

commit b7448e2cfe
Author: hamboomger <hamboomger@gmail.com>
Date:   Tue Mar 31 18:23:08 2020 +0300

    fix(server-api): cancelSubscription() is no longer called twice when user leaves group

commit 0bc836b490
Author: hamboomger <hamboomger@gmail.com>
Date:   Sun Mar 29 15:54:13 2020 +0300

    refactor(payments): unit tests created for calculation of subscription termination date

commit fdf7e3a665
Author: hamboomger <hamboomger@gmail.com>
Date:   Thu Mar 26 19:33:35 2020 +0200

    fix(db-schema): typo fixed in group.hasCancelled() schema metod name

commit 00d12e83bd
Author: hamboomger <hamboomger@gmail.com>
Date:   Thu Mar 26 19:31:07 2020 +0200

    refactor(db-schema): group.isSubscribed() method name changed to group.hasActiveGroupPlan()
2020-04-20 23:50:08 +02:00
Matteo Pagliazzi
6a70487fa6 remove un-needed code 2020-04-20 23:48:48 +02:00
Matteo Pagliazzi
4fa381f153 Merge branch 'bugfix-extramonths-lost-when-subscription-terminated' of https://github.com/hamboomger/habitica into hamboomger-bugfix-extramonths-lost-when-subscription-terminated 2020-04-20 23:30:19 +02:00
Matteo Pagliazzi
97209e40ad Collection quests: make sure users cannot earn "excess" items (#12098)
* fix(collection quests): make sure users cannot earn "excess" collection items

* add test
2020-04-20 23:12:05 +02:00
Matteo Pagliazzi
2e97f9864e fix(package.json): remove unused package 2020-04-20 22:27:20 +02:00
Jack Somers
6d6adfd919 Fixes #11119: Added check for wacky pet before feeding (#12106)
* Added check for wacky pet before feeding

* added test for feeding wacky pets

* Fixed typo in test for feeding wacky pets

Co-authored-by: Jack Somers <somersjw9@gmail.com>
2020-04-20 22:17:42 +02:00
anoopravella
13123c0bae Allow changing name of party without adding description (#12095)
* fixed behavior of editing parties, guilds

* removed unnecessary whitespace

* added v-if, removed v-once(s), simplified group type logic
2020-04-20 18:34:24 +02:00
Laurel Thomson
577e6f005e Fixing the equipment popover message when equipment is from a different class - Fixes #11988 (#11993)
* Updating the equipment attributes popover to display the correct message when the equipment doesn't match the user's class

* Rewriting 'is wrong class' and abstracting logic into computed property of shop item

* Moving isWrongClass computed function from shopItem to popoverAttribute component

* Reverting accidental whitespace change

* Adding newline to end of profile.vue to get client to compile

* Reverting profile.vue back to develop branch

Co-authored-by: Laurel Thomson <laurel.beth.thomson@gmai.com>
2020-04-20 17:23:40 +02:00
Matteo Pagliazzi
1361fea2d4 Update year number on the footer component (#12108)
Happy belated new year :P
2020-04-20 16:36:52 +02:00
negue
cbcc7cd479 remove search from private-messages (#12044)
* remove search from private-messages + paged conversations + fixes

* remove autoSize call

* add conversation border at the top

* border-bottom under `Disable Private Messages` - revert border-bottom on conversation items
2020-04-20 16:32:54 +02:00
dependabot-preview[bot]
0e36c1aa0f build(deps-dev): bump monk from 7.1.2 to 7.2.0 (#12110)
Bumps [monk](https://github.com/Automattic/monk) from 7.1.2 to 7.2.0.
- [Release notes](https://github.com/Automattic/monk/releases)
- [Changelog](https://github.com/Automattic/monk/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Automattic/monk/commits/v7.2.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-04-20 11:45:48 +02:00
dependabot-preview[bot]
5b4505ac62 build(deps): bump jwks-rsa from 1.7.0 to 1.8.0 (#12112)
Bumps [jwks-rsa](https://github.com/auth0/node-jwks-rsa) from 1.7.0 to 1.8.0.
- [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/1.7.0...v1.8.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-04-20 11:44:53 +02:00
dependabot-preview[bot]
aa3d972cb4 build(deps): bump mongoose from 5.9.7 to 5.9.9 (#12113)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.9.7 to 5.9.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.9.7...5.9.9)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-20 11:44:08 +02:00
Rarysson
d4b729c95e Update year number on the footer component
Happy belated new year :P
2020-04-19 22:17:19 -03:00
Matteo Pagliazzi
d4b867acc3 fix(static overview): correctly scope css in apple redirect page to avoid polluting other pages 2020-04-19 12:29:30 +02:00
Matteo Pagliazzi
15c09691af Merge branch 'release' into develop 2020-04-18 17:42:47 +02:00
Matteo Pagliazzi
27263e9b2f 4.140.8 2020-04-18 17:41:40 +02:00
Matteo Pagliazzi
2d9715b657 fix(apple auth): add needed env var to client and encode redirect url 2020-04-18 17:41:25 +02:00
Matteo Pagliazzi
8ca5ee99b0 Merge branch 'release' into develop 2020-04-18 16:09:40 +02:00
Matteo Pagliazzi
9f9da5632d 4.140.7 2020-04-18 16:02:23 +02:00
Matteo Pagliazzi
9364cdc2b4 fix(apple auth): do not try to parse name if it is missing, add query parameters to logs 2020-04-18 16:02:18 +02:00
Carl Vuorinen
2896cf77e0 Handle simultaneous quest accept/reject (#12090)
* Implement atomic quest accept/reject

* Persist quest.members early to avoid simultaneous handling of accept/reject

* Fix quest accept test (missing expectation)

* PR fixes
2020-04-17 22:57:31 +02:00
kareenf
936d3ffc98 Delete merch page [fixes #12039] (#12094)
* delete merch.vue and all mentions of links to merch page

* Added comments about why merch page is being deleted

Co-authored-by: Kareen <kareenf@umich.edu>
2020-04-17 22:55:22 +02:00
Bart Enkelaar
9608b9fa9f Don't link user in markdown code blocks - Fixes #[11504] (#12069)
* Improve whitespacing in highlightMentions.js unit test

* Issue 11504 - Don't link users in markdown code blocks

Use the markdown-it parser to determine what parts of the message are code block first.
Then work from those parser tokens back to content parts that should not be handled.

Still convoluted, but can be improved once a "user mention plugin" is added to habitica-markdown.

* Issue 11504 - Put functions in JavaScript order and fix linting issues

* Issue 11504 - Use includes i.o. multiple or checks and added some context.

* Issue 11504 - Add docstring for highlightMentions and simplify fence regex

* Issue 11504 - Replace inline recursor with default parameter value
2020-04-17 22:19:11 +02:00
kareenf
657327edd7 Fixes issue where usernames that are sandwiched with underscores are not properly formatted [fixes #12033] (#12071)
* For some reason this file shows as modified, however I checked and it seems as though the same code chunk was 'deleted' and 'added' back in

* Added in logic to take care of issue pertaining to usernames with underscores such as @_spider_ was not showing up in the proper username format

* Added component test to test underscores in username issue

* I accidentally forgot to change the expected result to be @_user_

* Fixed strange spacing issue in profile.vue to match the original

* Another place where I needed to put _user_

* Accidentally left in describe.only in highlightUsers.spec.js,so removed .only

* Added in suggestions from @benkelaar and added in support for fixing double underscore sandwiched usernames which is Markdown's way of bolding

* Added component test to test that usernames sandwiched with double underscores are properly formatted

* Added fixes to test case input and variable mismatch in function

* Updated expect result statement to not be a user mention instance

Co-authored-by: Kareen <kareenf@umich.edu>
2020-04-17 21:45:01 +02:00
Sabe Jones
9706a9c8be Merge branch 'release' into develop 2020-04-17 14:25:58 -05:00
Sabe Jones
484bae40cd 4.140.6 2020-04-17 14:24:42 -05:00
Sabe Jones
c0b6353ded chore(analytics): change up drop tracking 2020-04-17 14:24:34 -05:00
Matteo Pagliazzi
f71062e86c Merge branch 'release' into develop 2020-04-17 20:50:11 +02:00
Matteo Pagliazzi
8da36bf27c 4.140.5 2020-04-17 15:09:12 +02:00
Matteo Pagliazzi
1800fabaaa Merge pull request #129 from HabitRPG/cache-fixes-3
API Cache fixes
2020-04-17 15:08:15 +02:00
Matteo Pagliazzi
193e7062c3 Merge branch 'release' into develop 2020-04-17 15:00:58 +02:00
Matteo Pagliazzi
cda5c6fbb0 res.header -> res.set 2020-04-17 14:57:53 +02:00
Matteo Pagliazzi
495d01f386 fix(static files): cache more static files (#12102) 2020-04-17 14:52:28 +02:00
Matteo Pagliazzi
24e1bfdfba add basic test, disable etag on post routes as well, paypal ipn: prevent set headers after response error 2020-04-17 14:50:09 +02:00
Matteo Pagliazzi
f757e645b7 disable caching for the /status api route 2020-04-17 14:22:32 +02:00
Matteo Pagliazzi
bf492933cc fix(cache): explicitly disable caching for most api routes 2020-04-17 14:22:20 +02:00
Matteo Pagliazzi
86d2fed76e fix(apple auth): minor fixes, make sure apple auth users are considered when sending emails 2020-04-16 23:23:08 +02:00
Melior
2b7fe7c1d5 Merge branch 'origin/develop' into Weblate. 2020-04-16 22:19:38 +02:00
Melior
999b62df43 Translated using Weblate (Dutch)
Currently translated at 95.0% (76 of 80 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (172 of 172 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (298 of 298 strings)

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

Translated using Weblate (Vietnamese)

Currently translated at 21.6% (31 of 143 strings)

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

Translated using Weblate (Vietnamese)

Currently translated at 11.1% (16 of 143 strings)

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

Translated using Weblate (Japanese)

Currently translated at 91.5% (227 of 248 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (298 of 298 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (56 of 56 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (80 of 80 strings)

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

Translated using Weblate (Dutch)

Currently translated at 90.0% (72 of 80 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (211 of 211 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% (134 of 134 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 88.7% (71 of 80 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (80 of 80 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (694 of 694 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/
2020-04-16 22:19:26 +02:00
Sabe Jones
cc7dac47c4 4.140.4 2020-04-16 15:18:00 -05:00
Sabe Jones
c8189360d6 Merge branch 'develop' into release 2020-04-16 15:17:56 -05:00
Sabe Jones
88183149c5 chore(news): Bailey 2020-04-16 15:17:14 -05:00
Matteo Pagliazzi
a8f397c674 fix(join group): do not throw if inviter has does not exist 2020-04-15 21:43:24 +02:00
Matteo Pagliazzi
c5aeab652d Push Notifications Fixes - Part 2 (#12092)
* push notifications: handle some more error codes and when the user is loaded using .lean()

* fix lint

* do not send push notification if message is missing
2020-04-15 21:36:53 +02:00
Melior
cc04761c24 Merge branch 'origin/develop' into Weblate. 2020-04-14 22:55:19 +02:00
Melior
29dccdd148 Translated using Weblate (Dutch)
Currently translated at 95.9% (666 of 694 strings)

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

Merge branch 'origin/develop' into Weblate.

Translated using Weblate (Swedish)

Currently translated at 95.0% (133 of 140 strings)

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

Translated using Weblate (German)

Currently translated at 99.7% (2086 of 2091 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (298 of 298 strings)

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

Translated using Weblate (Dutch)

Currently translated at 95.3% (662 of 694 strings)

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

Translated using Weblate (German)

Currently translated at 99.8% (693 of 694 strings)

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

Translated using Weblate (German)

Currently translated at 99.8% (693 of 694 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (67 of 67 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (298 of 298 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (56 of 56 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (German)

Currently translated at 99.4% (2080 of 2091 strings)

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

Translated using Weblate (Russian)

Currently translated at 99.5% (691 of 694 strings)

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

Translated using Weblate (Japanese)

Currently translated at 90.3% (224 of 248 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (8 of 8 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (67 of 67 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/ro/

Translated using Weblate (Romanian)

Currently translated at 100.0% (56 of 56 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (63 of 63 strings)

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

Translated using Weblate (Russian)

Currently translated at 98.7% (685 of 694 strings)

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

Translated using Weblate (Dutch)

Currently translated at 94.6% (657 of 694 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (694 of 694 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (358 of 358 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (694 of 694 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/
2020-04-14 22:55:14 +02:00
Denys Dorokhov
186b929e59 API-v4 route added: 'api/v4/faq' fixes #11801 (#11905)
* feat(api-v4): new /faq route added

* refactor(server): change of function name in libs/content.js
2020-04-14 22:14:53 +02:00
Matteo Pagliazzi
551abf292c Removed loading screen tips, fixes #11834 (#12063)
* removed loading tip div

* removed loading tip number logic

* removed loadingScreenTips.json
2020-04-14 22:03:57 +02:00
Sabe Jones
1e1c058d82 Merge branch 'release' into develop 2020-04-14 14:50:46 -05:00
Sabe Jones
2ea9070a9b 4.140.3 2020-04-14 14:50:10 -05:00
Sabe Jones
168a3a6e89 Merge branch 'sabrecat/potion-time' into release 2020-04-14 14:49:18 -05:00
Sabe Jones
67bd2d9130 feat(content): enable spring avatar customizations 2020-04-14 14:49:11 -05:00
Matteo Pagliazzi
cb0280ca8b fix(lint): move old migration to archive 2020-04-14 19:15:29 +02:00
Matteo Pagliazzi
259b15877b chore(deps): remove unused aws-sdk file and dependency 2020-04-14 17:03:42 +02:00
Matteo Pagliazzi
dd31f559c7 onboarding guide improvements (#12068) 2020-04-13 16:19:46 +02:00
dependabot-preview[bot]
6c29ea8c4c build(deps): bump @vue/cli-plugin-unit-mocha in /website/client (#12081)
Bumps [@vue/cli-plugin-unit-mocha](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-unit-mocha) from 4.3.0 to 4.3.1.
- [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.3.1/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>
2020-04-13 14:53:29 +02:00
dependabot-preview[bot]
dc316ad1c8 build(deps): bump @vue/cli-plugin-eslint in /website/client (#12076)
Bumps [@vue/cli-plugin-eslint](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-eslint) from 4.3.0 to 4.3.1.
- [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.3.1/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>
2020-04-13 13:35:39 +02:00
dependabot-preview[bot]
a5b37fcc02 build(deps): bump @vue/cli-service in /website/client (#12080)
Bumps [@vue/cli-service](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-service) from 4.3.0 to 4.3.1.
- [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.3.1/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>
2020-04-13 13:31:25 +02:00
Matteo Pagliazzi
16f1c7286b Merge pull request #12084 from HabitRPG/dependabot/npm_and_yarn/website/client/vue/cli-plugin-router-4.3.1
build(deps): bump @vue/cli-plugin-router from 4.3.0 to 4.3.1 in /website/client
2020-04-13 13:28:15 +02:00
Matteo Pagliazzi
d5b3e4ec9f Merge pull request #12075 from HabitRPG/dependabot/npm_and_yarn/website/client/bootstrap-vue-2.11.0
build(deps): bump bootstrap-vue from 2.10.1 to 2.11.0 in /website/client
2020-04-13 13:27:53 +02:00
Matteo Pagliazzi
47eb9bf3ff Merge pull request #12073 from HabitRPG/dependabot/npm_and_yarn/website/client/vue/cli-plugin-babel-4.3.1
build(deps): bump @vue/cli-plugin-babel from 4.3.0 to 4.3.1 in /website/client
2020-04-13 13:27:31 +02:00
Matteo Pagliazzi
2977346ccb Merge pull request #12074 from HabitRPG/dependabot/npm_and_yarn/website/client/amplitude-js-5.11.0
build(deps): bump amplitude-js from 5.10.0 to 5.11.0 in /website/client
2020-04-13 13:27:23 +02:00
Matteo Pagliazzi
a545cc72d0 Merge pull request #12077 from HabitRPG/dependabot/npm_and_yarn/website/client/core-js-3.6.5
build(deps): bump core-js from 3.6.4 to 3.6.5 in /website/client
2020-04-13 13:27:08 +02:00
Matteo Pagliazzi
82548f69e5 Merge pull request #12078 from HabitRPG/dependabot/npm_and_yarn/website/client/jquery-3.5.0
build(deps): bump jquery from 3.4.1 to 3.5.0 in /website/client
2020-04-13 13:27:02 +02:00
Matteo Pagliazzi
5aacae3ead build(deps): bump aws-sdk from 2.653.0 to 2.656.0 (#12082)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.653.0 to 2.656.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.653.0...v2.656.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-04-13 13:25:56 +02:00
dependabot-preview[bot]
9f8162b82c build(deps): bump @babel/preset-env from 7.9.0 to 7.9.5 (#12087)
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.9.0 to 7.9.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.9.0...v7.9.5)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-13 13:25:39 +02:00
dependabot-preview[bot]
98a749b239 build(deps): bump @vue/cli-plugin-router in /website/client
Bumps [@vue/cli-plugin-router](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-router) from 4.3.0 to 4.3.1.
- [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.3.1/packages/@vue/cli-plugin-router)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-13 05:30:11 +00:00
dependabot-preview[bot]
0cef9eff87 build(deps): bump aws-sdk from 2.653.0 to 2.656.0
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.653.0 to 2.656.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.653.0...v2.656.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-13 05:29:33 +00:00
dependabot-preview[bot]
3189a944d7 build(deps): bump jquery from 3.4.1 to 3.5.0 in /website/client
Bumps [jquery](https://github.com/jquery/jquery) from 3.4.1 to 3.5.0.
- [Release notes](https://github.com/jquery/jquery/releases)
- [Commits](https://github.com/jquery/jquery/compare/3.4.1...3.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-13 05:26:48 +00:00
dependabot-preview[bot]
79066165e2 build(deps): bump core-js from 3.6.4 to 3.6.5 in /website/client
Bumps [core-js](https://github.com/zloirock/core-js) from 3.6.4 to 3.6.5.
- [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.6.4...v3.6.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-13 05:25:49 +00:00
dependabot-preview[bot]
c6f6df3f14 build(deps): bump bootstrap-vue from 2.10.1 to 2.11.0 in /website/client
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.10.1 to 2.11.0.
- [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.10.1...v2.11.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-13 05:23:51 +00:00
dependabot-preview[bot]
7bfd6ceca1 build(deps): bump amplitude-js from 5.10.0 to 5.11.0 in /website/client
Bumps [amplitude-js](https://github.com/amplitude/amplitude-javascript) from 5.10.0 to 5.11.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/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-13 05:22:44 +00:00
dependabot-preview[bot]
400f4dfb01 build(deps): bump @vue/cli-plugin-babel in /website/client
Bumps [@vue/cli-plugin-babel](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-babel) from 4.3.0 to 4.3.1.
- [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.3.1/packages/@vue/cli-plugin-babel)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-13 05:21:52 +00:00
Alys
57a9fb5241 add comment to contributor.critical flag in user model 2020-04-13 15:15:26 +10:00
Sabe Jones
08c63f94fc fix(shops): improve featured potion and quest 2020-04-10 16:17:15 -05:00
Sabe Jones
9c6c90a2e9 fix(potions): call out limited time 2020-04-10 15:15:23 -05:00
Sabe Jones
39765895ee fix(quest): call out limited time 2020-04-10 13:53:52 -05:00
Matteo Pagliazzi
2a8fc7aea2 Push Notifications Improvements (#12019)
* start fixing push notitifications

* push notifications: refactor error handling

* remove comment and improve logging

* improve emails errors

* wip: start improving webhooks tests

* add max length to push notifications and tests

* fix typos
2020-04-10 16:41:44 +02:00
Melior
0a86d04a15 Merge branch 'origin/develop' into Weblate. 2020-04-09 13:32:31 +02:00
Melior
3afa7e6da5 Translated using Weblate (Romanian)
Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (140 of 140 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (143 of 143 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (172 of 172 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (8 of 8 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (67 of 67 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/ro/

Translated using Weblate (Romanian)

Currently translated at 100.0% (180 of 180 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (2091 of 2091 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (298 of 298 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (328 of 328 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (56 of 56 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (63 of 63 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (694 of 694 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (358 of 358 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (522 of 522 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (77 of 77 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Romanian)

Currently translated at 87.5% (7 of 8 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (57 of 57 strings)

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

Translated using Weblate (Romanian)

Currently translated at 93.7% (134 of 143 strings)

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

Translated using Weblate (Romanian)

Currently translated at 87.5% (7 of 8 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (6 of 6 strings)

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

Translated using Weblate (Romanian)

Currently translated at 83.5% (1747 of 2091 strings)

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

Translated using Weblate (Romanian)

Currently translated at 41.2% (26 of 63 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (28 of 28 strings)

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

Translated using Weblate (Romanian)

Currently translated at 96.7% (30 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/ro/

Translated using Weblate (Romanian)

Currently translated at 98.7% (324 of 328 strings)

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

Translated using Weblate (Romanian)

Currently translated at 96.0% (121 of 126 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Romanian)

Currently translated at 11.6% (9 of 77 strings)

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

Translated using Weblate (Dutch)

Currently translated at 97.8% (137 of 140 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (694 of 694 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (694 of 694 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (694 of 694 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (358 of 358 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (358 of 358 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (358 of 358 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.8% (686 of 694 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 99.4% (690 of 694 strings)

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

Translated using Weblate (German)

Currently translated at 99.1% (688 of 694 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (358 of 358 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (358 of 358 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (358 of 358 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (522 of 522 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/
2020-04-09 13:32:17 +02:00
Sabe Jones
0ac0723be5 4.140.2 2020-04-09 06:28:11 -05:00
Sabe Jones
0f2d2ddad6 Merge branch 'develop' into release 2020-04-09 06:28:06 -05:00
Matteo Pagliazzi
e19837f58e 4.140.1 2020-04-08 23:31:26 +02:00
Matteo Pagliazzi
0ea1ce9758 fix(logs): do not log mongoose object with id and no _id to avoid crashes, see https://github.com/davidmarkclements/fast-safe-stringify/issues/43 2020-04-08 23:31:17 +02:00
Phillip Thelen
9d16ab7dba Sign in with Apple (#11793)
* add date check

* achievements modal polishing

* refresh private-messages page when you are already on it

* add countbadge knob to change the example

* fix lint

* typos

* typos

* typos

* add toggle for achievements categories

* typo

* fix test

* fix edit avatar modal cannot be closed

* WIP(settings): subscriber page improvements

* WIP(subscriptions): more design build-out

* fix(css): disabled button styles

* fix(css): better Amazon targeting

* fix hide tooltip + align header correctly

* disable perfect scroll

* load messages on refresh event

* fix header label + conversation actions not breaking layout on hover

* WIP(g1g1): notif

* WIP(g1g1): notif cont'd

* fix(test): snowball change

* fix(event): feature NYE card

* chore(sprites): compile

* fix(bgs): include TT required field

* add gifting banner to the max height calculation

* chore(event): enable winter customizations

* WIP(gifting): partial modal implementation

* feat(gifting): select giftee modal

* fix(gifting): notification order, modal dismiss

* Begin implementing sign in with apple

# Conflicts:
#	package-lock.json
#	website/common/script/constants.js
#	website/server/libs/auth/social.js
#	website/server/models/user/schema.js

* Add apple sign in button to website

* fix lint errors

* fix config json

* fix(modals): correct some repops

* fix(gifting): style updates

* fix(buy): modal style changes

* fix(modals): also clean out "prev"

* Attempt workaround for sign in with apple on android

* temporarily log everything as error

* refactor(modals): hide in dismiss event

* fix temporary test failure

* changes to sign in with apple

* fix: first batch of layout issues for private messages + auto sizing textarea

* fix(modals): new dismiss logic

* fix(modals): new dismiss no go??

* Only use email scope

* print debugging

* .

* ..

* ...

* username second line - open profile on face-avatar/conversation name - fix textarea height

* temporarily disable apple auth and just return data for debugging

* Hopefully this works

* .....

* WIP(subscription): unsubscribed state

* .

* ..

* MAYBE THIS ACTUALLY WORKS???

* Implement apple sign in

* fix some urls

* fix urls

* fix redirect and auth

* attempt to also request name

* fix lint error

* WIP(subscription): partial subscribed

* chore(sprites): compile

* Change approach so that it actually works

* fix config error

* fix lint errors

* Fix

* fix lint error

* lint error

* WIP(subscription): finish subscribed

* refresh on sync

* new "you dont have any messages" style + changed min textarea height

* new conversationItem style / layout

* reset message unread on reload

* chore(npm): update package-locks

* fix styles / textarea height

* feat(subscription): revised sub page RC

* list optOut / chatRevoked informations for each conversation + show why its disabled

* Improve apple redirect view

* Fix apple icon on group task registration page

* WIP(adventure): prereqs

* Block / Unblock - correct disabled states - $gray-200 instead of 300/400

* canReceive not checking chatRevoked

* fix: faceAvatar / userLink open the selected conversation user

* check if the target user is blocking the logged-in user

* fix(subs): style tweaks

* fix(profiles): short circuit contributor
Attempted fix for #11830

* chore(sprites): compile

* fix(content): missing potion data

* fix(content): missing string

* WIP(drops): new modal

* fix(subs): moar style tweaks

* check if blocks is undefined

* max-height instead of height

* fix "no messages" state + canReceive on a new conversation

* WIP(adventure): analytics fixes etc

* Improve apple signin handling

* fixed conversations width (280px on max 768 width page)

* feat(adventure): random egg+potion on 2nd task

* fix(lint): noworkies

* fix(modal): correctly construct classes

* fix(tests): expectations and escape

* Fix typo

* use base url from env variables

* fix lint

* call autosize after message is sent

* fix urls

* always verify token

* throw error when social auth could not retrieve id

* Store emails correctly for apple auth

* Retrieve name when authenticating through apple

* Fix lint errors

* fix all lint errors

* fix(content): missing strings

* Revert "always verify token"

This reverts commit 8ac40c76bf.

# Conflicts:
#	website/server/libs/auth/social.js

* Correctly load name

* remove extra changes

* remove extra logger call

* reset package and package-lock

* add back missing packages

* use name from apple

* add support for multiple apple public keys

* add some unit and integration tests

* add apple auth integration test

* tweak social signup buttons

* pixel pushing

Co-authored-by: Matteo Pagliazzi <matteopagliazzi@gmail.com>
Co-authored-by: Sabe Jones <sabrecat@gmail.com>
Co-authored-by: negue <eugen.bolz@gmail.com>
Co-authored-by: Phillip Thelen <phillip@habitica.com>
2020-04-08 18:44:30 +02:00
Anoop Ravella
776e9834f3 removed loadingScreenTips.json 2020-04-08 11:18:18 -04:00
Melior
1d98929453 Merge branch 'origin/develop' into Weblate.
Merge branch 'origin/develop' into Weblate.

Translated using Weblate (Dutch)

Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (522 of 522 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2091 of 2091 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2091 of 2091 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% (2091 of 2091 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% (2091 of 2091 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (2091 of 2091 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (2091 of 2091 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (522 of 522 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (522 of 522 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (522 of 522 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (522 of 522 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (522 of 522 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en_GB/
2020-04-08 00:18:20 +02:00
Matteo Pagliazzi
80664b6c5f Merge pull request #12016 from inftp/ptsFix
stop 'pts' from overflowing to next line
2020-04-07 22:22:12 +02:00
Matteo Pagliazzi
01123367b1 Merge pull request #12045 from JohnJSal/patch-1
Removed an unnecessary word in quest completion text
2020-04-07 22:20:10 +02:00
Sabe Jones
f6a80d18b6 Merge branch 'release' into develop 2020-04-07 14:08:41 -05:00
Sabe Jones
71af306f02 4.140.0 2020-04-07 14:08:17 -05:00
Sabe Jones
5ccd2ae262 chore(event): seeds and sprites 2020-04-07 14:08:09 -05:00
Sabe Jones
a1a1fd939d Merge branch 'sabrecat/dessert-potions' into release 2020-04-07 13:59:36 -05:00
Matteo Pagliazzi
9ac7840940 chore(winston-loggly-bulk): upgrade 2020-04-07 15:18:52 +02:00
Anoop Ravella
100275f460 removed loading tip number logic 2020-04-06 17:20:40 -04:00
Anoop Ravella
489b9c4019 removed loading tip div 2020-04-06 17:05:25 -04:00
Sabe Jones
ba61da4acb fix(stable): wacky sorting 2020-04-06 15:26:43 -05:00
Sabe Jones
903851f1fd fix(content): missing premium potion notes 2020-04-06 14:40:09 -05:00
Sabe Jones
371a1542e7 fix(content): feature items 2020-04-06 13:08:29 -05:00
Sabe Jones
0c640f07d1 fix(waffle): missing scroll 2020-04-06 12:19:40 -05:00
Melior
cbc6e7aa0c Merge branch 'origin/develop' into Weblate. 2020-04-06 17:48:06 +02:00
Sabe Jones
b6eab67e6a Merge branch 'release' into develop 2020-04-06 10:42:45 -05:00
Sabe Jones
99afefe953 4.139.0 2020-04-06 10:41:54 -05:00
Sabe Jones
9fea01b1f4 Merge branch 'sabrecat/armoire-202004' into release 2020-04-06 10:41:40 -05:00
Sabe Jones
978b78e57a feat(migration): script for adding all gear to a user 2020-04-06 14:29:29 +00:00
Melior
f920a441a5 Translated using Weblate (Romanian)
Currently translated at 98.6% (227 of 230 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/ro/

Translated using Weblate (Romanian)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Dutch)

Currently translated at 99.5% (247 of 248 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (57 of 57 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (28 of 28 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (143 of 143 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (8 of 8 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (12 of 12 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (27 of 27 strings)

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

Translated using Weblate (Romanian)

Currently translated at 98.7% (324 of 328 strings)

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

Translated using Weblate (Romanian)

Currently translated at 100.0% (15 of 15 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (485 of 485 strings)

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

Translated using Weblate (Russian)

Currently translated at 99.3% (142 of 143 strings)

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

Translated using Weblate (Russian)

Currently translated at 96.1% (173 of 180 strings)

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

Translated using Weblate (Russian)

Currently translated at 97.9% (2042 of 2085 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2085 of 2085 strings)

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

Translated using Weblate (Russian)

Currently translated at 98.6% (508 of 515 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2085 of 2085 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (685 of 685 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (143 of 143 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/pt_BR/
2020-04-06 13:53:15 +02:00
Matteo Pagliazzi
12a9eec540 build(deps): bump @vue/cli-plugin-eslint in /website/client (#12054)
Bumps [@vue/cli-plugin-eslint](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-eslint) from 4.2.3 to 4.3.0.
- [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.3.0/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>
2020-04-06 11:34:51 +02:00
dependabot-preview[bot]
f83d86b7f3 build(deps): bump @vue/cli-plugin-unit-mocha in /website/client (#12058)
Bumps [@vue/cli-plugin-unit-mocha](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-unit-mocha) from 4.2.3 to 4.3.0.
- [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.3.0/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>
2020-04-06 11:34:41 +02:00
dependabot-preview[bot]
0410c97001 build(deps): bump @vue/cli-plugin-eslint in /website/client
Bumps [@vue/cli-plugin-eslint](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-eslint) from 4.2.3 to 4.3.0.
- [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.3.0/packages/@vue/cli-plugin-eslint)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-06 09:33:11 +00:00
dependabot-preview[bot]
4482b734a5 build(deps): bump @vue/cli-plugin-router in /website/client (#12056)
Bumps [@vue/cli-plugin-router](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-router) from 4.2.3 to 4.3.0.
- [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.3.0/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>
2020-04-06 11:30:38 +02:00
dependabot-preview[bot]
0131cc07bf build(deps): bump @vue/cli-service in /website/client (#12051)
Bumps [@vue/cli-service](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-service) from 4.2.3 to 4.3.0.
- [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.3.0/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>
2020-04-06 11:30:26 +02:00
dependabot-preview[bot]
70a9f66dcd build(deps): bump @vue/cli-plugin-babel in /website/client (#12049)
Bumps [@vue/cli-plugin-babel](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-babel) from 4.2.3 to 4.3.0.
- [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.3.0/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>
2020-04-06 11:30:10 +02:00
dependabot-preview[bot]
3057fdbd4a build(deps): bump @storybook/addon-links in /website/client (#12047)
Bumps [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/addons/links) from 5.3.17 to 5.3.18.
- [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/v5.3.18/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>
2020-04-06 11:01:56 +02:00
Matteo Pagliazzi
cc48479c66 Merge branch 'release' into develop 2020-04-06 11:01:29 +02:00
Matteo Pagliazzi
8ad644ec3a remove comment and improve logging 2020-04-06 10:57:36 +02:00
Matteo Pagliazzi
6f2bf5659d improve emails errors 2020-04-06 10:56:39 +02:00
dependabot-preview[bot]
f4e573f684 build(deps): bump bootstrap-vue from 2.9.0 to 2.10.1 in /website/client (#12050)
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.9.0 to 2.10.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.9.0...v2.10.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-04-06 10:53:56 +02:00
dependabot-preview[bot]
a2e59d0920 build(deps): bump @storybook/addon-knobs in /website/client (#12048)
Bumps [@storybook/addon-knobs](https://github.com/storybookjs/storybook/tree/HEAD/addons/knobs) from 5.3.17 to 5.3.18.
- [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/v5.3.18/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>
2020-04-06 10:53:48 +02:00
dependabot-preview[bot]
39fe86c688 build(deps): bump @storybook/addon-notes in /website/client (#12046)
Bumps [@storybook/addon-notes](https://github.com/storybookjs/storybook/tree/HEAD/addons/notes) from 5.3.17 to 5.3.18.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v5.3.18/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v5.3.18/addons/notes)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-06 10:53:38 +02:00
dependabot-preview[bot]
78ceb427a3 build(deps): bump @storybook/addon-actions in /website/client (#12052)
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 5.3.17 to 5.3.18.
- [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/v5.3.18/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>
2020-04-06 10:50:15 +02:00
dependabot-preview[bot]
7c17a32bbb build(deps): bump @storybook/vue in /website/client (#12057)
Bumps [@storybook/vue](https://github.com/storybookjs/storybook/tree/HEAD/app/vue) from 5.3.17 to 5.3.18.
- [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/v5.3.18/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>
2020-04-06 10:49:52 +02:00
dependabot-preview[bot]
9a34c16fa2 build(deps): bump aws-sdk from 2.648.0 to 2.653.0 (#12061)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.648.0 to 2.653.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.648.0...v2.653.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-04-06 10:48:57 +02:00
dependabot-preview[bot]
38c24763fa build(deps): bump mongoose from 5.9.6 to 5.9.7 (#12062)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.9.6 to 5.9.7.
- [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.9.6...5.9.7)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-06 10:48:17 +02:00
JohnJSal
776f3d288b Removed an unnecessary word in quest completion text
Changed "Great job catching the that would-be arsonist..." to "Great job catching that would-be arsonist..." in the quest completion text for "Bye, Bye, Butterfry."
2020-04-05 12:09:17 -05:00
hamboomger
b7448e2cfe fix(server-api): cancelSubscription() is no longer called twice when user leaves group 2020-04-05 15:06:16 +03:00
hamboomger
0bc836b490 refactor(payments): unit tests created for calculation of subscription termination date 2020-04-05 15:06:16 +03:00
hamboomger
fdf7e3a665 fix(db-schema): typo fixed in group.hasCancelled() schema metod name 2020-04-05 15:06:16 +03:00
hamboomger
00d12e83bd refactor(db-schema): group.isSubscribed() method name changed to group.hasActiveGroupPlan() 2020-04-05 15:06:16 +03:00
Matteo Pagliazzi
e4661c3763 Merge branch 'release' into develop 2020-04-04 13:49:59 +02:00
Matteo Pagliazzi
5fcf3fba88 4.138.6 2020-04-04 13:47:14 +02:00
inftp
156d15c540 Merge remote-tracking branch 'upstream/develop' into ptsFix 2020-04-04 16:29:34 +11:00
inftp
7d9b8a5ceb use bootstrap native style rather than custom 2020-04-04 16:28:10 +11:00
Sabe Jones
23b19853b4 fix(image): filename 2020-04-03 20:36:31 -05:00
Sabe Jones
c6839c4478 fix(content): stray comma 2020-04-03 19:31:58 -05:00
Sabe Jones
167f4f07b8 feat(content): Confection Pets 2020-04-03 19:25:43 -05:00
Matteo Pagliazzi
95c9dbaa73 Merge branch 'release' into develop 2020-04-04 00:19:17 +02:00
Matteo Pagliazzi
c88af182c9 chore(deps): upgrade slack to v4 2020-04-04 00:19:00 +02:00
Matteo Pagliazzi
d9f7772453 chore(deps): upgrade slack to v4 2020-04-04 00:03:28 +02:00
Sabe Jones
931d8814b6 chore(sprites): compile 2020-04-03 15:41:49 -05:00
Sabe Jones
25e5183370 feat(content): Armoire/BGs 2020-04 2020-04-03 15:41:35 -05:00
Matteo Pagliazzi
8e559da200 fix(dockerfile): expose EMAILS_COMMUNITY_MANAGER_EMAIL to client 2020-04-03 12:39:08 +02:00
Melior
8efed37241 Merge branch 'origin/develop' into Weblate. 2020-04-02 23:19:42 +02:00
Sabe Jones
ed25afb0b1 4.138.5 2020-04-02 16:10:21 -05:00
Sabe Jones
a2c91aae70 chore(news): Challenge and Blog Bailey 2020-04-02 16:09:36 -05:00
Sabe Jones
3ac69d5e75 Merge branch 'develop' into release 2020-04-02 15:09:54 -05:00
Sabe Jones
87b26c4cfb chore(event): end Foolishness 2020-04-02 15:09:30 -05:00
Matteo Pagliazzi
28bc843779 Misc Webhooks Fixes (#12038)
* fix(webhooks): don t parse response as json

* upgrade got to version 10

* remove old header

* fix tests

* fix email auth

* add migration

* update email error

* split migration in two
2020-04-02 21:48:47 +02:00
Matteo Pagliazzi
e92ff9737a Automatically Logout Banned Users (#12037)
* wip

* logout banned users, fix and refactor language library and middleware

* req.locals -> res.locals

* fix tests

* redirect to login page
2020-04-02 21:46:01 +02:00
Melior
66422d4235 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (143 of 143 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (172 of 172 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2085 of 2085 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2085 of 2085 strings)

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

Translated using Weblate (Dutch)

Currently translated at 98.8% (170 of 172 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (4 of 4 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (143 of 143 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (143 of 143 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (143 of 143 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (143 of 143 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (2085 of 2085 strings)

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

Translated using Weblate (German)

Currently translated at 99.4% (2074 of 2085 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/
2020-04-02 13:30:18 +02:00
Sabe Jones
c3343c9412 fix(news): Challenge link 2020-04-01 10:23:07 -05:00
Melior
e9100c7132 Merge branch 'origin/develop' into Weblate. 2020-04-01 14:37:50 +02:00
Sabe Jones
11235685ca fix(avatar): adjust expected padding for always-on pets 2020-04-01 06:51:14 -05:00
Sabe Jones
49d6691f7d fix(avatar): adjust expected padding for always-on pets 2020-04-01 06:51:02 -05:00
Melior
db4c4e6493 Merge branch 'origin/develop' into Weblate. 2020-04-01 13:37:37 +02:00
Sabe Jones
56b1f6371f Merge branch 'release' into develop 2020-04-01 06:32:15 -05:00
Sabe Jones
1b5bd8e1ab 4.138.4 2020-04-01 06:31:49 -05:00
Sabe Jones
e39eafd3f0 feat(event): April Foolin 2020-04-01 06:31:39 -05:00
Melior
9213181ca2 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (180 of 180 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.9% (2083 of 2085 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% (2085 of 2085 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (357 of 357 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (77 of 77 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (248 of 248 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2085 of 2085 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/
2020-04-01 00:41:29 +02:00
Calvin
3e50469ed5 Switched to Click to Hatch (#11989) 2020-03-31 17:20:51 +02:00
Matheus Bernardes
7e9d3062f3 fix(achievements modal): fixes hide achievements button formatting (#12013) 2020-03-31 16:11:37 +02:00
Melior
6376e57614 Merge branch 'origin/develop' into Weblate. 2020-03-30 23:19:42 +02:00
Sabe Jones
84ad270436 Merge branch 'release' into develop 2020-03-30 16:14:17 -05:00
Sabe Jones
92cf506bad 4.138.3 2020-03-30 16:12:20 -05:00
Sabe Jones
5f97cb31b8 chore(sprites): compile 2020-03-30 16:12:11 -05:00
Sabe Jones
6d26fbc5f2 feat(content): April subscriber items 2020-03-30 16:12:03 -05:00
Sabe Jones
bb9912de89 fix(analytics): problems 2020-03-30 15:38:41 -05:00
Sabe Jones
7a51b7593f fix(analytics): problems (#12032) 2020-03-30 15:37:01 -05:00
Melior
1bfc55ece1 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2081 of 2081 strings)

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

Translated using Weblate (Latin)

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (247 of 247 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (172 of 172 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (485 of 485 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (298 of 298 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (56 of 56 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (126 of 126 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (180 of 180 strings)

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

Translated using Weblate (Dutch)

Currently translated at 90.0% (1873 of 2081 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (77 of 77 strings)

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

Translated using Weblate (Latin)

Currently translated at 96.5% (475 of 492 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (180 of 180 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% (685 of 685 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/
2020-03-30 19:33:38 +02:00
Matteo Pagliazzi
e21f64edaf fix(exports): disable non-working code and throw errors earlier when using the xml export (#12031) 2020-03-30 19:04:55 +02:00
dependabot-preview[bot]
a08b419411 build(deps): bump webpack from 4.42.0 to 4.42.1 in /website/client (#12029)
Bumps [webpack](https://github.com/webpack/webpack) from 4.42.0 to 4.42.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.42.0...v4.42.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-03-30 10:29:18 +02:00
dependabot-preview[bot]
4a752c3347 build(deps): bump helmet from 3.21.3 to 3.22.0 (#12023)
Bumps [helmet](https://github.com/helmetjs/helmet) from 3.21.3 to 3.22.0.
- [Release notes](https://github.com/helmetjs/helmet/releases)
- [Changelog](https://github.com/helmetjs/helmet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/helmetjs/helmet/compare/v3.21.3...v3.22.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-03-30 10:28:10 +02:00
dependabot-preview[bot]
8609aae1b4 build(deps): bump aws-sdk from 2.643.0 to 2.648.0 (#12024)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.643.0 to 2.648.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.643.0...v2.648.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-03-30 10:27:59 +02:00
dependabot-preview[bot]
d35fd9d90d build(deps): bump bootstrap-vue from 2.8.0 to 2.9.0 in /website/client (#12027)
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.8.0 to 2.9.0.
- [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.8.0...v2.9.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-03-30 10:27:23 +02:00
dependabot-preview[bot]
11103813f5 build(deps): bump mongoose from 5.9.5 to 5.9.6 (#12028)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.9.5 to 5.9.6.
- [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.9.5...5.9.6)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-30 10:26:52 +02:00
Matteo Pagliazzi
1a75c6a696 fix(gulp): do not use common code in imports when it has not been transpiled yet 2020-03-29 16:37:57 +02:00
Matteo Pagliazzi
6bef105cf6 fix(gulp): tasks order 2020-03-29 16:26:58 +02:00
Matteo Pagliazzi
3fffe7aa5c Content API Cache improvements (#12020)
* content api improvements

* add content cache to build step

* add tests
2020-03-29 16:15:23 +02:00
Matteo Pagliazzi
9ab9b0f553 IP Blocking (#12015)
* start implementing an ip blocker

* fix comments and add to list of middlewares

* fix code, comment code and improve response

* wip tests

* fix order

* fixes and tests
2020-03-28 15:44:54 +01:00
Melior
a00add46a7 Merge branch 'origin/develop' into Weblate. 2020-03-26 21:18:04 +01:00
Melior
b9d8da44de Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (357 of 357 strings)

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

Translated using Weblate (Latin)

Currently translated at 97.4% (75 of 77 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (492 of 492 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% (328 of 328 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (77 of 77 strings)

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

Translated using Weblate (Dutch)

Currently translated at 89.9% (1871 of 2081 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2081 of 2081 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% (172 of 172 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (685 of 685 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (77 of 77 strings)

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

Translated using Weblate (Dutch)

Currently translated at 89.4% (1862 of 2081 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (77 of 77 strings)

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

Merge branch 'origin/develop' into Weblate.

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Dutch)

Currently translated at 99.5% (246 of 247 strings)

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

Translated using Weblate (Dutch)

Currently translated at 90.6% (224 of 247 strings)

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

Translated using Weblate (Dutch)

Currently translated at 94.1% (162 of 172 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (6 of 6 strings)

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

Translated using Weblate (Dutch)

Currently translated at 89.0% (1853 of 2081 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (134 of 134 strings)

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

Translated using Weblate (Swedish)

Currently translated at 99.4% (512 of 515 strings)

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

Translated using Weblate (Swedish)

Currently translated at 99.2% (511 of 515 strings)

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

Translated using Weblate (Swedish)

Currently translated at 88.3% (68 of 77 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (180 of 180 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (2081 of 2081 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (77 of 77 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (357 of 357 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (180 of 180 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2081 of 2081 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2081 of 2081 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.7% (2076 of 2081 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.7% (2075 of 2081 strings)

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

Translated using Weblate (Latin)

Currently translated at 30.7% (44 of 143 strings)

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

Translated using Weblate (Latin)

Currently translated at 87.1% (449 of 515 strings)

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

Translated using Weblate (Latin)

Currently translated at 98.7% (76 of 77 strings)

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

Translated using Weblate (French)

Currently translated at 99.4% (179 of 180 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.6% (2053 of 2081 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 82.7% (149 of 180 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (27 of 27 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 98.6% (2053 of 2081 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.6% (2053 of 2081 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (56 of 56 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Dutch)

Currently translated at 98.6% (141 of 143 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 82.7% (149 of 180 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (180 of 180 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% (180 of 180 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (180 of 180 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2081 of 2081 strings)

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

Translated using Weblate (Dutch)

Currently translated at 88.7% (1847 of 2081 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (2081 of 2081 strings)

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

Translated using Weblate (English (Pirate))

Currently translated at 87.2% (1816 of 2081 strings)

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

Translated using Weblate (Dutch)

Currently translated at 95.7% (656 of 685 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (357 of 357 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (357 of 357 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% (357 of 357 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (357 of 357 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (357 of 357 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (230 of 230 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (77 of 77 strings)

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

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (77 of 77 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Portuguese)

Currently translated at 92.8% (196 of 211 strings)

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

Translated using Weblate (Dutch)

Currently translated at 100.0% (211 of 211 strings)

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

Merge branch 'origin/develop' into Weblate.

Translated using Weblate (Japanese)

Currently translated at 100.0% (134 of 134 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (211 of 211 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% (6 of 6 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (685 of 685 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (685 of 685 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (685 of 685 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (77 of 77 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (77 of 77 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (77 of 77 strings)

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

Translated using Weblate (English (Pirate))

Currently translated at 96.1% (74 of 77 strings)

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

Translated using Weblate (German)

Currently translated at 97.4% (75 of 77 strings)

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

Translated using Weblate (Latin)

Currently translated at 94.3% (199 of 211 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (211 of 211 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% (140 of 140 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (172 of 172 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (6 of 6 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Latin)

Currently translated at 91.2% (157 of 172 strings)

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

Translated using Weblate (Latin)

Currently translated at 98.6% (227 of 230 strings)

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

Translated using Weblate (Latin)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Latin)

Currently translated at 81.7% (202 of 247 strings)

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

Translated using Weblate (Latin)

Currently translated at 90.7% (127 of 140 strings)

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

Translated using Weblate (Latin)

Currently translated at 94.0% (63 of 67 strings)

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

Translated using Weblate (Latin)

Currently translated at 86.8% (152 of 175 strings)

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

Translated using Weblate (Latin)

Currently translated at 96.5% (475 of 492 strings)

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

Translated using Weblate (Latin)

Currently translated at 98.9% (295 of 298 strings)

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

Translated using Weblate (Latin)

Currently translated at 84.9% (1745 of 2053 strings)

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

Translated using Weblate (Latin)

Currently translated at 100.0% (70 of 70 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (172 of 172 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (77 of 77 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (211 of 211 strings)

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

Merge branch 'origin/develop' into Weblate.

Translated using Weblate (Japanese)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (685 of 685 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Dutch)

Currently translated at 89.5% (1839 of 2053 strings)

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

Translated using Weblate (Swedish)

Currently translated at 94.6% (53 of 56 strings)

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

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 (Portuguese (Brazil))

Currently translated at 100.0% (685 of 685 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (685 of 685 strings)

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

Translated using Weblate (Czech)

Currently translated at 86.4% (64 of 74 strings)

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

Merge branch 'origin/develop' into Weblate.

Translated using Weblate (Latin)

Currently translated at 87.1% (449 of 515 strings)

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

Translated using Weblate (French)

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Vietnamese)

Currently translated at 48.6% (36 of 74 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (143 of 143 strings)

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

Translated using Weblate (Japanese)

Currently translated at 99.3% (142 of 143 strings)

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

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% (492 of 492 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% (6 of 6 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2053 of 2053 strings)

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

Translated using Weblate (Dutch)

Currently translated at 98.2% (55 of 56 strings)

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

Translated using Weblate (Japanese)

Currently translated at 91.8% (68 of 74 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Vietnamese)

Currently translated at 25.6% (19 of 74 strings)

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

Translated using Weblate (Vietnamese)

Currently translated at 87.3% (311 of 356 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (492 of 492 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (6 of 6 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (328 of 328 strings)

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

Translated using Weblate (Dutch)

Currently translated at 96.4% (54 of 56 strings)

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

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% (356 of 356 strings)

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

Translated using Weblate (Swedish)

Currently translated at 89.1% (66 of 74 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (211 of 211 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/de/
2020-03-26 21:17:54 +01:00
Sabe Jones
947e8a1836 4.138.2 2020-03-26 15:15:42 -05:00
Sabe Jones
7bdc974704 Merge branch 'develop' into release 2020-03-26 15:15:38 -05:00
Sabe Jones
fe8780d49c chore(news): Bailey 2020-03-26 15:15:25 -05:00
Matteo Pagliazzi
2fc4d0f00c fix(logger): only two arguments to logger when logging an unhandled promise rejection 2020-03-26 17:10:19 +01:00
inftp
eb4e382ecf stop 'pts' from overflowing to next line 2020-03-26 14:52:25 +11:00
Matteo Pagliazzi
4300c7b1bf Merge branch 'develop' of github.com:HabitRPG/habitica into develop 2020-03-24 20:31:27 +01:00
Matteo Pagliazzi
2cd0ed5973 fix(logger): improve logging and make sure no data is lost 2020-03-24 20:29:31 +01:00
Sabe Jones
6e8bdf4cdf Merge branch 'release' into develop 2020-03-24 13:14:15 -05:00
Sabe Jones
0bac1102cc 4.138.1 2020-03-24 13:13:55 -05:00
Sabe Jones
3e96e54ad8 feat(event): eggy eggy 2020-03-24 13:13:50 -05:00
Matteo Pagliazzi
3458d89c1d fix(webhook tests): do not rely on toLocaleString when checking for two dates to be close 2020-03-24 12:28:15 +01:00
Denys Dorokhov
25e72ad907 Reward with negative cost can no longer be created, fixes #11855 (#11870)
* Minor refactoring in scoreTask.js

* Reward value validation added (should be >= 0)
2020-03-24 12:10:10 +01:00
Bence László
5cf6a67a36 (website/client/src/components/settings/site.vue): Fix refresh the de-register social media buttons. (#11992) 2020-03-23 17:49:00 +01:00
Matteo Pagliazzi
9dcce382a3 fix(webhook tests): more reliable date test 2020-03-23 17:17:27 +01:00
chan_gami
f6484c872a Fixes Japanese conversion bugs on Safari and Chrome (#11917)
decided to fix using flags since KeyboardEvent.isComposing behaves differently depending on the browser
2020-03-23 16:35:17 +01:00
Alys
249ba77c01 edit string to say Pet Food, not food (#11994)
Also capitalise terms that are usually capitalised these days.
2020-03-23 16:32:37 +01:00
dependabot-preview[bot]
7ff590cd88 build(deps): bump mongoose from 5.9.3 to 5.9.5 (#12001)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.9.3 to 5.9.5.
- [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.9.3...5.9.5)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-23 10:58:24 +01:00
dependabot-preview[bot]
f297fef89e build(deps): bump @babel/preset-env from 7.8.7 to 7.9.0 (#12007)
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.8.7 to 7.9.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.7...v7.9.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-03-23 10:49:47 +01:00
dependabot-preview[bot]
b037cb0722 build(deps): bump @babel/register from 7.8.6 to 7.9.0 (#12009)
Bumps [@babel/register](https://github.com/babel/babel) from 7.8.6 to 7.9.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.6...v7.9.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-03-23 10:36:18 +01:00
dependabot-preview[bot]
b8c58a7e4f build(deps): bump morgan from 1.9.1 to 1.10.0 (#12000)
Bumps [morgan](https://github.com/expressjs/morgan) from 1.9.1 to 1.10.0.
- [Release notes](https://github.com/expressjs/morgan/releases)
- [Changelog](https://github.com/expressjs/morgan/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/morgan/compare/1.9.1...1.10.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-03-23 10:35:30 +01:00
dependabot-preview[bot]
f973bf1038 build(deps): [security] bump acorn in /website/client (#11996)
Bumps [acorn](https://github.com/acornjs/acorn) from 6.3.0 to 6.4.1. **This update includes a security fix.**
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](https://github.com/acornjs/acorn/compare/6.3.0...6.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>
2020-03-23 10:35:10 +01:00
dependabot-preview[bot]
aaea985cf2 build(deps): bump bootstrap-vue from 2.7.0 to 2.8.0 in /website/client (#11997)
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.7.0 to 2.8.0.
- [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.7.0...v2.8.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-03-23 10:34:57 +01:00
dependabot-preview[bot]
1d0e08419f build(deps): bump @babel/core from 7.8.7 to 7.9.0 (#12003)
Bumps [@babel/core](https://github.com/babel/babel) from 7.8.7 to 7.9.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.7...v7.9.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-03-23 10:34:20 +01:00
dependabot-preview[bot]
fd6244eb15 build(deps): bump aws-sdk from 2.639.0 to 2.643.0 (#12004)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.639.0 to 2.643.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.639.0...v2.643.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-03-23 10:34:03 +01:00
Matteo Pagliazzi
f8aa756d52 Disable Failing Webhooks (#11966)
* todo comment

* add failures field to webhooks and sanitize

* implement logic

* use update instead of save

* specify timeout and maximum number of retries

* add tests
2020-03-20 23:26:21 +01:00
Matteo Pagliazzi
ae7df804cb fix(promise): make sure every promise is handled 2020-03-20 20:07:13 +01:00
Sabe Jones
de37eb1bb2 Merge branch 'release' into develop 2020-03-19 08:12:00 -05:00
Sabe Jones
cf03261bbf 4.138.0 2020-03-19 08:11:37 -05:00
Sabe Jones
3ec95ad821 fix(event): feature something from 2020 2020-03-19 08:11:30 -05:00
Sabe Jones
57d11d5b20 Merge branch 'develop' into release 2020-03-19 08:10:56 -05:00
Matteo Pagliazzi
039e7d40b8 fix(tests): do not rely on emails order when user joins group plan 2020-03-18 23:31:01 +01:00
Matteo Pagliazzi
4389a9b478 Merge branch 'release' into develop 2020-03-18 20:39:14 +01:00
Matteo Pagliazzi
289032047c 4.137.1 2020-03-18 19:39:37 +01:00
Matteo Pagliazzi
6f5515214a update mongoose options 2020-03-18 19:36:10 +01:00
Sabe Jones
fd2c4e3265 fix(sprites): CUBBB 2020-03-18 13:35:53 -05:00
Matteo Pagliazzi
dd91bada8f Merge branch 'release' into develop 2020-03-18 19:30:11 +01:00
Matteo Pagliazzi
d724933640 update mongoose options 2020-03-18 19:20:09 +01:00
Sabe Jones
e4b74bc347 fix(content): feature shinies 2020-03-18 11:15:49 -05:00
Sabe Jones
c609db09c1 fix(content): feature shinies 2020-03-18 11:15:10 -05:00
Sabe Jones
55feebdf9e Merge branch 'release' into develop 2020-03-17 15:36:35 -05:00
Sabe Jones
d8a99647e7 chore(sprites): compile 2020-03-17 15:35:49 -05:00
Sabe Jones
353b4aed05 feat(content): Magic Hatching Potions 2020-03-17 15:35:38 -05:00
Sabe Jones
411f82202b feat(content): Spring Fling 2020 2020-03-17 14:49:22 -05:00
Sabe Jones
5a5a6e4c5d feat(content): Spring Fling 2020 2020-03-17 14:48:49 -05:00
Sabe Jones
914eee015e Merge branch 'release' into develop 2020-03-17 09:12:29 -05:00
Sabe Jones
bbbc06733b 4.137.0 2020-03-17 09:12:06 -05:00
Sabe Jones
92c3a640ee feat(content): Bug Bonanza achievement 2020-03-17 09:11:41 -05:00
tsukimi2
a301f817e9 Fix for party members missing from header after viewing private messages / inbox / PMs (#11912)
* Fix bug in missing party members in app header

* Modified by running lint

* Change code for handling missing party members in app header from within computed hiddenHeader property to watcher function on hiddenHeader

Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 22:17:52 +01:00
tsukimi2
519af8f1b6 Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903)
* Fix bug to allow guild summary and description to match against search term in MyGuilds component

* Add unit test to groupUtilities to test filterGroup function

* Changes made after running npm:run:lint

* Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000

According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members.  However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members.  Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members.

* Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue

* Add unit testing to test search guild name, summary, and description in myGuilds component

* Add suggestions from lint

* Added searching by guild summary and white space handling in search terms.

For discover guilds component, added the following:
1) handling of searching by guild summary
2) preventing white space in search terms to display all guilds
3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds.

* Remove console statements from test file

* Implement suggestions from lint.

Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 20:03:48 +01:00
dependabot-preview[bot]
a71abea032 build(deps): bump @storybook/addon-knobs in /website/client (#11977)
Bumps [@storybook/addon-knobs](https://github.com/storybookjs/storybook/tree/HEAD/addons/knobs) from 5.3.14 to 5.3.17.
- [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/v5.3.17/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>
2020-03-16 15:26:27 +01:00
dependabot-preview[bot]
3c623b08c4 build(deps): [security] bump acorn from 6.3.0 to 6.4.1 (#11970)
Bumps [acorn](https://github.com/acornjs/acorn) from 6.3.0 to 6.4.1. **This update includes a security fix.**
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](https://github.com/acornjs/acorn/compare/6.3.0...6.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>
2020-03-16 15:24:30 +01:00
dependabot-preview[bot]
ddfa3f8a91 build(deps): bump @storybook/vue in /website/client (#11984)
Bumps [@storybook/vue](https://github.com/storybookjs/storybook/tree/HEAD/app/vue) from 5.3.14 to 5.3.17.
- [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/v5.3.17/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>
2020-03-16 15:22:52 +01:00
dependabot-preview[bot]
e2d1de0cf0 build(deps): bump @storybook/addon-links in /website/client (#11975)
Bumps [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/addons/links) from 5.3.14 to 5.3.17.
- [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/v5.3.17/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>
2020-03-16 15:22:36 +01:00
dependabot-preview[bot]
9281de1801 build(deps): bump regenerator-runtime from 0.13.3 to 0.13.5 (#11976)
Bumps [regenerator-runtime](https://github.com/facebook/regenerator) from 0.13.3 to 0.13.5.
- [Release notes](https://github.com/facebook/regenerator/releases)
- [Commits](https://github.com/facebook/regenerator/compare/regenerator-runtime@0.13.3...regenerator-runtime@0.13.5)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-16 15:20:11 +01:00
dependabot-preview[bot]
4960171565 build(deps): bump sass from 1.26.2 to 1.26.3 in /website/client (#11973)
Bumps [sass](https://github.com/sass/dart-sass) from 1.26.2 to 1.26.3.
- [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.26.2...1.26.3)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-16 15:19:54 +01:00
dependabot-preview[bot]
d063a57faa build(deps): bump aws-sdk from 2.635.0 to 2.639.0 (#11978)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.635.0 to 2.639.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.635.0...v2.639.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-03-16 15:19:41 +01:00
dependabot-preview[bot]
0960eaf571 build(deps): bump amplitude-js from 5.9.0 to 5.10.0 in /website/client (#11979)
Bumps [amplitude-js](https://github.com/amplitude/amplitude-javascript) from 5.9.0 to 5.10.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/v5.9.0...v5.10.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-03-16 15:19:33 +01:00
dependabot-preview[bot]
fd0ec41c53 build(deps): bump vue2-perfect-scrollbar in /website/client (#11983)
Bumps [vue2-perfect-scrollbar](https://github.com/mercs600/vue2-perfect-scrollbar) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/mercs600/vue2-perfect-scrollbar/releases)
- [Commits](https://github.com/mercs600/vue2-perfect-scrollbar/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-03-16 15:18:53 +01:00
dependabot-preview[bot]
1420e1c8d7 build(deps): bump bootstrap-vue from 2.6.1 to 2.7.0 in /website/client (#11985)
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.6.1 to 2.7.0.
- [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.6.1...v2.7.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-03-16 15:18:40 +01:00
Matteo Pagliazzi
c7c854664f build(deps): bump @storybook/addon-notes in /website/client (#11986)
Bumps [@storybook/addon-notes](https://github.com/storybookjs/storybook/tree/HEAD/addons/notes) from 5.3.14 to 5.3.17.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v5.3.17/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v5.3.17/addons/notes)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-16 15:18:31 +01:00
dependabot-preview[bot]
68e5679340 build(deps): bump @storybook/addon-actions in /website/client (#11987)
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 5.3.14 to 5.3.17.
- [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/v5.3.17/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>
2020-03-16 15:18:25 +01:00
dependabot-preview[bot]
32a9dda2c6 build(deps): bump @storybook/addon-notes in /website/client
Bumps [@storybook/addon-notes](https://github.com/storybookjs/storybook/tree/HEAD/addons/notes) from 5.3.14 to 5.3.17.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v5.3.17/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v5.3.17/addons/notes)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-16 08:29:26 +00:00
Sabe Jones
8b19c0ad69 Merge branch 'release' into develop 2020-03-14 06:50:23 -05:00
Sabe Jones
bb8bd8842d 4.136.4 2020-03-14 06:49:55 -05:00
Alys
33e8b64df6 remove excess 'the' from two locales strings 2020-03-14 20:47:50 +10:00
Matteo Pagliazzi
1411706963 fix(party members): clone array to avoid infinite loops, fixes #11969 2020-03-13 23:48:10 +01:00
Sabe Jones
e94631a002 fix(test): food expectation, sigh 2020-03-13 11:10:28 -05:00
Sabe Jones
427251ed1d fix(test): food expectation, sigh 2020-03-13 11:10:08 -05:00
Sabe Jones
39bb60638f feat(content): Pi Day 2020 2020-03-13 10:59:52 -05:00
Sabe Jones
71e34e654c 4.136.3 2020-03-12 14:53:11 -05:00
Matteo Pagliazzi
f01aba15be fix(lint): run npm lint to fix formatting 2020-03-11 13:04:03 +01:00
Melior
fd4e760c05 Merge branch 'origin/develop' into Weblate. 2020-03-10 20:32:00 +01:00
Melior
b5ed65b164 Translated using Weblate (Latin)
Currently translated at 98.6% (227 of 230 strings)

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

Translated using Weblate (Vietnamese)

Currently translated at 17.5% (13 of 74 strings)

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

Translated using Weblate (Japanese)

Currently translated at 98.6% (141 of 143 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (298 of 298 strings)

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

Translated using Weblate (Latin)

Currently translated at 100.0% (74 of 74 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (143 of 143 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (143 of 143 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 99.3% (142 of 143 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/ru/

Translated using Weblate (French)

Currently translated at 100.0% (143 of 143 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/fr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (143 of 143 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (143 of 143 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (172 of 172 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (172 of 172 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% (172 of 172 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (172 of 172 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/fr/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/zh_Hans/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (172 of 172 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/en_GB/

Translated using Weblate (Russian)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/ru/

Translated using Weblate (French)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/fr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (172 of 172 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/de/

Translated using Weblate (Russian)

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/ru/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (27 of 27 strings)

Translation: Habitica/Loginincentives
Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (492 of 492 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hant/

Translated using Weblate (French)

Currently translated at 100.0% (492 of 492 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/fr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (492 of 492 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (492 of 492 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (6 of 6 strings)

Translation: Habitica/Inventory
Translate-URL: https://translate.habitica.com/projects/habitica/inventory/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (6 of 6 strings)

Translation: Habitica/Inventory
Translate-URL: https://translate.habitica.com/projects/habitica/inventory/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (6 of 6 strings)

Translation: Habitica/Inventory
Translate-URL: https://translate.habitica.com/projects/habitica/inventory/ru/

Translated using Weblate (French)

Currently translated at 100.0% (6 of 6 strings)

Translation: Habitica/Inventory
Translate-URL: https://translate.habitica.com/projects/habitica/inventory/fr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (6 of 6 strings)

Translation: Habitica/Inventory
Translate-URL: https://translate.habitica.com/projects/habitica/inventory/en_GB/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.6% (2046 of 2053 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Dutch)

Currently translated at 89.4% (1836 of 2053 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/pt_BR/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 96.4% (54 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/ru/

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 (English (United Kingdom))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/de/

Translated using Weblate (Japanese)

Currently translated at 97.0% (665 of 685 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/pt_BR/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/en_GB/

Translated using Weblate (Russian)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/ru/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/en@pirate/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (515 of 515 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt_BR/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (74 of 74 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (74 of 74 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 98.6% (73 of 74 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (74 of 74 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/pt_BR/

Translated using Weblate (Dutch)

Currently translated at 100.0% (74 of 74 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/nl/

Translated using Weblate (French)

Currently translated at 100.0% (74 of 74 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/fr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (74 of 74 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (74 of 74 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/de/

Translated using Weblate (Russian)

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ru/

Translated using Weblate (French)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/fr/

Translated using Weblate (French)

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/fr/

Translated using Weblate (German)

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/de/

Translated using Weblate (French)

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/fr/

Translated using Weblate (Russian)

Currently translated at 100.0% (212 of 212 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ru/

Translated using Weblate (German)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/de/

Translated using Weblate (German)

Currently translated at 99.5% (490 of 492 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/de/

Translated using Weblate (German)

Currently translated at 100.0% (6 of 6 strings)

Translation: Habitica/Inventory
Translate-URL: https://translate.habitica.com/projects/habitica/inventory/de/

Translated using Weblate (German)

Currently translated at 96.4% (54 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/de/

Translated using Weblate (German)

Currently translated at 97.2% (72 of 74 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/de/

Translated using Weblate (Dutch)

Currently translated at 89.2% (1833 of 2053 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hans/

Translated using Weblate (Turkish)

Currently translated at 71.8% (51 of 71 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/tr/

Translated using Weblate (Korean)

Currently translated at 37.4% (55 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/ko/

Translated using Weblate (Korean)

Currently translated at 12.5% (41 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/ko/

Translated using Weblate (Vietnamese)

Currently translated at 98.9% (295 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/vi/

Translated using Weblate (Korean)

Currently translated at 84.8% (1742 of 2053 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ko/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (247 of 247 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (Dutch)

Currently translated at 85.0% (210 of 247 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (489 of 489 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/nl/

Translated using Weblate (Dutch)

Currently translated at 89.1% (1831 of 2053 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (French)

Currently translated at 100.0% (2053 of 2053 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (Czech)

Currently translated at 96.8% (122 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/cs/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (515 of 515 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/fr/

Translated using Weblate (Icelandic)

Currently translated at 100.0% (4 of 4 strings)

Translation: Habitica/Noscript
Translate-URL: https://translate.habitica.com/projects/habitica/noscript/is/

Translated using Weblate (Icelandic)

Currently translated at 100.0% (12 of 12 strings)

Translation: Habitica/Merch
Translate-URL: https://translate.habitica.com/projects/habitica/merch/is/

Translated using Weblate (Icelandic)

Currently translated at 16.9% (12 of 71 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/is/

Translated using Weblate (Dutch)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/nl/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hans/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/en@pirate/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hans/

Translated using Weblate (Dutch)

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/nl/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (147 of 147 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% (172 of 172 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/en@pirate/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (175 of 175 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hant/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (175 of 175 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/en_GB/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 99.7% (488 of 489 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ru/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2053 of 2053 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2053 of 2053 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2053 of 2053 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 99.3% (2040 of 2053 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Dutch)

Currently translated at 88.9% (1827 of 2053 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (2053 of 2053 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (2053 of 2053 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Dutch)

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/nl/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/en@pirate/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hans/

Translated using Weblate (Dutch)

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/nl/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/zh_Hans/

Translated using Weblate (Dutch)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/nl/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/en@pirate/

Translated using Weblate (Dutch)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/nl/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (515 of 515 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (515 of 515 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 98.2% (506 of 515 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (Dutch)

Currently translated at 100.0% (515 of 515 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/nl/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (515 of 515 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% (515 of 515 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en@pirate/

Translated using Weblate (German)

Currently translated at 100.0% (515 of 515 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (71 of 71 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (212 of 212 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/en@pirate/

Translated using Weblate (German)

Currently translated at 100.0% (2053 of 2053 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (German)

Currently translated at 100.0% (2053 of 2053 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (English (United Kingdom))

Currently translated at 98.6% (508 of 515 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en_GB/
2020-03-10 20:31:40 +01:00
Sabe Jones
4ee14e7c2a Merge branch 'release' into develop 2020-03-10 14:26:47 -05:00
Sabe Jones
f40fb510a9 4.136.2 2020-03-10 14:25:42 -05:00
Sabe Jones
86951916e8 feat(content): enable bug hugging 2020-03-10 14:25:30 -05:00
Matteo Pagliazzi
fde8e54783 fix(readme): remove greenkeeper badge 2020-03-10 11:45:37 +01:00
Matteo Pagliazzi
276e882092 fix(challenges): handle case where challenge has no categories or result is empty 2020-03-09 21:17:27 +01:00
Alec Brickner
88bfed7efe Ensure official challenges are listed first (fixes #11018) (#11030)
* Ensure official challenges are listed first

* Fix lint errors

* Move query creation into separate function

* switching branches

* Fixes and tests

* Formatting fixes

* Linting

* fix tests
2020-03-09 20:08:28 +01:00
Nik
0936c2ff86 Special case for member profile name. (#11918)
* Special case for member profile name.

Use a case insensitive order by

* Use of localeCompare function for name comparison
2020-03-09 17:59:30 +01:00
Nik
bdedf8f563 Fix asc/desc sort order when sorted by name (#11919)
* Fix asc/desc sort order when sorted by name

* Revert changes.

Use localeCompare but considering sort order
2020-03-09 17:56:43 +01:00
Carl Vuorinen
9220323483 Move collapseChecklist tooltip (#11954)
So that checklist items can be checked even when tooltip shown
Fixes #11888
2020-03-09 17:28:09 +01:00
Matteo Pagliazzi
80c93ad934 Merge branch 'release' into develop 2020-03-09 16:22:08 +01:00
Matteo Pagliazzi
010da977a4 fix(sign up): prevent double request to sign up route 2020-03-09 16:21:57 +01:00
Matteo Pagliazzi
b9bfb3f722 fix(logs): call split on strings only 2020-03-09 16:18:57 +01:00
Joanna Cholewa
effb66a089 Replace setUsernameNotificationBody setting with changeUsernameDisclaimer and alter disclaimer text (#11953) 2020-03-09 15:48:54 +01:00
Matteo Pagliazzi
dbdb5f81a5 Merge branch 'release' into develop 2020-03-09 15:16:22 +01:00
Matteo Pagliazzi
2062e78959 fix(logs): FCM, only log defined errors 2020-03-09 15:16:10 +01:00
Matteo Pagliazzi
018c5edfdd fix(logs): FCM, only log defined errors 2020-03-09 15:13:15 +01:00
dependabot-preview[bot]
b0a3e58d66 build(deps): bump @babel/core from 7.8.6 to 7.8.7 (#11961)
Bumps [@babel/core](https://github.com/babel/babel) from 7.8.6 to 7.8.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.6...v7.8.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-09 13:36:27 +01:00
dependabot-preview[bot]
99960da2eb build(deps): bump bootstrap-vue from 2.5.0 to 2.6.1 in /website/client (#11963)
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.5.0 to 2.6.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.5.0...v2.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>
2020-03-09 13:33:38 +01:00
dependabot-preview[bot]
8c293505c4 build(deps): bump aws-sdk from 2.630.0 to 2.635.0 (#11960)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.630.0 to 2.635.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.630.0...v2.635.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-03-09 13:33:26 +01:00
dependabot-preview[bot]
10ac99fc2e build(deps): bump @babel/preset-env from 7.8.6 to 7.8.7 (#11958)
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.8.6 to 7.8.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.6...v7.8.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-09 13:33:12 +01:00
dependabot-preview[bot]
34c7d4e3b8 build(deps): bump gulp-nodemon from 2.4.2 to 2.5.0 (#11955)
Bumps [gulp-nodemon](https://github.com/JacksonGariety/gulp-nodemon) from 2.4.2 to 2.5.0.
- [Release notes](https://github.com/JacksonGariety/gulp-nodemon/releases)
- [Commits](https://github.com/JacksonGariety/gulp-nodemon/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-03-09 13:31:51 +01:00
dependabot-preview[bot]
50d9a355b0 build(deps): bump mongoose from 5.9.2 to 5.9.3 (#11956)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.9.2 to 5.9.3.
- [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.9.2...5.9.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-09 13:31:16 +01:00
dependabot-preview[bot]
35b5285ce6 build(deps): bump eslint-plugin-vue in /website/client (#11964)
Bumps [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) from 6.2.1 to 6.2.2.
- [Release notes](https://github.com/vuejs/eslint-plugin-vue/releases)
- [Commits](https://github.com/vuejs/eslint-plugin-vue/compare/v6.2.1...v6.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-09 13:30:18 +01:00
Sabe Jones
2001b27c26 fix(test): comment unreliable error message 2020-03-07 13:31:50 -06:00
Sabe Jones
7064b363e0 fix(test): comment unreliable error message 2020-03-07 13:31:31 -06:00
Sabe Jones
c5147a696d 4.136.1 2020-03-07 13:18:39 -06:00
Sabe Jones
bd8e67a2ea Adventure Guide Prep (#11883)
* WIP(adventure): prereqs

* WIP(drops): new modal

* WIP(adventure): analytics fixes etc

* feat(adventure): random egg+potion on 2nd task

* fix(lint): noworkies

* fix(modal): correctly construct classes

* fix(tests): expectations and escape

* fix(first-drops): address comments

* fix(first-drops): don't give random drops until first drops

* fix(drops): remove more Level 3 references

* refactor(drops): no need for cloning

* refactor(drops): unnecessary export

* fix(first-drops): force sync

* fix(first-drops): move to server

* fix(first-drops): escape in case we get here with >0 items

* fix(lint): line length

* fix(pet-food): remove unused string
2020-03-07 13:03:13 -06:00
Matteo Pagliazzi
db1bda1bcd tests(message model): add unit tests 2020-03-04 17:51:14 +01:00
negue
fe6c21800c Fixing layout issues for the private messages page (#11766)
* fix: first batch of layout issues for private messages + auto sizing textarea

* username second line - open profile on face-avatar/conversation name - fix textarea height

* refresh on sync

* new "you dont have any messages" style + changed min textarea height

* new conversationItem style / layout

* reset message unread on reload

* fix styles / textarea height

* list optOut / chatRevoked informations for each conversation + show why its disabled

* Block / Unblock - correct disabled states - $gray-200 instead of 300/400

* canReceive not checking chatRevoked

* fix: faceAvatar / userLink open the selected conversation user

* check if the target user is blocking the logged-in user

* check if blocks is undefined

* max-height instead of height

* fix "no messages" state + canReceive on a new conversation

* fixed conversations width (280px on max 768 width page)

* call autosize after message is sent

* only color the placeholder

* only load the current user avatar/settings/flags

* show only the current avatar on private messages
2020-03-04 17:50:08 +01:00
Matteo Pagliazzi
2ff9dfe965 Fix username links resulting in truncated chat messages (#11945)
* introduce MAX_MESSAGE_LENGTH constant

* add test

* fix path

* fix and tests

* fix typo in tests
2020-03-04 11:49:14 +01:00
Melior
75068ceb9e Merge branch 'origin/develop' into Weblate. 2020-03-03 23:20:08 +01:00
Melior
462eac2599 Translated using Weblate (Latin)
Currently translated at 88.3% (449 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/la/

Translated using Weblate (Dutch)

Currently translated at 94.2% (479 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/nl/

Translated using Weblate (Japanese)

Currently translated at 100.0% (212 of 212 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ja/
2020-03-03 23:19:11 +01:00
Sabe Jones
3fe307f6ea Merge branch 'release' into develop 2020-03-03 16:15:52 -06:00
Sabe Jones
bb418da91f 4.136.0 2020-03-03 16:12:57 -06:00
Sabe Jones
08856ecc9f chore(news): nother Bailey 2020-03-03 16:12:30 -06:00
Sabe Jones
9e925513b0 Merge branch 'sabrecat/armoire-202003' into release 2020-03-03 15:28:05 -06:00
Melior
d747e97cea Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (247 of 247 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (247 of 247 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (247 of 247 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (247 of 247 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (247 of 247 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (247 of 247 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2045 of 2045 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2045 of 2045 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2045 of 2045 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% (2045 of 2045 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (2045 of 2045 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (2045 of 2045 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (2045 of 2045 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/pt_BR/
2020-03-02 23:41:14 +01:00
Sabe Jones
bccd8e0000 Merge branch 'release' into develop 2020-03-02 16:21:24 -06:00
Sabe Jones
1035af0d25 4.135.1 2020-03-02 16:20:56 -06:00
Sabe Jones
80b302c997 chore(news): Bailey 2020-03-02 16:20:48 -06:00
Matteo Pagliazzi
f448c8cdfb Merge branch 'MynahMarie-fix_addlNotes' into develop 2020-03-02 22:42:48 +01:00
Matteo Pagliazzi
77195c64cf add missing june2018 string 2020-03-02 22:42:28 +01:00
Matteo Pagliazzi
1efc030544 Merge branch 'fix_addlNotes' of https://github.com/MynahMarie/habitica into MynahMarie-fix_addlNotes 2020-03-02 22:38:58 +01:00
tsukimi2
5ad30e815a Change where members info is retrieved in Group component: Fixes #11737 (#11886)
* Change where members info is retrieved in Group component.

In Group component, changes the place where members data is retrieved from the load function originally to within the watch group function, so that when group data has changed, the code will update the corresponding members data as well.

* Moving the code for loading members data from watcher to inside fetchGuilds function

* Complying with lint

Co-authored-by: kazekunGb <eynsan@yahoo.co.uk>
Co-authored-by: Matteo Pagliazzi <matteopagliazzi@gmail.com>
2020-03-02 22:09:53 +01:00
Alec Brickner
966bcf8010 Ensure first-time purchases are synced (#11915)
* Ensure first-time purchases are synced

* whitespace commit to trigger tests

* Undo whitespace commit

* more whitespace

* remove the whitespace
2020-03-02 21:34:23 +01:00
Sabe Jones
8ebda9f7bd fix(content): missing strings 2020-03-02 07:47:04 -06:00
Sabe Jones
6192b563e9 chore(sprites): compile 2020-03-02 07:33:03 -06:00
Sabe Jones
6763e178d4 feat(content): armoire and Bee Gees 2020-03-02 07:32:53 -06:00
Matteo Pagliazzi
6a9025200c fix(logs): disable colors in production logs 2020-03-02 11:33:11 +01:00
Matteo Pagliazzi
4e3481445c fix(logs): log text message in production 2020-03-02 11:20:56 +01:00
Matteo Pagliazzi
8300464cfc Merge pull request #11887 from HabitRPG/stackdriver-winston
Logs improvements
2020-03-02 11:05:15 +01:00
Matteo Pagliazzi
abb4899552 Merge pull request #11916 from HabitRPG/fix-corrupt-data
Fix corrupt data
2020-03-02 11:03:32 +01:00
Matteo Pagliazzi
90f88c42f6 remove console.log 2020-03-02 10:26:21 +01:00
Matteo Pagliazzi
a4f84342ca build(deps): bump @storybook/addon-actions in /website/client (#11929)
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 5.3.13 to 5.3.14.
- [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/v5.3.14/addons/actions)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 10:18:24 +01:00
dependabot-preview[bot]
a90d1187e0 build(deps): bump @vue/cli-plugin-unit-mocha in /website/client (#11937)
Bumps [@vue/cli-plugin-unit-mocha](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-unit-mocha) from 4.2.2 to 4.2.3.
- [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.2.3/packages/@vue/cli-plugin-unit-mocha)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 10:18:17 +01:00
dependabot-preview[bot]
88b130a219 build(deps): bump @storybook/addon-actions in /website/client
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 5.3.13 to 5.3.14.
- [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/v5.3.14/addons/actions)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 09:17:33 +00:00
dependabot-preview[bot]
637e179951 build(deps): bump @vue/cli-plugin-eslint in /website/client (#11928)
Bumps [@vue/cli-plugin-eslint](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-eslint) from 4.2.2 to 4.2.3.
- [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.2.3/packages/@vue/cli-plugin-eslint)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 10:16:38 +01:00
dependabot-preview[bot]
49e0077c67 build(deps): bump @babel/preset-env from 7.8.4 to 7.8.6 (#11927)
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.8.4 to 7.8.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.4...v7.8.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 10:15:02 +01:00
dependabot-preview[bot]
0787582e58 build(deps): bump @storybook/addon-notes in /website/client (#11933)
Bumps [@storybook/addon-notes](https://github.com/storybookjs/storybook/tree/HEAD/addons/notes) from 5.3.13 to 5.3.14.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v5.3.14/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v5.3.14/addons/notes)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 10:14:02 +01:00
dependabot-preview[bot]
1c942eb8f3 build(deps): bump @storybook/addon-knobs in /website/client (#11932)
Bumps [@storybook/addon-knobs](https://github.com/storybookjs/storybook/tree/HEAD/addons/knobs) from 5.3.13 to 5.3.14.
- [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/v5.3.14/addons/knobs)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 10:13:50 +01:00
dependabot-preview[bot]
d67f6ae471 build(deps): bump aws-sdk from 2.624.0 to 2.630.0 (#11922)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.624.0 to 2.630.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.624.0...v2.630.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 10:11:49 +01:00
dependabot-preview[bot]
55baed38b5 build(deps): bump @babel/core from 7.8.4 to 7.8.6 (#11923)
Bumps [@babel/core](https://github.com/babel/babel) from 7.8.4 to 7.8.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.4...v7.8.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 10:11:41 +01:00
dependabot-preview[bot]
7ef55d0283 build(deps): bump helmet from 3.21.2 to 3.21.3 (#11926)
Bumps [helmet](https://github.com/helmetjs/helmet) from 3.21.2 to 3.21.3.
- [Release notes](https://github.com/helmetjs/helmet/releases)
- [Changelog](https://github.com/helmetjs/helmet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/helmetjs/helmet/compare/v3.21.2...v3.21.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 10:11:24 +01:00
dependabot-preview[bot]
8fac74e812 build(deps): bump @babel/register from 7.8.3 to 7.8.6 (#11921)
Bumps [@babel/register](https://github.com/babel/babel) from 7.8.3 to 7.8.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.3...v7.8.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 10:11:13 +01:00
dependabot-preview[bot]
3f2d1bf430 build(deps): bump @vue/cli-service in /website/client (#11936)
Bumps [@vue/cli-service](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-service) from 4.2.2 to 4.2.3.
- [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.2.3/packages/@vue/cli-service)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 10:10:46 +01:00
dependabot-preview[bot]
42cfc7d851 build(deps): bump @storybook/vue in /website/client (#11934)
Bumps [@storybook/vue](https://github.com/storybookjs/storybook/tree/HEAD/app/vue) from 5.3.13 to 5.3.14.
- [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/v5.3.14/app/vue)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 10:10:32 +01:00
dependabot-preview[bot]
ef7724203e build(deps): bump sass from 1.25.0 to 1.26.2 in /website/client (#11938)
Bumps [sass](https://github.com/sass/dart-sass) from 1.25.0 to 1.26.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.25.0...1.26.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 10:10:14 +01:00
dependabot-preview[bot]
09cec21cde build(deps): bump @storybook/addon-links in /website/client (#11939)
Bumps [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/addons/links) from 5.3.13 to 5.3.14.
- [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/v5.3.14/addons/links)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 10:10:08 +01:00
dependabot-preview[bot]
fc987c11e9 build(deps): bump vue-router from 3.1.5 to 3.1.6 in /website/client (#11931)
Bumps [vue-router](https://github.com/vuejs/vue-router) from 3.1.5 to 3.1.6.
- [Release notes](https://github.com/vuejs/vue-router/releases)
- [Changelog](https://github.com/vuejs/vue-router/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-router/compare/v3.1.5...v3.1.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 10:09:54 +01:00
dependabot-preview[bot]
3678861c48 build(deps): bump @vue/cli-plugin-router in /website/client (#11935)
Bumps [@vue/cli-plugin-router](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-router) from 4.2.2 to 4.2.3.
- [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.2.3/packages/@vue/cli-plugin-router)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 10:09:30 +01:00
dependabot-preview[bot]
a6463e1fba build(deps): bump babel-eslint from 10.0.3 to 10.1.0 in /website/client (#11942)
Bumps [babel-eslint](https://github.com/babel/babel-eslint) from 10.0.3 to 10.1.0.
- [Release notes](https://github.com/babel/babel-eslint/releases)
- [Commits](https://github.com/babel/babel-eslint/compare/v10.0.3...v10.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 10:09:02 +01:00
dependabot-preview[bot]
0e4d4c2235 build(deps): bump webpack from 4.41.6 to 4.42.0 in /website/client (#11940)
Bumps [webpack](https://github.com/webpack/webpack) from 4.41.6 to 4.42.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.41.6...v4.42.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 10:08:49 +01:00
dependabot-preview[bot]
09b76008ea build(deps): bump @vue/cli-plugin-babel in /website/client (#11943)
Bumps [@vue/cli-plugin-babel](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-babel) from 4.2.2 to 4.2.3.
- [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.2.3/packages/@vue/cli-plugin-babel)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 10:08:37 +01:00
Matteo Pagliazzi
c2a79e1d7c fix tests 2020-03-01 22:37:29 +01:00
Matteo Pagliazzi
c5208f0ef6 fix tags 2020-03-01 22:21:53 +01:00
Matteo Pagliazzi
979d0c519d add final tests for push devices and notifications 2020-03-01 22:10:11 +01:00
Matteo Pagliazzi
3f5ee32684 fix invalid push devices 2020-03-01 21:49:52 +01:00
Matteo Pagliazzi
6deee0ffc8 notifications tests 2020-03-01 21:29:57 +01:00
Matteo Pagliazzi
a11e4d0512 fix lint 2020-03-01 20:53:33 +01:00
Matteo Pagliazzi
118e3580d6 refactor notifications cleanup 2020-03-01 20:06:24 +01:00
Matteo Pagliazzi
343f276705 re-enable notifications validation 2020-03-01 13:30:22 +01:00
Tom Thorpe
c00a1d74f9 Allow group links on challenge details to be opened in a new tab (#11889)
* - Use `router-link` in `groupLink` to make links that can be followed in a new tab

* - Add back the missing `if` statement that was removed in error
2020-02-29 18:46:41 +01:00
Matteo Pagliazzi
ae3f014bb2 add ability to disable console logs in prod while keeping loggly active 2020-02-29 17:48:09 +01:00
Matteo Pagliazzi
15e6cef7c4 fix tests 2020-02-29 17:40:46 +01:00
Melior
b8c2d5eb20 Merge branch 'origin/develop' into Weblate. 2020-02-28 22:32:27 +01:00
Melior
a444e876d1 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2041 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/
2020-02-28 22:32:14 +01:00
Sabe Jones
24b347af8e Merge branch 'release' into develop 2020-02-28 15:28:21 -06:00
Sabe Jones
76039020f5 4.135.0 2020-02-28 15:27:58 -06:00
Sabe Jones
cbcfb21deb chore(sprites): compile 2020-02-28 15:27:22 -06:00
Sabe Jones
f47ec3d85f feat(content): mystery set March 2020 2020-02-28 15:27:14 -06:00
dependabot-preview[bot]
517d56f9fc build(deps-dev): bump chalk from 2.4.2 to 3.0.0 (#11531)
Bumps [chalk](https://github.com/chalk/chalk) from 2.4.2 to 3.0.0.
- [Release notes](https://github.com/chalk/chalk/releases)
- [Commits](https://github.com/chalk/chalk/compare/v2.4.2...v3.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-28 19:33:38 +01:00
Matteo Pagliazzi
a5c4871183 Merge branch 'develop' into stackdriver-winston 2020-02-28 19:32:22 +01:00
Sabe Jones
aee08ba0f9 fix(bulk-email): wait 5s per 250 messages for server queue 2020-02-28 13:35:27 +00:00
Sabe Jones
e1f9cac37a fix(gdpr): forbidden domain 2020-02-28 13:30:41 +00:00
Sabe Jones
c9bb96d2be fix(gdpr): unique key fix 2020-02-28 13:30:15 +00:00
Melior
b0d86ff37b Merge branch 'origin/develop' into Weblate. 2020-02-27 22:04:57 +01:00
Melior
3f3ebeffa1 Translated using Weblate (Latin)
Currently translated at 100.0% (71 of 71 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Japanese)

Currently translated at 100.0% (172 of 172 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (489 of 489 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/ja/

Translated using Weblate (Indonesian)

Currently translated at 18.3% (13 of 71 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/id/

Translated using Weblate (Belarusian)

Currently translated at 97.3% (476 of 489 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/be/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/pt_BR/

Translated using Weblate (Russian)

Currently translated at 94.3% (232 of 246 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (172 of 172 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pt_BR/

Translated using Weblate (Russian)

Currently translated at 99.5% (487 of 489 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (489 of 489 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 99.7% (488 of 489 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

Translated using Weblate (Russian)

Currently translated at 99.8% (2037 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Russian)

Currently translated at 99.7% (683 of 685 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (685 of 685 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/

Translated using Weblate (Russian)

Currently translated at 99.4% (505 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (71 of 71 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ru/

Translated using Weblate (Russian)

Currently translated at 99.5% (211 of 212 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ru/

Translated using Weblate (German)

Currently translated at 100.0% (212 of 212 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/de/

Translated using Weblate (German)

Currently translated at 100.0% (172 of 172 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/de/

Translated using Weblate (German)

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/de/

Translated using Weblate (German)

Currently translated at 100.0% (2041 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Vietnamese)

Currently translated at 34.4% (113 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/vi/

Translated using Weblate (Vietnamese)

Currently translated at 80.7% (410 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/vi/

Translated using Weblate (Russian)

Currently translated at 92.2% (227 of 246 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (246 of 246 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pt_BR/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (246 of 246 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (246 of 246 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 99.2% (139 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/fr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/en_GB/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (172 of 172 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (172 of 172 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/fr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (172 of 172 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (172 of 172 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (489 of 489 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hant/

Translated using Weblate (Russian)

Currently translated at 99.1% (485 of 489 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (489 of 489 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (489 of 489 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/fr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (489 of 489 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hant/

Translated using Weblate (Russian)

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/fr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hant/

Translated using Weblate (Hungarian)

Currently translated at 81.2% (413 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/hu/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (71 of 71 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hant/

Translated using Weblate (Russian)

Currently translated at 97.1% (69 of 71 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (71 of 71 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (71 of 71 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/fr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (71 of 71 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (71 of 71 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (212 of 212 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (212 of 212 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 98.5% (209 of 212 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (212 of 212 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (212 of 212 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/fr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (212 of 212 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (212 of 212 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/de/

Translated using Weblate (German)

Currently translated at 100.0% (246 of 246 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/de/

Translated using Weblate (German)

Currently translated at 100.0% (246 of 246 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/de/

Translated using Weblate (German)

Currently translated at 100.0% (71 of 71 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/de/

Translated using Weblate (German)

Currently translated at 100.0% (71 of 71 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/de/

Translated using Weblate (German)

Currently translated at 100.0% (71 of 71 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/de/

Translated using Weblate (German)

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/de/

Translated using Weblate (German)

Currently translated at 100.0% (140 of 140 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/de/

Translated using Weblate (German)

Currently translated at 100.0% (489 of 489 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/de/

Translated using Weblate (German)

Currently translated at 100.0% (489 of 489 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/de/

Translated using Weblate (German)

Currently translated at 99.5% (211 of 212 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/de/

Merge branch 'origin/develop' into Weblate.

Translated using Weblate (Spanish (Latin America))

Currently translated at 90.6% (621 of 685 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% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/es_419/

Translated using Weblate (Polish)

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pl/

Translated using Weblate (Polish)

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/pl/

Translated using Weblate (Polish)

Currently translated at 100.0% (508 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pl/

Translated using Weblate (Finnish)

Currently translated at 9.5% (14 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/fi/

Translated using Weblate (Finnish)

Currently translated at 0.3% (1 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/fi/

Translated using Weblate (Finnish)

Currently translated at 99.1% (228 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/fi/

Translated using Weblate (Finnish)

Currently translated at 81.8% (416 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/fi/

Translated using Weblate (Finnish)

Currently translated at 92.0% (127 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/fi/

Translated using Weblate (Finnish)

Currently translated at 64.6% (42 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/fi/

Translated using Weblate (Finnish)

Currently translated at 85.4% (1744 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fi/

Translated using Weblate (Finnish)

Currently translated at 98.5% (208 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/fi/

Translated using Weblate (Spanish (Latin America))

Currently translated at 85.4% (585 of 685 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% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (27 of 27 strings)

Translation: Habitica/Loginincentives
Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/es_419/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (233 of 233 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/en@pirate/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (171 of 171 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% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 99.1% (228 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/es_419/

Translated using Weblate (Dutch)

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/nl/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/zh_Hans/

Translated using Weblate (English (Pirate))

Currently translated at 91.3% (159 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/en@pirate/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/en@pirate/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2041 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hans/

Translated using Weblate (Dutch)

Currently translated at 99.6% (327 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/nl/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (685 of 685 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Dutch)

Currently translated at 99.7% (355 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/nl/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hans/

Translated using Weblate (Dutch)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/nl/

Translated using Weblate (Finnish)

Currently translated at 85.4% (1744 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fi/

Translated using Weblate (Spanish (Latin America))

Currently translated at 85.2% (584 of 685 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 85.2% (584 of 685 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es_419/
2020-02-27 22:04:41 +01:00
Sabe Jones
1bb337d235 4.134.4 2020-02-27 15:00:52 -06:00
Sabe Jones
07d6969764 Merge branch 'develop' into release 2020-02-27 15:00:46 -06:00
Sabe Jones
5807db9053 chore(news): Last Chance Bailey 2020-02-27 15:00:33 -06:00
Matteo Pagliazzi
a5a91a3a9c 4.134.3 2020-02-27 14:38:26 +01:00
Matteo Pagliazzi
3650426edc fix(task): hotfix for when task.attribute is sent as null 2020-02-27 14:25:26 +01:00
Matteo Pagliazzi
6543a43854 wip test 2020-02-27 12:16:53 +01:00
Matteo Pagliazzi
a046930097 Merge branch 'develop' into stackdriver-winston 2020-02-26 18:40:25 +01:00
Alys
7579bec587 allow another guild to use banned words in appropriate contexts
This commit also puts the list of guilds into alphabetical order.
2020-02-26 07:45:31 +10:00
Alys
c1e7fed4d4 move a word from slurs to swears as discussed with beffymaroo and mods 2020-02-26 07:44:36 +10:00
agentx999
bad148148c Enchanted Armoire immediately updates XP stat in header (fixes #11827) (#11884)
* sync user if Armoire gives XP

* user can level up from Armoire

* remove XP amount from Armoire XP notification
2020-02-24 22:19:48 +01:00
Matteo Pagliazzi
0280513a00 improvements to apidocs comments (#11832)
* make corrections and improvements to apidocs (no code changes)

* make further minor tweaks to apidocs that were previously changed

* make one extra small change for consistency

* fix lines that are too long

Each line was fixed by one of these:
- changing the wording
- breaking into separate lines
- adding eslint-disable-line max-len (necessary for `@api ` lines because
a line break there causes the first part of the text to not be displayed
on the apidocs website)

* apply eslint-disable max-len around block comments that need to have a long line

The `@api ` lines can't have a line break in them because it would
cause the first part of the text to not be displayed on the apidocs
website.

Using `// eslint-disable-line max-len` at the end of an `@api `
line doesn't work, possibly because it's nesting a comment inside
a multi-line comment.

The only way I've found to ignore the `max-len` rule is to put
disable and enable comments around the whole comment block.
2020-02-24 21:22:29 +01:00
Sabe Jones
e502588abc Improve G1G1 process (#11792)
* WIP(g1g1): notif

* WIP(g1g1): notif cont'd

* WIP(gifting): partial modal implementation

* feat(gifting): select giftee modal

* fix(gifting): notification order, modal dismiss

* fix(modals): correct some repops

* fix(gifting): style updates

* fix(modals): new dismiss logic

* fix(modals): new dismiss no go??

* refactor(close): catch up with dismiss functionality

* refactor(g1g1): optimizations
2020-02-24 16:54:56 +01:00
Matteo Pagliazzi
5718d8396d build(deps): bump svg-inline-loader in /website/client (#11891)
Bumps [svg-inline-loader](https://github.com/sairion/svg-inline-loader) from 0.8.0 to 0.8.2.
- [Release notes](https://github.com/sairion/svg-inline-loader/releases)
- [Changelog](https://github.com/webpack-contrib/svg-inline-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sairion/svg-inline-loader/compare/v0.8.0...v0.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-24 14:29:55 +01:00
dependabot-preview[bot]
b59a63ecbe build(deps): bump bootstrap-vue from 2.4.2 to 2.5.0 in /website/client (#11893)
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.4.2 to 2.5.0.
- [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.4.2...v2.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-24 14:29:39 +01:00
dependabot-preview[bot]
f0465aab5e build(deps): bump inspectpack from 4.3.1 to 4.4.0 in /website/client (#11892)
Bumps [inspectpack](https://github.com/FormidableLabs/inspectpack) from 4.3.1 to 4.4.0.
- [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.3.1...v4.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-24 14:29:29 +01:00
dependabot-preview[bot]
39ee78127c build(deps): bump eslint-plugin-vue in /website/client (#11894)
Bumps [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) from 6.2.0 to 6.2.1.
- [Release notes](https://github.com/vuejs/eslint-plugin-vue/releases)
- [Commits](https://github.com/vuejs/eslint-plugin-vue/compare/v6.2.0...v6.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-24 14:29:04 +01:00
Matteo Pagliazzi
4658025f3f build(deps-dev): bump sinon-chai from 3.4.0 to 3.5.0 (#11895)
Bumps [sinon-chai](https://github.com/domenic/sinon-chai) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/domenic/sinon-chai/releases)
- [Changelog](https://github.com/domenic/sinon-chai/blob/master/CHANGELOG.md)
- [Commits](https://github.com/domenic/sinon-chai/compare/3.4.0...3.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-24 14:28:53 +01:00
dependabot-preview[bot]
46417b4124 build(deps): bump superagent from 5.2.1 to 5.2.2 (#11896)
Bumps [superagent](https://github.com/visionmedia/superagent) from 5.2.1 to 5.2.2.
- [Release notes](https://github.com/visionmedia/superagent/releases)
- [Changelog](https://github.com/visionmedia/superagent/blob/master/HISTORY.md)
- [Commits](https://github.com/visionmedia/superagent/compare/v5.2.1...v5.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-24 14:28:37 +01:00
dependabot-preview[bot]
706a7b441a build(deps): bump aws-sdk from 2.619.0 to 2.624.0 (#11897)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.619.0 to 2.624.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.619.0...v2.624.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-24 14:28:26 +01:00
dependabot-preview[bot]
a8baa8fcfe build(deps): bump mongoose from 5.8.11 to 5.9.2 (#11901)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.8.11 to 5.9.2.
- [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.8.11...5.9.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-24 14:28:14 +01:00
dependabot-preview[bot]
368cf91e32 build(deps-dev): bump sinon-chai from 3.4.0 to 3.5.0
Bumps [sinon-chai](https://github.com/domenic/sinon-chai) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/domenic/sinon-chai/releases)
- [Changelog](https://github.com/domenic/sinon-chai/blob/master/CHANGELOG.md)
- [Commits](https://github.com/domenic/sinon-chai/compare/3.4.0...3.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-24 08:12:17 +00:00
dependabot-preview[bot]
23fc969432 build(deps): bump svg-inline-loader in /website/client
Bumps [svg-inline-loader](https://github.com/sairion/svg-inline-loader) from 0.8.0 to 0.8.2.
- [Release notes](https://github.com/sairion/svg-inline-loader/releases)
- [Changelog](https://github.com/webpack-contrib/svg-inline-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sairion/svg-inline-loader/compare/v0.8.0...v0.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-24 08:08:33 +00:00
Sabe Jones
5db606dcfd fix(event): end Valentine's NPCs 2020-02-20 14:26:25 -06:00
Matteo Pagliazzi
6a5e1dda0e fixes 2020-02-20 20:58:42 +01:00
Matteo Pagliazzi
70326e5b5b upgrade loggly transport 2020-02-20 20:54:32 +01:00
Matteo Pagliazzi
c91c152b53 fix error messages in console 2020-02-20 20:51:16 +01:00
Sabe Jones
a7fd8f7f52 4.134.2 2020-02-20 13:26:49 -06:00
Phillip Thelen
0b57c0a22d Unify behaviour for shops (#11829)
* Change price for basilist and dustbunnies

* return correct unlockCondition for moon quests

* Fix basilist not being buyable
2020-02-20 13:24:43 -06:00
Matteo Pagliazzi
362313fe0a fix info messages 2020-02-20 20:05:58 +01:00
Matteo Pagliazzi
ed5dfd0228 start upgrading winston 2020-02-20 19:37:31 +01:00
Sabe Jones
12afdc1681 4.134.1 2020-02-20 11:59:03 -06:00
Sabe Jones
5e31278d2a chore(news): Bailey 2020-02-20 11:57:56 -06:00
Alys
0891908cba Merge remote-tracking branch 'upstream/develop' into apidocs-comment-fixes 2020-02-20 09:47:44 +10:00
Ian McKenzie
6a483edfe1 Resolves #11861 — Makes "quest already started" error descriptive (#11862)
* Resolves #11861

* Fix unit tests for translation changes

* Remove non-en quest.json locales
2020-02-19 16:07:17 +01:00
Melior
962f2b7579 Translated using Weblate (Vietnamese)
Currently translated at 34.1% (112 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/vi/

Translated using Weblate (Malay)

Currently translated at 81.1% (412 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ms/

Translated using Weblate (Filipino)

Currently translated at 92.7% (635 of 685 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/fil/

Translated using Weblate (Catalan)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ca/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (233 of 233 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hant/

Translated using Weblate (French)

Currently translated at 100.0% (233 of 233 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hant/

Translated using Weblate (Russian)

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ru/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2041 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2041 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Dutch)

Currently translated at 88.9% (1815 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (Dutch)

Currently translated at 68.2% (43 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/nl/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (685 of 685 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (685 of 685 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 99.5% (682 of 685 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (685 of 685 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (685 of 685 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/fr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (685 of 685 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (685 of 685 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/

Translated using Weblate (German)

Currently translated at 100.0% (685 of 685 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ja/

Translated using Weblate (French)

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/fr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (356 of 356 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (508 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (508 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 99.2% (504 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (Dutch)

Currently translated at 93.3% (474 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/nl/

Translated using Weblate (Dutch)

Currently translated at 56.9% (37 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/nl/
2020-02-18 21:18:48 +01:00
Sabe Jones
f413073d35 Merge branch 'release' into develop 2020-02-18 14:15:21 -06:00
Sabe Jones
0df2da6bf4 4.134.0 2020-02-18 14:14:59 -06:00
Matteo Pagliazzi
27b9ffb3f2 fix lint in challengeModal 2020-02-18 17:26:14 +01:00
Alejandro Aristizábal
79597cc72b Challenge exception-handling / clientside prize validation (#11769)
* fix: added client-side validation for challenge prizes

This commit aims to solve the issue #11765 by adding client-side 
validation for the challenge prize. This way, a user is unable to create 
a challenge if the prize is higher than what they can afford. Also, the 
loading property is reset to false after fetching the challenge, however 
this won't work if the request isn't successful.

* style: make validation conditional clearer

* fix: add exception handling when doing server requests.

This commit adds a basic try/catch block for handling server-side 
errors, and successfully enables the submit button if something failed. 
This may also fix #11545, in which a server-side error, difficult to 
valide from the client, was causing the submit button to stay disabled 
until reload.

* fix: reenable prize validation

* fix: bad indentation

* fix: Enable submit button on input change

* fix: add throttling to enableSubmit event.

* fix: reenable prize client-side validation.
2020-02-18 17:06:42 +01:00
Tutti Quintella
353009821f [Fix #11824] Show member Display Name if Username is blank (#11826)
* #11824 memberSearchDropdown: use member.profile.name if username is blank

* membwer.auth.local object could be empty
2020-02-18 17:00:30 +01:00
MynahMarie
b9a3ee7f30 remove unecessary checks for addlNotes in getItemInfo.js 2020-02-18 12:42:59 +02:00
MynahMarie
ea3938a91e call t on eventAvailabitily and intergrate change from develop branch 2020-02-18 11:45:57 +02:00
MynahMarie
fdfbade493 fix merge conflict 2020-02-18 11:06:50 +02:00
Sabe Jones
69179c61b1 feat(content): Cotton Candy Pink Prizes 2020-02-17 11:37:37 -06:00
artur-borys
c6f6722af7 Fix menu not closing after clicking on menu item (#11866) 2020-02-17 16:37:13 +01:00
Arun Sojan Parolikkal
b362b36e16 fix for three dots menu getting covered up by footer issue: #11227 (#11857) 2020-02-17 15:56:33 +01:00
Matteo Pagliazzi
f40bb9e91d Merge pull request #11798 from tthorpe88/11768
Show "no owner" when challenge leader cannot be found fixes #11768
2020-02-17 15:52:24 +01:00
Matteo Pagliazzi
bba068efd5 Merge pull request #11867 from artur-borys/drawer-remove-extra-padding
Remove drawer padding adjustment, fixes #11863
2020-02-17 15:27:20 +01:00
Matteo Pagliazzi
c89b20ce42 Merge pull request #11856 from neepsnikeep/neepsnikeep/issue_11790_inconsistent_user_count
Update user count and write text consistently. fixes #11790
2020-02-17 15:01:01 +01:00
Matteo Pagliazzi
a60022e54d Merge pull request #11859 from citrusella/apidocfixes
Fixing some typos, etc. in the API doc
2020-02-17 14:50:24 +01:00
Matteo Pagliazzi
1d72b0e4a2 Merge pull request #11880 from HabitRPG/dependabot/npm_and_yarn/website/client/storybook/addon-knobs-5.3.13
build(deps): bump @storybook/addon-knobs from 5.3.12 to 5.3.13 in /website/client
2020-02-17 14:36:04 +01:00
Matteo Pagliazzi
15f4ce77ac Merge pull request #11882 from HabitRPG/dependabot/npm_and_yarn/website/client/storybook/addon-notes-5.3.13
build(deps): bump @storybook/addon-notes from 5.3.12 to 5.3.13 in /website/client
2020-02-17 14:35:54 +01:00
dependabot-preview[bot]
05093c5552 build(deps): bump @storybook/addon-notes in /website/client
Bumps [@storybook/addon-notes](https://github.com/storybookjs/storybook/tree/HEAD/addons/notes) from 5.3.12 to 5.3.13.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v5.3.13/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v5.3.13/addons/notes)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-17 13:27:54 +00:00
dependabot-preview[bot]
ee733c644d build(deps): bump @storybook/addon-knobs in /website/client
Bumps [@storybook/addon-knobs](https://github.com/storybookjs/storybook/tree/HEAD/addons/knobs) from 5.3.12 to 5.3.13.
- [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/v5.3.13/addons/knobs)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-17 13:27:51 +00:00
Matteo Pagliazzi
cb861d266d Merge pull request #11881 from HabitRPG/dependabot/npm_and_yarn/website/client/bootstrap-vue-2.4.2
build(deps): bump bootstrap-vue from 2.4.0 to 2.4.2 in /website/client
2020-02-17 13:06:56 +01:00
Matteo Pagliazzi
c7b0269fda Merge pull request #11877 from HabitRPG/dependabot/npm_and_yarn/website/client/storybook/vue-5.3.13
build(deps): bump @storybook/vue from 5.3.12 to 5.3.13 in /website/client
2020-02-17 13:06:48 +01:00
Matteo Pagliazzi
bd5ef97f22 build(deps): bump @storybook/addon-actions in /website/client (#11879)
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 5.3.12 to 5.3.13.
- [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/v5.3.13/addons/actions)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-17 13:06:11 +01:00
dependabot-preview[bot]
2e76d06f5e build(deps): bump eslint-plugin-vue in /website/client (#11878)
Bumps [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) from 6.1.2 to 6.2.0.
- [Release notes](https://github.com/vuejs/eslint-plugin-vue/releases)
- [Commits](https://github.com/vuejs/eslint-plugin-vue/compare/v6.1.2...v6.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-17 13:05:56 +01:00
dependabot-preview[bot]
b5353717c8 build(deps): bump @storybook/addon-links in /website/client (#11876)
Bumps [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/addons/links) from 5.3.12 to 5.3.13.
- [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/v5.3.13/addons/links)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-17 13:05:46 +01:00
dependabot-preview[bot]
52545018b6 build(deps): bump webpack from 4.41.5 to 4.41.6 in /website/client (#11874)
Bumps [webpack](https://github.com/webpack/webpack) from 4.41.5 to 4.41.6.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.41.5...v4.41.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-17 13:02:35 +01:00
dependabot-preview[bot]
d82aa869b2 build(deps): bump aws-sdk from 2.615.0 to 2.619.0 (#11871)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.615.0 to 2.619.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.615.0...v2.619.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-17 13:02:16 +01:00
dependabot-preview[bot]
107d633d37 build(deps): bump bootstrap-vue from 2.4.0 to 2.4.2 in /website/client
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.4.0 to 2.4.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.4.0...v2.4.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-17 08:16:13 +00:00
dependabot-preview[bot]
4f41a8c519 build(deps): bump @storybook/addon-actions in /website/client
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 5.3.12 to 5.3.13.
- [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/v5.3.13/addons/actions)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-17 08:14:05 +00:00
dependabot-preview[bot]
72f0e7ffae build(deps): bump @storybook/vue in /website/client
Bumps [@storybook/vue](https://github.com/storybookjs/storybook/tree/HEAD/app/vue) from 5.3.12 to 5.3.13.
- [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/v5.3.13/app/vue)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-17 08:11:41 +00:00
Artur Boryś
30e5fad6b7 Remove drawer padding adjustment
Removed method adjusting page padding that assured that the
drawer didn't overlap any conent.
It's unneccesary now, because of footer.
2020-02-15 14:24:11 +01:00
citrusella
d3d7ad2693 Add missing quote in values allowed on gem item 2020-02-14 21:37:21 -05:00
Sabe Jones
0e590c3623 Merge branch 'release' into develop 2020-02-13 16:44:49 -06:00
Sabe Jones
6e0739c996 4.133.1 2020-02-13 16:44:03 -06:00
Sabe Jones
588fd43e65 fix(content): correct Ruby title 2020-02-13 16:43:47 -06:00
Sabe Jones
9a6f8021e3 Subscription Page Overhaul (#11823)
* WIP(settings): subscriber page improvements

* WIP(subscriptions): more design build-out

* fix(css): disabled button styles

* fix(css): better Amazon targeting

* WIP(g1g1): notif

* WIP(g1g1): notif cont'd

* WIP(gifting): partial modal implementation

* feat(gifting): select giftee modal

* fix(gifting): notification order, modal dismiss

* fix(modals): correct some repops

* fix(gifting): style updates

* fix(modals): also clean out "prev"

* refactor(modals): hide in dismiss event

* fix(modals): new dismiss logic

* fix(modals): new dismiss no go??

* WIP(subscription): unsubscribed state

* WIP(subscription): partial subscribed

* WIP(subscription): finish subscribed

* feat(subscription): revised sub page RC

* fix(subs): style tweaks

* fix(subs): moar style tweaks
2020-02-13 13:12:45 -06:00
Melior
bac84f6ce0 Merge branch 'origin/develop' into Weblate. 2020-02-13 19:49:43 +01:00
Melior
98c9f83001 Translated using Weblate (Catalan)
Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ca/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pt_BR/

Translated using Weblate (Catalan)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/ca/

Translated using Weblate (Vietnamese)

Currently translated at 26.2% (86 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/vi/

Translated using Weblate (Catalan)

Currently translated at 97.8% (225 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/ca/

Translated using Weblate (Catalan)

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/ca/

Translated using Weblate (Catalan)

Currently translated at 95.8% (487 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ca/

Translated using Weblate (Catalan)

Currently translated at 64.6% (42 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ca/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/fr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/de/

Translated using Weblate (German)

Currently translated at 100.0% (2041 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Turkish)

Currently translated at 52.3% (33 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/tr/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/zh_Hans/
2020-02-13 19:48:58 +01:00
Sabe Jones
427d2127cb 4.133.0 2020-02-13 12:43:43 -06:00
Sabe Jones
c11a384a35 fix(news): link 2020-02-13 12:42:58 -06:00
Sabe Jones
36481b87fa fix(content): missing string 2020-02-12 18:37:03 -06:00
Sabe Jones
b8362af2f2 fix(content): missing potion data 2020-02-12 18:30:54 -06:00
citrusella
80de90cc5f Attempt to fix typos in the API doc 2020-02-12 15:40:44 -05:00
Sabe Jones
142d7e4348 chore(sprites): compile 2020-02-12 14:16:18 -06:00
Katha
181552c8d1 Update user count, it's currently 4,671,530 according to Alys. So the million count goes up to 4 and the texts mentioning the number of users is supposed to display this count. There have been two texts and the count is only in one of them with the other hardcoded. Seems like a good thing to not actually calculate the number of users for performance reasons. resolves #11790 2020-02-12 17:59:32 +01:00
Sabe Jones
6324ef72df feat(content): Magic Hatching Quest 2020-02-11 16:09:51 -06:00
Melior
3719efa874 Merge branch 'origin/develop' into Weblate. 2020-02-11 21:34:13 +01:00
Sabe Jones
107444043e Merge branch 'release' into develop 2020-02-11 14:33:25 -06:00
Sabe Jones
e6ba1ccca7 4.132.3 2020-02-11 14:30:49 -06:00
Sabe Jones
8edd2cfd14 Merge branch 'sabrecat/valentines-2020' into release 2020-02-11 14:30:27 -06:00
Sabe Jones
897b192852 fix(profiles): short circuit contributor
Attempted fix for #11830
2020-02-11 14:30:19 -06:00
Phillip Thelen
0648f5d412 Prevent server from cancelling still active subs (#11795)
* Prevent server from cancelling still active subs

* Allow subs to be cancelled before end date

* fix test

* fix test
2020-02-11 12:58:11 -06:00
dependabot-preview[bot]
732426c176 build(deps): bump @vue/cli-plugin-babel in /website/client (#11851)
Bumps [@vue/cli-plugin-babel](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-babel) from 4.1.2 to 4.2.2.
- [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.2.2/packages/@vue/cli-plugin-babel)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-11 17:34:59 +01:00
dependabot-preview[bot]
4df8022811 build(deps): bump @vue/cli-service in /website/client (#11850)
Bumps [@vue/cli-service](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-service) from 4.1.2 to 4.2.2.
- [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.2.2/packages/@vue/cli-service)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-11 17:32:13 +01:00
dependabot-preview[bot]
b153c6d054 build(deps): bump @vue/cli-plugin-router in /website/client (#11836)
Bumps [@vue/cli-plugin-router](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-router) from 4.1.2 to 4.2.2.
- [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.2.2/packages/@vue/cli-plugin-router)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-11 17:32:03 +01:00
dependabot-preview[bot]
c0e1a31937 build(deps): bump @storybook/addon-notes in /website/client (#11841)
Bumps [@storybook/addon-notes](https://github.com/storybookjs/storybook/tree/HEAD/addons/notes) from 5.3.10 to 5.3.12.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v5.3.12/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v5.3.12/addons/notes)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-11 17:30:46 +01:00
dependabot-preview[bot]
7a13d061d7 build(deps): bump aws-sdk from 2.610.0 to 2.615.0 (#11854)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.610.0 to 2.615.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.610.0...v2.615.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-11 17:27:46 +01:00
dependabot-preview[bot]
ac29d662ef build(deps): bump @storybook/addon-links in /website/client (#11846)
Bumps [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/addons/links) from 5.3.10 to 5.3.12.
- [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/v5.3.12/addons/links)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-11 17:27:25 +01:00
dependabot-preview[bot]
247246b99d build(deps): bump @storybook/addon-actions in /website/client (#11837)
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 5.3.10 to 5.3.12.
- [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/v5.3.12/addons/actions)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-11 17:27:14 +01:00
dependabot-preview[bot]
13fa1924ae build(deps): bump amplitude-js from 5.8.0 to 5.9.0 in /website/client (#11838)
Bumps [amplitude-js](https://github.com/amplitude/amplitude-javascript) from 5.8.0 to 5.9.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/v5.8.0...v5.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-11 17:25:56 +01:00
dependabot-preview[bot]
d55400cc80 build(deps): bump @vue/cli-plugin-eslint in /website/client (#11839)
Bumps [@vue/cli-plugin-eslint](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-eslint) from 4.1.2 to 4.2.2.
- [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.2.2/packages/@vue/cli-plugin-eslint)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-11 17:25:44 +01:00
dependabot-preview[bot]
100c7c4395 build(deps): bump rimraf from 3.0.1 to 3.0.2 (#11840)
Bumps [rimraf](https://github.com/isaacs/rimraf) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/master/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v3.0.1...v3.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-11 17:25:25 +01:00
dependabot-preview[bot]
53510e3ea7 build(deps): bump @storybook/vue in /website/client (#11843)
Bumps [@storybook/vue](https://github.com/storybookjs/storybook/tree/HEAD/app/vue) from 5.3.10 to 5.3.12.
- [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/v5.3.12/app/vue)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-11 17:25:08 +01:00
dependabot-preview[bot]
c643f6a16c build(deps): bump bcrypt from 3.0.7 to 3.0.8 (#11847)
Bumps [bcrypt](https://github.com/kelektiv/node.bcrypt.js) from 3.0.7 to 3.0.8.
- [Release notes](https://github.com/kelektiv/node.bcrypt.js/releases)
- [Changelog](https://github.com/kelektiv/node.bcrypt.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kelektiv/node.bcrypt.js/compare/v3.0.7...v3.0.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-11 17:24:45 +01:00
dependabot-preview[bot]
1c4a941c88 build(deps): bump @storybook/addon-knobs in /website/client (#11849)
Bumps [@storybook/addon-knobs](https://github.com/storybookjs/storybook/tree/HEAD/addons/knobs) from 5.3.10 to 5.3.12.
- [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/v5.3.12/addons/knobs)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-11 17:24:13 +01:00
dependabot-preview[bot]
7c0da8051f build(deps): bump @vue/cli-plugin-unit-mocha in /website/client (#11835)
Bumps [@vue/cli-plugin-unit-mocha](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-unit-mocha) from 4.1.2 to 4.2.2.
- [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.2.2/packages/@vue/cli-plugin-unit-mocha)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-11 17:23:56 +01:00
Melior
6c70076c30 Translated using Weblate (Malay)
Currently translated at 80.9% (411 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ms/

Translated using Weblate (German)

Currently translated at 100.0% (2041 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Vietnamese)

Currently translated at 24.6% (81 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/vi/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (4 of 4 strings)

Translation: Habitica/Noscript
Translate-URL: https://translate.habitica.com/projects/habitica/noscript/vi/

Translated using Weblate (Malay)

Currently translated at 80.7% (410 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ms/

Translated using Weblate (Latin)

Currently translated at 87.4% (444 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Swedish)

Currently translated at 95.9% (141 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/sv/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (171 of 171 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% (508 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es_419/

Translated using Weblate (Swedish)

Currently translated at 89.8% (1834 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/sv/

Translated using Weblate (German)

Currently translated at 100.0% (508 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/

Translated using Weblate (Swedish)

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/sv/

Translated using Weblate (Malay)

Currently translated at 27.2% (40 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/ms/

Translated using Weblate (Malay)

Currently translated at 97.0% (166 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ms/

Translated using Weblate (Malay)

Currently translated at 56.9% (37 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ms/
2020-02-11 11:11:39 +01:00
Alys
15976e906a apply eslint-disable max-len around block comments that need to have a long line
The `@api ` lines can't have a line break in them because it would
cause the first part of the text to not be displayed on the apidocs
website.

Using `// eslint-disable-line max-len` at the end of an `@api `
line doesn't work, possibly because it's nesting a comment inside
a multi-line comment.

The only way I've found to ignore the `max-len` rule is to put
disable and enable comments around the whole comment block.
2020-02-08 16:06:00 +10:00
Alys
ac52da5be2 fix lines that are too long
Each line was fixed by one of these:
- changing the wording
- breaking into separate lines
- adding eslint-disable-line max-len (necessary for `@api ` lines because
a line break there causes the first part of the text to not be displayed
on the apidocs website)
2020-02-08 14:55:21 +10:00
Alys
1b39338eec make one extra small change for consistency 2020-02-08 14:30:48 +10:00
Alys
6fe87a8140 make further minor tweaks to apidocs that were previously changed 2020-02-08 14:26:01 +10:00
Alys
c5d0ff63a5 make corrections and improvements to apidocs (no code changes) 2020-02-08 14:12:20 +10:00
Sabe Jones
6f7243c049 feat(event): Valentine's 2020 2020-02-07 14:16:25 -06:00
Melior
71cc313c9a Merge branch 'origin/develop' into Weblate. 2020-02-06 22:17:35 +01:00
Melior
788992b8fa Translated using Weblate (Malay)
Currently translated at 32.3% (21 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ms/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (233 of 233 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (174 of 174 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% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2041 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2041 of 2041 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% (2041 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (78 of 78 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (508 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt_BR/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (Malay)

Currently translated at 7.4% (11 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/ms/

Translated using Weblate (Malay)

Currently translated at 0.9% (3 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/ms/

Translated using Weblate (Malay)

Currently translated at 15.3% (10 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ms/

Translated using Weblate (Polish)

Currently translated at 100.0% (233 of 233 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pl/

Translated using Weblate (Spanish (Latin America))

Currently translated at 99.3% (296 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/es_419/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2041 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2041 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Swedish)

Currently translated at 89.9% (1836 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/sv/

Translated using Weblate (French)

Currently translated at 100.0% (2041 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (Spanish)

Currently translated at 93.4% (1908 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (2041 of 2041 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (355 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (355 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (508 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (508 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/

Translated using Weblate (Swedish)

Currently translated at 100.0% (508 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/sv/

Translated using Weblate (French)

Currently translated at 100.0% (508 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/fr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (508 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en_GB/

Translated using Weblate (German)

Currently translated at 99.8% (507 of 508 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/
2020-02-06 22:17:18 +01:00
Sabe Jones
ff87a346d6 4.132.2 2020-02-06 15:14:53 -06:00
Sabe Jones
99a9bfe62e chore(news): Bailey 2020-02-06 15:13:55 -06:00
Sabe Jones
4f10f534ee Merge branch 'release' into develop 2020-02-05 05:32:18 -06:00
Sabe Jones
2053e6cc40 4.132.1 2020-02-05 05:31:53 -06:00
Sabe Jones
6a2e84e7cc fix(sprites): new spritesheet 2020-02-05 05:31:20 -06:00
MynahMarie
301b171f55 Merge branch 'develop' into fix_addlNotes 2020-02-05 10:53:52 +02:00
MynahMarie
08baa2ca20 remove package-lock.json from PR 2020-02-05 10:44:45 +02:00
Melior
2081590a19 Merge branch 'origin/develop' into Weblate. 2020-02-04 22:45:36 +01:00
Melior
f719592237 Translated using Weblate (Korean)
Currently translated at 34.6% (51 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/ko/

Translated using Weblate (Korean)

Currently translated at 99.4% (498 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ko/

Translated using Weblate (Korean)

Currently translated at 69.8% (44 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ko/

Translated using Weblate (Korean)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ko/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hans/

Translated using Weblate (Swedish)

Currently translated at 98.7% (230 of 233 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/sv/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hans/

Translated using Weblate (Spanish (Latin America))

Currently translated at 99.3% (146 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/es_419/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (174 of 174 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% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2033 of 2033 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2033 of 2033 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Swedish)

Currently translated at 90.0% (1830 of 2033 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/sv/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2033 of 2033 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (15 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (501 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hant/

Translated using Weblate (Swedish)

Currently translated at 100.0% (501 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/sv/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (233 of 233 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (233 of 233 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ru/

Translated using Weblate (Japanese)

Currently translated at 99.5% (232 of 233 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% (501 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es_419/

Translated using Weblate (Russian)

Currently translated at 100.0% (2033 of 2033 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Japanese)

Currently translated at 98.2% (665 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (233 of 233 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (233 of 233 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (233 of 233 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hans/

Translated using Weblate (Spanish (Latin America))

Currently translated at 98.2% (226 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (501 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es_419/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2033 of 2033 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2033 of 2033 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Spanish)

Currently translated at 92.6% (1883 of 2033 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (2033 of 2033 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (2033 of 2033 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (78 of 78 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (501 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 99.5% (232 of 233 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.5% (232 of 233 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (233 of 233 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (233 of 233 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/

Translated using Weblate (German)

Currently translated at 100.0% (233 of 233 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (12 of 12 strings)

Translation: Habitica/Merch
Translate-URL: https://translate.habitica.com/projects/habitica/merch/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (12 of 12 strings)

Translation: Habitica/Merch
Translate-URL: https://translate.habitica.com/projects/habitica/merch/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 99.7% (2027 of 2033 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.7% (2027 of 2033 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (2033 of 2033 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hant/

Translated using Weblate (German)

Currently translated at 99.9% (2031 of 2033 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (70 of 70 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (501 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/
2020-02-04 22:45:05 +01:00
Sabe Jones
25ac3db8c3 Merge branch 'release' into develop 2020-02-04 15:43:14 -06:00
Sabe Jones
20472caaee 4.132.0 2020-02-04 15:42:29 -06:00
Sabe Jones
37ab993b01 chore(sprites): compile 2020-02-04 15:42:23 -06:00
Sabe Jones
b2cfeaf9bd feat(content): Armoire and Backgrounds 2020-02 2020-02-04 15:42:12 -06:00
MynahMarie
7c83cfe9b4 fix merge conflicts 2020-02-03 16:23:47 +02:00
dependabot-preview[bot]
57e12c67ac build(deps): bump @storybook/addon-knobs in /website/client (#11811)
Bumps [@storybook/addon-knobs](https://github.com/storybookjs/storybook/tree/HEAD/addons/knobs) from 5.3.9 to 5.3.10.
- [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/v5.3.10/addons/knobs)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 09:50:07 +01:00
dependabot-preview[bot]
775ed7f873 build(deps): bump @storybook/addon-notes in /website/client (#11810)
Bumps [@storybook/addon-notes](https://github.com/storybookjs/storybook/tree/HEAD/addons/notes) from 5.3.9 to 5.3.10.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v5.3.10/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v5.3.10/addons/notes)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 09:49:52 +01:00
dependabot-preview[bot]
b608ca4d72 build(deps): bump @babel/core from 7.8.3 to 7.8.4 (#11814)
Bumps [@babel/core](https://github.com/babel/babel) from 7.8.3 to 7.8.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.3...v7.8.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 09:47:23 +01:00
dependabot-preview[bot]
1536bbfce5 build(deps): bump js2xmlparser from 4.0.0 to 4.0.1 (#11818)
Bumps [js2xmlparser](https://github.com/michaelkourlas/node-js2xmlparser) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/michaelkourlas/node-js2xmlparser/releases)
- [Changelog](https://github.com/michaelkourlas/node-js2xmlparser/blob/master/CHANGES.md)
- [Commits](https://github.com/michaelkourlas/node-js2xmlparser/compare/v4.0.0...v4.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 09:47:15 +01:00
dependabot-preview[bot]
d4957f39a2 build(deps): bump @storybook/addon-links in /website/client (#11809)
Bumps [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/addons/links) from 5.3.9 to 5.3.10.
- [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/v5.3.10/addons/links)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 09:47:02 +01:00
dependabot-preview[bot]
6d8833a83f build(deps): bump rimraf from 3.0.0 to 3.0.1 (#11819)
Bumps [rimraf](https://github.com/isaacs/rimraf) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/master/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v3.0.0...v3.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 09:46:52 +01:00
dependabot-preview[bot]
bb7b1c15ee build(deps): bump mongoose from 5.8.9 to 5.8.11 (#11815)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.8.9 to 5.8.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.8.9...5.8.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 09:46:41 +01:00
dependabot-preview[bot]
9b43ff75fc build(deps): bump bootstrap-vue from 2.3.0 to 2.4.0 in /website/client (#11812)
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.3.0 to 2.4.0.
- [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.3.0...v2.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 09:45:53 +01:00
dependabot-preview[bot]
0aaac9988c build(deps): bump @storybook/vue from 5.3.9 to 5.3.10 in /website/client (#11808)
Bumps [@storybook/vue](https://github.com/storybookjs/storybook/tree/HEAD/app/vue) from 5.3.9 to 5.3.10.
- [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/v5.3.10/app/vue)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 09:45:42 +01:00
dependabot-preview[bot]
edcd587b03 build(deps): bump @storybook/addon-actions in /website/client (#11807)
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 5.3.9 to 5.3.10.
- [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/v5.3.10/addons/actions)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 09:45:12 +01:00
dependabot-preview[bot]
e0b2437f60 build(deps): bump @babel/preset-env from 7.8.3 to 7.8.4 (#11817)
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.8.3 to 7.8.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.3...v7.8.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 09:44:23 +01:00
MynahMarie
3045be3ddf ref issue #11794 - Add error check in _addlNotes field. 2020-02-02 14:56:20 +02:00
Nik
57b2166bde NPC style should apply to tier $800 only (#11797)
- Fix wrong level field
- Check if tier is 800 everywhere
2020-02-02 11:59:43 +01:00
Nik
39b3ebe04a NPC style should apply to tier $800 only (#11797)
- Fix wrong level field
- Check if tier is 800 everywhere
2020-02-02 11:58:32 +01:00
MynahMarie
81c58d2122 update package.json 2020-02-02 11:54:45 +02:00
Sabe Jones
a607882214 Merge branch 'release' into develop 2020-02-01 12:07:53 -06:00
Sabe Jones
0d843d53a5 4.131.4 2020-02-01 12:07:32 -06:00
Sabe Jones
34145ed8ca fix(event): decakeify 2020-02-01 12:07:23 -06:00
Matteo Pagliazzi
ad3b673fda fix(member details): disable name style in header 2020-02-01 15:03:46 +01:00
Matteo Pagliazzi
4e6b411763 fix(dropdown): correct dropdown menus colors 2020-02-01 14:54:43 +01:00
Sabe Jones
dec7bd2ec6 Merge branch 'release' into develop 2020-02-01 07:27:02 -06:00
Sabe Jones
1cc3633e64 4.131.3 2020-02-01 07:26:47 -06:00
Sabe Jones
64c79b7eb6 chore(sprites): compile 2020-02-01 07:26:40 -06:00
Sabe Jones
b2d997c5a6 Merge branch 'release' into develop 2020-02-01 07:21:23 -06:00
Sabe Jones
1b14c5f6d5 4.131.2 2020-02-01 07:21:08 -06:00
Sabe Jones
e800cd9a3f chore(event): End Wonderland 2020-02-01 07:20:55 -06:00
Sabe Jones
68aeda44d4 Merge branch 'release' into develop 2020-02-01 06:27:22 -06:00
Sabe Jones
443f88ac41 4.131.1 2020-02-01 06:24:25 -06:00
Sabe Jones
d77b791d56 fix(sprites): rename February items 2020-02-01 06:21:47 -06:00
Matteo Pagliazzi
d5c7ced5e3 Merge pull request #11763 from Kevin-DDR/fixTiers
contributor tier color/icon appear in guild/challenge member/participant list Fix for #11736
2020-02-01 12:01:34 +01:00
Matteo Pagliazzi
f45fdfbe0d Merge pull request #11708 from alexthomson1/issue-11615
stop dropdown menu getting stuck on hover - fixes #11615
2020-02-01 11:23:29 +01:00
Tom Thorpe
311df85dfc Show "no owner" when challenge leader cannot be found
Fixes #11768

- Check if `challenge.leader` is `null` before trying to display the user's name after "Created By:"
- Check the `challenge.leader` isn't `null` before trying to get its `id` for comparison when determining if the current user `canDelete` or `canEdit`
2020-02-01 09:17:59 +00:00
Melior
0e8fb62887 Merge branch 'origin/develop' into Weblate. 2020-01-31 13:55:45 +01:00
Melior
4d2b7dbf5c Translated using Weblate (Korean)
Currently translated at 9.7% (32 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/ko/

Translated using Weblate (Korean)

Currently translated at 9.7% (32 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/ko/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (232 of 232 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (232 of 232 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (171 of 171 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% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pt_BR/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (12 of 12 strings)

Translation: Habitica/Merch
Translate-URL: https://translate.habitica.com/projects/habitica/merch/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/

Translated using Weblate (German)

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/zh_Hans/

Translated using Weblate (Polish)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/pl/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (15 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (78 of 78 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (Bengali)

Currently translated at 98.2% (55 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/bn/

Translated using Weblate (Bengali)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/bn/

Translated using Weblate (Latin)

Currently translated at 98.4% (64 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (232 of 232 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hant/

Translated using Weblate (Japanese)

Currently translated at 100.0% (232 of 232 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ja/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hant/

Translated using Weblate (Polish)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pl/

Translated using Weblate (Japanese)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ja/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (4 of 4 strings)

Translation: Habitica/Noscript
Translate-URL: https://translate.habitica.com/projects/habitica/noscript/zh_Hant/

Translated using Weblate (Japanese)

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/ja/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/zh_Hant/

Translated using Weblate (Japanese)

Currently translated at 90.2% (157 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ja/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (485 of 485 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% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/pt_BR/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/zh_Hans/

Translated using Weblate (Portuguese)

Currently translated at 87.6% (311 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/pt/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (501 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hant/

Translated using Weblate (Russian)

Currently translated at 100.0% (232 of 232 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ru/

Translated using Weblate (Turkish)

Currently translated at 89.0% (155 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/tr/

Translated using Weblate (Turkish)

Currently translated at 98.5% (478 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/tr/

Translated using Weblate (Polish)

Currently translated at 87.1% (1766 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pl/

Translated using Weblate (German)

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (German)

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/de/

Translated using Weblate (Turkish)

Currently translated at 99.3% (326 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/tr/

Translated using Weblate (Polish)

Currently translated at 87.5% (593 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pl/

Translated using Weblate (Turkish)

Currently translated at 99.1% (228 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/tr/

Translated using Weblate (Russian)

Currently translated at 100.0% (501 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (Polish)

Currently translated at 100.0% (501 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pl/

Translated using Weblate (Turkish)

Currently translated at 69.2% (45 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/tr/

Translated using Weblate (Portuguese)

Currently translated at 72.3% (47 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/pt/

Translated using Weblate (Turkish)

Currently translated at 98.1% (207 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/tr/

Translated using Weblate (English)

Currently translated at 0.5% (3 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en@lolcat/

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/uk/

Translated using Weblate (Spanish)

Currently translated at 92.1% (1868 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (German)

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Spanish)

Currently translated at 99.4% (498 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/

Translated using Weblate (Hungarian)

Currently translated at 33.8% (22 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/hu/

Translated using Weblate (Danish)

Currently translated at 100.0% (232 of 232 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/da/

Translated using Weblate (German)

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/

Translated using Weblate (Danish)

Currently translated at 95.7% (340 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/da/

Translated using Weblate (Hungarian)

Currently translated at 32.3% (21 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/hu/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/pt_BR/
2020-01-31 13:55:16 +01:00
Sabe Jones
5f7a126df2 4.131.0 2020-01-31 06:47:32 -06:00
Sabe Jones
728eaecfc8 Merge branch 'develop' into release 2020-01-31 06:47:26 -06:00
Sabe Jones
505509d4b7 chore(sprites): compile 2020-01-31 06:47:06 -06:00
Sabe Jones
e31de5c8f0 feat(content): Feb 2020 subscriber set 2020-01-31 06:46:56 -06:00
Matteo Pagliazzi
c772afd0c8 Merge pull request #11647 from tsukimi2/bugfix-npc-style
Fix issues in NPCs should have NPC style on Display Name in chat, Hall. (fixes #11617)
2020-01-29 15:41:46 +01:00
Matteo Pagliazzi
ebbec57b29 Merge pull request #11791 from Alys/invalid-uuid-messages
clarify all "Invalid uuid" messages by making each unique
2020-01-29 15:39:38 +01:00
Alys
82a5bc236f clarify all "Invalid uuid" messages by making each unique 2020-01-29 15:49:55 +10:00
Sabe Jones
5a065b8a8a fix(test): food expectation 2020-01-28 15:49:50 -06:00
Sabe Jones
bc1eb62a35 feat(event): Birthday 2020 2020-01-28 15:39:05 -06:00
Matteo Pagliazzi
02d6b77a03 Merge pull request #11783 from HabitRPG/dependabot/npm_and_yarn/website/client/storybook/addon-notes-5.3.9
build(deps): bump @storybook/addon-notes from 5.3.7 to 5.3.9 in /website/client
2020-01-27 10:33:10 +01:00
Matteo Pagliazzi
ec4ad7c91b Merge pull request #11781 from HabitRPG/dependabot/npm_and_yarn/website/client/storybook/addon-knobs-5.3.9
build(deps): bump @storybook/addon-knobs from 5.3.7 to 5.3.9 in /website/client
2020-01-27 10:32:58 +01:00
dependabot-preview[bot]
8e37d35fda build(deps): bump @storybook/addon-notes in /website/client
Bumps [@storybook/addon-notes](https://github.com/storybookjs/storybook/tree/HEAD/addons/notes) from 5.3.7 to 5.3.9.
- [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/v5.3.9/addons/notes)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-27 09:31:30 +00:00
dependabot-preview[bot]
384312b089 build(deps): bump @storybook/addon-knobs in /website/client
Bumps [@storybook/addon-knobs](https://github.com/storybookjs/storybook/tree/HEAD/addons/knobs) from 5.3.7 to 5.3.9.
- [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/v5.3.9/addons/knobs)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-27 09:31:20 +00:00
Matteo Pagliazzi
d44d62d02b Merge pull request #11770 from HabitRPG/dependabot/npm_and_yarn/axios-0.19.2
build(deps-dev): bump axios from 0.19.1 to 0.19.2
2020-01-27 10:28:57 +01:00
dependabot-preview[bot]
674b6083f2 build(deps-dev): bump axios from 0.19.1 to 0.19.2
Bumps [axios](https://github.com/axios/axios) from 0.19.1 to 0.19.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/0.19.1...v0.19.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-27 09:27:48 +00:00
Matteo Pagliazzi
cb175008dd Merge pull request #11780 from HabitRPG/dependabot/npm_and_yarn/website/client/storybook/addon-links-5.3.9
build(deps): bump @storybook/addon-links from 5.3.7 to 5.3.9 in /website/client
2020-01-27 10:27:22 +01:00
Matteo Pagliazzi
a5c0d50ade Merge pull request #11784 from HabitRPG/dependabot/npm_and_yarn/website/client/storybook/vue-5.3.9
build(deps): bump @storybook/vue from 5.3.7 to 5.3.9 in /website/client
2020-01-27 10:27:09 +01:00
Matteo Pagliazzi
53736f1216 Merge pull request #11778 from HabitRPG/dependabot/npm_and_yarn/aws-sdk-2.610.0
build(deps): bump aws-sdk from 2.606.0 to 2.610.0
2020-01-27 10:26:57 +01:00
Matteo Pagliazzi
6064bc0103 Merge pull request #11782 from HabitRPG/dependabot/npm_and_yarn/website/client/storybook/addon-actions-5.3.9
build(deps): bump @storybook/addon-actions from 5.3.7 to 5.3.9 in /website/client
2020-01-27 10:26:42 +01:00
Matteo Pagliazzi
cf7fd60fff Merge pull request #11786 from HabitRPG/dependabot/npm_and_yarn/website/client/bootstrap-vue-2.3.0
build(deps): bump bootstrap-vue from 2.2.2 to 2.3.0 in /website/client
2020-01-27 10:26:27 +01:00
Matteo Pagliazzi
dd8d84bff1 Merge pull request #11785 from HabitRPG/dependabot/npm_and_yarn/website/client/axios-0.19.2
build(deps): bump axios from 0.19.1 to 0.19.2 in /website/client
2020-01-27 10:25:37 +01:00
Matteo Pagliazzi
c74b6297f2 Merge pull request #11788 from HabitRPG/dependabot/npm_and_yarn/website/client/inspectpack-4.3.1
build(deps): bump inspectpack from 4.3.0 to 4.3.1 in /website/client
2020-01-27 10:25:12 +01:00
dependabot-preview[bot]
4c3efdebfa build(deps): bump inspectpack from 4.3.0 to 4.3.1 in /website/client
Bumps [inspectpack](https://github.com/FormidableLabs/inspectpack) from 4.3.0 to 4.3.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.3.0...v4.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-27 08:10:30 +00:00
dependabot-preview[bot]
2aba6acc47 build(deps): bump bootstrap-vue from 2.2.2 to 2.3.0 in /website/client
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.2.2 to 2.3.0.
- [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.2.2...v2.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-27 08:09:27 +00:00
dependabot-preview[bot]
10718def11 build(deps): bump axios from 0.19.1 to 0.19.2 in /website/client
Bumps [axios](https://github.com/axios/axios) from 0.19.1 to 0.19.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/0.19.1...v0.19.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-27 08:08:34 +00:00
dependabot-preview[bot]
df8e3e5b64 build(deps): bump @storybook/vue from 5.3.7 to 5.3.9 in /website/client
Bumps [@storybook/vue](https://github.com/storybookjs/storybook/tree/HEAD/app/vue) from 5.3.7 to 5.3.9.
- [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/v5.3.9/app/vue)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-27 08:07:58 +00:00
dependabot-preview[bot]
61e23c5157 build(deps): bump @storybook/addon-actions in /website/client
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 5.3.7 to 5.3.9.
- [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/v5.3.9/addons/actions)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-27 08:06:06 +00:00
dependabot-preview[bot]
b77de58f71 build(deps): bump @storybook/addon-links in /website/client
Bumps [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/addons/links) from 5.3.7 to 5.3.9.
- [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/v5.3.9/addons/links)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-27 08:04:09 +00:00
dependabot-preview[bot]
aef217dc56 build(deps): bump aws-sdk from 2.606.0 to 2.610.0
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.606.0 to 2.610.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.606.0...v2.610.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-27 07:53:45 +00:00
alexthomson1
ab4009bd32 Refactoring dropdown.vue so that dropdownMobile calls openDropdown and closeDropdown 2020-01-25 18:28:26 -07:00
Sabe Jones
aefd664db1 Correct some modal repops (#11739)
* fix(modals): correct some repops

* fix(modals): also clean out "prev"

* refactor(modals): hide in dismiss event
2020-01-24 16:36:11 -06:00
Melior
b9d3d7f87a Merge branch 'origin/develop' into Weblate. 2020-01-23 22:51:26 +01:00
Melior
4fa245c929 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (232 of 232 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (232 of 232 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (232 of 232 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/fr/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (27 of 27 strings)

Translation: Habitica/Loginincentives
Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (6 of 6 strings)

Translation: Habitica/Inventory
Translate-URL: https://translate.habitica.com/projects/habitica/inventory/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/

Translated using Weblate (German)

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (15 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (355 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (70 of 70 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/zh_Hant/

Translated using Weblate (French)

Currently translated at 100.0% (501 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/fr/

Translated using Weblate (German)

Currently translated at 100.0% (501 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hant/

Translated using Weblate (Portuguese)

Currently translated at 52.3% (34 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/pt/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (232 of 232 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (232 of 232 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 99.1% (230 of 232 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (232 of 232 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pt_BR/

Translated using Weblate (Polish)

Currently translated at 100.0% (232 of 232 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pl/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (232 of 232 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (232 of 232 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (171 of 171 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% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pt_BR/

Translated using Weblate (Polish)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pl/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (6 of 6 strings)

Translation: Habitica/Inventory
Translate-URL: https://translate.habitica.com/projects/habitica/inventory/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/

Translated using Weblate (German)

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hant/

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 (Chinese (Traditional))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (70 of 70 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (501 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (501 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 99.4% (498 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (501 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt_BR/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (501 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (501 of 501 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ru/
2020-01-23 22:51:07 +01:00
Sabe Jones
257a52cba1 4.130.2 2020-01-23 15:48:34 -06:00
Sabe Jones
cbac69ab11 chore(news): Bailey 2020-01-23 15:47:53 -06:00
Sabe Jones
d2156eb97b Merge branch 'release' into develop 2020-01-22 05:47:34 -06:00
Sabe Jones
7c50a66ef7 4.130.1 2020-01-22 05:46:21 -06:00
Sabe Jones
0be5b5c9c7 fix(timetrav): no sub but hourglass 2020-01-22 05:46:12 -06:00
Melior
1b1c239aec Merge branch 'origin/develop' into Weblate. 2020-01-21 23:14:08 +01:00
Melior
237c1b0713 Translated using Weblate (German)
Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Latin)

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/la/

Translated using Weblate (Danish)

Currently translated at 94.3% (216 of 229 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/da/

Translated using Weblate (Polish)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/pl/

Translated using Weblate (Polish)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pl/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/zh_Hans/

Translated using Weblate (Polish)

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/pl/

Translated using Weblate (Danish)

Currently translated at 100.0% (12 of 12 strings)

Translation: Habitica/Merch
Translate-URL: https://translate.habitica.com/projects/habitica/merch/da/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hans/

Translated using Weblate (Danish)

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/da/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Russian)

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hant/

Translated using Weblate (Polish)

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/pl/

Translated using Weblate (Danish)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/da/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (70 of 70 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (78 of 78 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/zh_Hans/

Translated using Weblate (Polish)

Currently translated at 100.0% (494 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pl/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hans/

Translated using Weblate (Korean)

Currently translated at 34.6% (51 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/ko/

Translated using Weblate (Latin)

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/la/

Translated using Weblate (Latin)

Currently translated at 93.8% (61 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Korean)

Currently translated at 47.6% (30 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ko/

Translated using Weblate (Korean)

Currently translated at 87.6% (311 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ko/

Translated using Weblate (Polish)

Currently translated at 100.0% (229 of 229 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pl/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/pt_BR/

Translated using Weblate (German)

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/de/

Translated using Weblate (Polish)

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pl/

Translated using Weblate (Polish)

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/pl/

Translated using Weblate (Russian)

Currently translated at 99.9% (2025 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (German)

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Polish)

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/pl/

Translated using Weblate (Portuguese)

Currently translated at 91.7% (621 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt/

Translated using Weblate (Portuguese)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/pt/

Translated using Weblate (Polish)

Currently translated at 100.0% (355 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/pl/

Translated using Weblate (Polish)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/pl/

Translated using Weblate (Polish)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/pl/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/pt_BR/

Translated using Weblate (Korean)

Currently translated at 100.0% (494 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ko/

Translated using Weblate (Latin)

Currently translated at 93.8% (61 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Latin)

Currently translated at 93.8% (61 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (German)

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/de/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (355 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/en_GB/

Translated using Weblate (German)

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/de/

Translated using Weblate (Korean)

Currently translated at 95.3% (471 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ko/

Translated using Weblate (Korean)

Currently translated at 95.3% (471 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ko/

Translated using Weblate (Korean)

Currently translated at 34.6% (51 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/ko/

Translated using Weblate (Korean)

Currently translated at 97.6% (167 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ko/

Translated using Weblate (Korean)

Currently translated at 100.0% (4 of 4 strings)

Translation: Habitica/Noscript
Translate-URL: https://translate.habitica.com/projects/habitica/noscript/ko/

Translated using Weblate (Korean)

Currently translated at 100.0% (12 of 12 strings)

Translation: Habitica/Merch
Translate-URL: https://translate.habitica.com/projects/habitica/merch/ko/

Translated using Weblate (Latin)

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/la/

Translated using Weblate (Korean)

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/ko/

Translated using Weblate (Korean)

Currently translated at 93.7% (463 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ko/

Translated using Weblate (Korean)

Currently translated at 93.7% (463 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ko/

Translated using Weblate (Korean)

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ko/

Translated using Weblate (Korean)

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/ko/

Translated using Weblate (Korean)

Currently translated at 98.9% (480 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ko/

Translated using Weblate (Korean)

Currently translated at 99.3% (296 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/ko/

Translated using Weblate (Korean)

Currently translated at 46.0% (29 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ko/

Translated using Weblate (Korean)

Currently translated at 100.0% (15 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/ko/

Translated using Weblate (Korean)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ko/

Translated using Weblate (Korean)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ko/

Translated using Weblate (Russian)

Currently translated at 100.0% (229 of 229 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ru/

Translated using Weblate (Spanish)

Currently translated at 100.0% (229 of 229 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/es/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (12 of 12 strings)

Translation: Habitica/Merch
Translate-URL: https://translate.habitica.com/projects/habitica/merch/en@pirate/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/zh_Hans/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (27 of 27 strings)

Translation: Habitica/Loginincentives
Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/en@pirate/

Translated using Weblate (Russian)

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ru/

Translated using Weblate (Spanish)

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/es/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Russian)

Currently translated at 99.9% (2025 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hant/

Translated using Weblate (Spanish)

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/es/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hant/

Translated using Weblate (Spanish)

Currently translated at 99.6% (327 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/es/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/en_GB/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/zh_Hans/

Translated using Weblate (Portuguese)

Currently translated at 46.0% (29 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/pt/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (15 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/en@pirate/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ru/

Translated using Weblate (Spanish)

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/en_GB/

Translated using Weblate (Russian)

Currently translated at 100.0% (355 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ru/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (494 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hant/

Translated using Weblate (Russian)

Currently translated at 100.0% (494 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (Spanish)

Currently translated at 100.0% (494 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hant/

Translated using Weblate (Russian)

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ru/

Translated using Weblate (Spanish)

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hant/

Translated using Weblate (Spanish)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/es/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/en@pirate/

Translated using Weblate (Korean)

Currently translated at 70.7% (46 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ko/

Translated using Weblate (Korean)

Currently translated at 70.7% (46 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ko/

Translated using Weblate (Korean)

Currently translated at 70.7% (46 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ko/
2020-01-21 23:13:52 +01:00
Sabe Jones
1f16891b15 Merge branch 'release' into develop 2020-01-21 15:47:39 -06:00
Sabe Jones
fcebd4327d 4.130.0 2020-01-21 15:47:15 -06:00
Sabe Jones
c2c5c8a86d chore(sprites): compile 2020-01-21 15:47:08 -06:00
Sabe Jones
8bdd56587e chore(timetrav): Bailey 2020-01-21 15:41:16 -06:00
Sabe Jones
64e6e6c27a fix(timetrav): quest currency color, modal refix 2020-01-21 15:16:09 -06:00
Sabe Jones
356302674c fix(buy): modal style changes 2020-01-21 15:03:29 -06:00
Sabe Jones
ee9eb3f78a Merge branch 'release' into sabrecat/timetrav-bgs 2020-01-21 14:58:51 -06:00
osiris
eb21d27fa2 Make changes to correct problems from merging as requested. 2020-01-21 12:40:16 +08:00
osiris
5efde3159f Merge remote-tracking branch 'upstream/develop' into bugfix-npc-style
Updating bugfix-npc-style with recent code from upstream/develop branch.
2020-01-21 11:04:32 +08:00
Kevin-DDR
b6407be529 Merge branch 'fixTiers' of https://github.com/Kevin-DDR/habitica into fixTiers 2020-01-20 20:32:07 +01:00
Kevin-DDR
3477dcd226 Added contributor tier color/icon in guild and challenge member list 2020-01-20 20:29:52 +01:00
Kevin-DDR
b41ad76c9e Added contributor tier color/icon in guild and challenge member list 2020-01-20 20:23:04 +01:00
Matteo Pagliazzi
c264465534 Merge pull request #11750 from HabitRPG/dependabot/npm_and_yarn/babel/preset-env-7.8.3
build(deps): bump @babel/preset-env from 7.8.2 to 7.8.3
2020-01-20 11:21:46 +01:00
dependabot-preview[bot]
7d5dc63efc build(deps): bump @babel/preset-env from 7.8.2 to 7.8.3
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.8.2 to 7.8.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.2...v7.8.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 10:21:30 +00:00
Matteo Pagliazzi
0d31ceea83 Merge pull request #11757 from HabitRPG/dependabot/npm_and_yarn/website/client/storybook/addon-notes-5.3.7
build(deps): bump @storybook/addon-notes from 5.3.1 to 5.3.7 in /website/client
2020-01-20 11:21:23 +01:00
Matteo Pagliazzi
da5c835ec0 Merge pull request #11760 from HabitRPG/dependabot/npm_and_yarn/website/client/storybook/addon-actions-5.3.7
build(deps): bump @storybook/addon-actions from 5.3.1 to 5.3.7 in /website/client
2020-01-20 11:21:05 +01:00
dependabot-preview[bot]
e753068aee build(deps): bump @storybook/addon-actions in /website/client
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 5.3.1 to 5.3.7.
- [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/v5.3.7/addons/actions)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 10:20:45 +00:00
dependabot-preview[bot]
9f20b5c2a8 build(deps): bump @storybook/addon-notes in /website/client
Bumps [@storybook/addon-notes](https://github.com/storybookjs/storybook/tree/HEAD/addons/notes) from 5.3.1 to 5.3.7.
- [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/v5.3.7/addons/notes)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 10:20:37 +00:00
Matteo Pagliazzi
18a32e8496 Merge pull request #11747 from HabitRPG/dependabot/npm_and_yarn/website/client/sass-loader-8.0.2
build(deps): bump sass-loader from 8.0.1 to 8.0.2 in /website/client
2020-01-20 11:18:31 +01:00
Matteo Pagliazzi
f04c88c60f Merge pull request #11751 from HabitRPG/dependabot/npm_and_yarn/website/client/storybook/addon-knobs-5.3.7
build(deps): bump @storybook/addon-knobs from 5.3.1 to 5.3.7 in /website/client
2020-01-20 11:18:23 +01:00
dependabot-preview[bot]
8f4e20a414 build(deps): bump sass-loader from 8.0.1 to 8.0.2 in /website/client
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 8.0.1 to 8.0.2.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v8.0.1...v8.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 10:18:17 +00:00
Matteo Pagliazzi
45ea77b743 Merge pull request #11752 from HabitRPG/dependabot/npm_and_yarn/babel/register-7.8.3
build(deps): bump @babel/register from 7.8.0 to 7.8.3
2020-01-20 11:18:13 +01:00
dependabot-preview[bot]
83b722456c build(deps): bump @storybook/addon-knobs in /website/client
Bumps [@storybook/addon-knobs](https://github.com/storybookjs/storybook/tree/HEAD/addons/knobs) from 5.3.1 to 5.3.7.
- [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/v5.3.7/addons/knobs)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 10:18:04 +00:00
Matteo Pagliazzi
ca7be4c0a4 Merge pull request #11743 from HabitRPG/dependabot/npm_and_yarn/mongoose-5.8.9
build(deps): bump mongoose from 5.8.7 to 5.8.9
2020-01-20 11:17:58 +01:00
Matteo Pagliazzi
5345b66c8d Merge pull request #11746 from HabitRPG/dependabot/npm_and_yarn/aws-sdk-2.606.0
build(deps): bump aws-sdk from 2.601.0 to 2.606.0
2020-01-20 11:17:31 +01:00
Matteo Pagliazzi
2188bee7cb Merge pull request #11749 from HabitRPG/dependabot/npm_and_yarn/website/client/core-js-3.6.4
build(deps): bump core-js from 3.6.3 to 3.6.4 in /website/client
2020-01-20 11:17:20 +01:00
Matteo Pagliazzi
df43ea863c Merge pull request #11756 from HabitRPG/dependabot/npm_and_yarn/website/client/storybook/vue-5.3.7
build(deps): bump @storybook/vue from 5.3.1 to 5.3.7 in /website/client
2020-01-20 11:17:04 +01:00
Matteo Pagliazzi
78d2299aaa Merge pull request #11745 from HabitRPG/dependabot/npm_and_yarn/babel/core-7.8.3
build(deps): bump @babel/core from 7.8.0 to 7.8.3
2020-01-20 11:16:53 +01:00
Matteo Pagliazzi
d67e800863 Merge pull request #11753 from HabitRPG/dependabot/npm_and_yarn/website/client/bootstrap-vue-2.2.2
build(deps): bump bootstrap-vue from 2.2.0 to 2.2.2 in /website/client
2020-01-20 11:16:41 +01:00
Matteo Pagliazzi
fae18d7631 Merge pull request #11754 from HabitRPG/dependabot/npm_and_yarn/uuid-3.4.0
build(deps): bump uuid from 3.3.3 to 3.4.0
2020-01-20 11:16:30 +01:00
Matteo Pagliazzi
4ede851d30 Merge pull request #11755 from HabitRPG/dependabot/npm_and_yarn/website/client/vue-router-3.1.5
build(deps): bump vue-router from 3.1.3 to 3.1.5 in /website/client
2020-01-20 11:16:04 +01:00
Matteo Pagliazzi
6f69721d25 Merge pull request #11758 from HabitRPG/dependabot/npm_and_yarn/website/client/storybook/addon-links-5.3.7
build(deps): bump @storybook/addon-links from 5.3.1 to 5.3.7 in /website/client
2020-01-20 11:15:48 +01:00
Matteo Pagliazzi
2bc4c1324c Merge pull request #11761 from HabitRPG/dependabot/npm_and_yarn/website/client/uuid-3.4.0
build(deps): bump uuid from 3.3.3 to 3.4.0 in /website/client
2020-01-20 11:15:32 +01:00
Matteo Pagliazzi
59bca3fd3a Merge pull request #11762 from HabitRPG/dependabot/npm_and_yarn/website/client/sass-1.25.0
build(deps): bump sass from 1.24.4 to 1.25.0 in /website/client
2020-01-20 11:15:18 +01:00
dependabot-preview[bot]
d4cfa65f94 build(deps): bump sass from 1.24.4 to 1.25.0 in /website/client
Bumps [sass](https://github.com/sass/dart-sass) from 1.24.4 to 1.25.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.24.4...1.25.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 08:12:18 +00:00
dependabot-preview[bot]
caf47a9961 build(deps): bump uuid from 3.3.3 to 3.4.0 in /website/client
Bumps [uuid](https://github.com/uuidjs/uuid) from 3.3.3 to 3.4.0.
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v3.3.3...v3.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 08:11:25 +00:00
dependabot-preview[bot]
5097f67123 build(deps): bump @storybook/addon-links in /website/client
Bumps [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/addons/links) from 5.3.1 to 5.3.7.
- [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/v5.3.7/addons/links)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 08:08:06 +00:00
dependabot-preview[bot]
fc8bba63df build(deps): bump @storybook/vue from 5.3.1 to 5.3.7 in /website/client
Bumps [@storybook/vue](https://github.com/storybookjs/storybook/tree/HEAD/app/vue) from 5.3.1 to 5.3.7.
- [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/v5.3.7/app/vue)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 08:05:22 +00:00
dependabot-preview[bot]
71f62232af build(deps): bump vue-router from 3.1.3 to 3.1.5 in /website/client
Bumps [vue-router](https://github.com/vuejs/vue-router) from 3.1.3 to 3.1.5.
- [Release notes](https://github.com/vuejs/vue-router/releases)
- [Changelog](https://github.com/vuejs/vue-router/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-router/compare/v3.1.3...v3.1.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 08:03:30 +00:00
dependabot-preview[bot]
01699229d3 build(deps): bump uuid from 3.3.3 to 3.4.0
Bumps [uuid](https://github.com/uuidjs/uuid) from 3.3.3 to 3.4.0.
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v3.3.3...v3.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 08:01:50 +00:00
dependabot-preview[bot]
c55f611807 build(deps): bump bootstrap-vue from 2.2.0 to 2.2.2 in /website/client
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.2.0 to 2.2.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.2.0...v2.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 08:01:49 +00:00
dependabot-preview[bot]
a369751051 build(deps): bump @babel/register from 7.8.0 to 7.8.3
Bumps [@babel/register](https://github.com/babel/babel) from 7.8.0 to 7.8.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.0...v7.8.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 08:00:45 +00:00
dependabot-preview[bot]
56ce56fc3b build(deps): bump core-js from 3.6.3 to 3.6.4 in /website/client
Bumps [core-js](https://github.com/zloirock/core-js) from 3.6.3 to 3.6.4.
- [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.6.3...v3.6.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 07:58:50 +00:00
dependabot-preview[bot]
a59d130c43 build(deps): bump aws-sdk from 2.601.0 to 2.606.0
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.601.0 to 2.606.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.601.0...v2.606.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 07:57:19 +00:00
dependabot-preview[bot]
95b0a79289 build(deps): bump @babel/core from 7.8.0 to 7.8.3
Bumps [@babel/core](https://github.com/babel/babel) from 7.8.0 to 7.8.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.0...v7.8.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 07:56:21 +00:00
dependabot-preview[bot]
45b41cf6b0 build(deps): bump mongoose from 5.8.7 to 5.8.9
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.8.7 to 5.8.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.8.7...5.8.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 07:54:18 +00:00
Matteo Pagliazzi
ca69085e8c Merge pull request #11549 from Nikosmonaut/bugfix-11522_group_plan_tags
Fix can not remove group tag
2020-01-19 12:29:04 +01:00
Matteo Pagliazzi
b5af9b292e Merge pull request #11741 from HabitRPG/fix/pm-textarea-styling
fix style textarea + added story for an overview
2020-01-19 12:22:49 +01:00
negue
4a812a9d28 fix style textarea + added story for an overview 2020-01-18 17:17:50 +01:00
Melior
383bbc558b Merge branch 'origin/develop' into Weblate. 2020-01-16 23:21:01 +01:00
Melior
7effcb49e3 Translated using Weblate (Vietnamese)
Currently translated at 5.7% (19 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/vi/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (229 of 229 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (4 of 4 strings)

Translation: Habitica/Noscript
Translate-URL: https://translate.habitica.com/projects/habitica/noscript/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (12 of 12 strings)

Translation: Habitica/Merch
Translate-URL: https://translate.habitica.com/projects/habitica/merch/zh_Hant/

Translated using Weblate (Spanish)

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/es/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hant/

Translated using Weblate (Russian)

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ru/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/

Translated using Weblate (Portuguese)

Currently translated at 96.2% (467 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/pt/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Spanish)

Currently translated at 91.8% (1862 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hant/

Translated using Weblate (Portuguese)

Currently translated at 99.3% (326 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/pt/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/zh_Hant/

Translated using Weblate (English (Pirate))

Currently translated at 86.6% (13 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/en@pirate/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/zh_Hant/

Translated using Weblate (Portuguese)

Currently translated at 86.7% (308 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/pt/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (70 of 70 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/zh_Hant/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (70 of 70 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/en@pirate/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hant/

Translated using Weblate (Portuguese)

Currently translated at 99.1% (228 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/pt/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (494 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hant/

Translated using Weblate (Portuguese)

Currently translated at 26.1% (17 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/pt/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (Norwegian Nynorsk)

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/nn/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (229 of 229 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (229 of 229 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/

Translated using Weblate (English (Pirate))

Currently translated at 96.9% (222 of 229 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/en@pirate/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (171 of 171 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% (6 of 6 strings)

Translation: Habitica/Inventory
Translate-URL: https://translate.habitica.com/projects/habitica/inventory/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 95.7% (202 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/es_419/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/fr/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/en@pirate/

Translated using Weblate (German)

Currently translated at 100.0% (67 of 67 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 99.4% (173 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ru/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 99.7% (484 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/fr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/en_GB/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/en@pirate/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 98.3% (1993 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/

Translated using Weblate (German)

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (78 of 78 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hans/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (355 of 355 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% (494 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en@pirate/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hans/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/en@pirate/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (Portuguese)

Currently translated at 95.2% (201 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/pt/

Translated using Weblate (German)

Currently translated at 100.0% (485 of 485 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/de/

Translated using Weblate (German)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/de/
2020-01-16 23:18:07 +01:00
Sabe Jones
1e005a8bc4 4.129.4 2020-01-16 16:11:46 -06:00
Sabe Jones
04960f8ff8 chore(news): Bailey 2020-01-16 16:11:40 -06:00
Sabe Jones
0fd3e42fb2 fix(timetrav): pinning, mobile order 2020-01-16 10:06:36 -06:00
osiris
4fa16b5601 Merge remote-tracking branch 'upstream/develop' into bugfix-npc-style 2020-01-15 12:41:26 +08:00
Melior
bb9582bfc5 Merge branch 'origin/develop' into Weblate. 2020-01-14 22:10:10 +01:00
Melior
de4e4f3c4c Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (229 of 229 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hant/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hant/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2027 of 2027 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% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hant/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hant/

Translated using Weblate (Japanese)

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/ja/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/en_GB/

Translated using Weblate (Danish)

Currently translated at 41.2% (26 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/da/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (355 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hant/

Translated using Weblate (Japanese)

Currently translated at 100.0% (355 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ja/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (70 of 70 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (494 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hant/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (494 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hant/

Translated using Weblate (Japanese)

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ja/

Translated using Weblate (Danish)

Currently translated at 98.4% (64 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/da/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hant/

Translated using Weblate (Danish)

Currently translated at 96.2% (203 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/da/

Translated using Weblate (Chinese (Traditional))

Currently translated at 80.0% (52 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hant/

Translated using Weblate (Korean)

Currently translated at 8.8% (29 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/ko/

Translated using Weblate (Vietnamese)

Currently translated at 94.9% (131 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/vi/

Translated using Weblate (Latin)

Currently translated at 84.6% (55 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Korean)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ko/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (229 of 229 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (66 of 66 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (174 of 174 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% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 87.0% (1765 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2027 of 2027 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% (2027 of 2027 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% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/en_GB/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (355 of 355 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% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/en_GB/

Translated using Weblate (Turkish)

Currently translated at 89.4% (442 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/tr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (494 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en_GB/

Translated using Weblate (Chinese (Traditional))

Currently translated at 61.5% (40 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hant/

Translated using Weblate (Turkish)

Currently translated at 23.0% (15 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/tr/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (65 of 65 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% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/en_GB/

Translated using Weblate (Vietnamese)

Currently translated at 7.4% (11 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/vi/

Translated using Weblate (Korean)

Currently translated at 7.9% (26 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/ko/

Translated using Weblate (Korean)

Currently translated at 47.6% (31 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ko/

Translated using Weblate (Korean)

Currently translated at 87.3% (310 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ko/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/pt_BR/

Translated using Weblate (Spanish)

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/es/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/pt_BR/

Translated using Weblate (Portuguese)

Currently translated at 96.2% (465 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/pt/

Translated using Weblate (Spanish)

Currently translated at 91.7% (1859 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/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% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/pt_BR/

Translated using Weblate (Latin)

Currently translated at 75.3% (49 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Swedish)

Currently translated at 100.0% (494 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/sv/
2020-01-14 22:09:48 +01:00
Sabe Jones
fcbc87afc2 Merge branch 'release' into develop 2020-01-14 14:59:58 -06:00
Sabe Jones
6dc1011409 4.129.3 2020-01-14 14:59:37 -06:00
Sabe Jones
e15fdbbe05 fix(nye): no more hats 2020-01-14 14:59:28 -06:00
Matteo Pagliazzi
9510b2345c Merge pull request #11636 from tsukimi2/bugfix-send-pmsg
Fix incorrect error when sending private messages to a player you have blocked (fixes #11612)
2020-01-14 13:24:05 +01:00
Matteo Pagliazzi
615cec6ae0 Merge pull request #11663 from lelandhwu/fix-challenge-category-change
fix bug in which editing challenge will not allow editing categories (fixes #11662)
2020-01-14 13:22:21 +01:00
Matteo Pagliazzi
45668a0ba9 Merge pull request #11683 from youcandanch/local-docker-fixes
Fix issues with local Docker development.
2020-01-14 13:09:32 +01:00
Matteo Pagliazzi
fa9f962e45 Merge pull request #11707 from cvuorinen/11682-quest-invitation-webhook
Quest invitation webhook
2020-01-14 13:06:31 +01:00
Matteo Pagliazzi
4a88659364 Merge pull request #11665 from Alys/flag-modal
show Reset Flag Count button to moderators regardless of post's report status
2020-01-14 13:02:26 +01:00
Matteo Pagliazzi
e4ba2bfc7e Merge pull request #11637 from Xaz16/trigger-vue-reactivity-for-user
Trigger vue reactivity for user
2020-01-14 13:00:07 +01:00
Matteo Pagliazzi
646ac08cb2 Merge pull request #11706 from Kevin-DDR/fixBackground
Set the default year for the background meny to 2020 Fix for  #11703
2020-01-14 12:58:22 +01:00
Matteo Pagliazzi
10348d3daa Merge pull request #11723 from HabitRPG/dependabot/npm_and_yarn/babel/register-7.8.0
build(deps): bump @babel/register from 7.7.7 to 7.8.0
2020-01-13 12:53:08 +01:00
dependabot-preview[bot]
35e5a6ed35 build(deps): bump @babel/register from 7.7.7 to 7.8.0
Bumps [@babel/register](https://github.com/babel/babel) from 7.7.7 to 7.8.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.7...v7.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 11:52:41 +00:00
Matteo Pagliazzi
8023914131 Merge pull request #11727 from HabitRPG/dependabot/npm_and_yarn/babel/preset-env-7.8.2
build(deps): bump @babel/preset-env from 7.7.7 to 7.8.2
2020-01-13 12:50:32 +01:00
Matteo Pagliazzi
6ac959b9c6 Merge pull request #11722 from HabitRPG/dependabot/npm_and_yarn/website/client/storybook/vue-5.3.1
build(deps): bump @storybook/vue from 5.2.8 to 5.3.1 in /website/client
2020-01-13 12:50:13 +01:00
dependabot-preview[bot]
011a462d39 build(deps): bump @babel/preset-env from 7.7.7 to 7.8.2
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.7.7 to 7.8.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.7...v7.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 11:50:13 +00:00
Matteo Pagliazzi
484b9f09af Merge pull request #11713 from HabitRPG/dependabot/npm_and_yarn/website/client/storybook/addon-links-5.3.1
build(deps): bump @storybook/addon-links from 5.2.8 to 5.3.1 in /website/client
2020-01-13 12:50:01 +01:00
Matteo Pagliazzi
a916fb8060 Merge pull request #11721 from HabitRPG/dependabot/npm_and_yarn/axios-0.19.1
build(deps-dev): bump axios from 0.19.0 to 0.19.1
2020-01-13 12:49:52 +01:00
Matteo Pagliazzi
91afb90ecc Merge pull request #11734 from HabitRPG/dependabot/npm_and_yarn/superagent-5.2.1
build(deps): bump superagent from 5.1.3 to 5.2.1
2020-01-13 12:49:30 +01:00
dependabot-preview[bot]
0bfa0cc068 build(deps): bump @storybook/addon-links in /website/client
Bumps [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/addons/links) from 5.2.8 to 5.3.1.
- [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/v5.3.1/addons/links)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 11:49:24 +00:00
Matteo Pagliazzi
bcb10382af Merge pull request #11720 from HabitRPG/dependabot/npm_and_yarn/google-cloud/trace-agent-4.2.5
build(deps): bump @google-cloud/trace-agent from 4.2.4 to 4.2.5
2020-01-13 12:49:19 +01:00
dependabot-preview[bot]
188c63cb43 build(deps-dev): bump axios from 0.19.0 to 0.19.1
Bumps [axios](https://github.com/axios/axios) from 0.19.0 to 0.19.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.19.0...0.19.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 11:49:13 +00:00
dependabot-preview[bot]
3a172a9b8f build(deps): bump @google-cloud/trace-agent from 4.2.4 to 4.2.5
Bumps [@google-cloud/trace-agent](https://github.com/googleapis/cloud-trace-nodejs) from 4.2.4 to 4.2.5.
- [Release notes](https://github.com/googleapis/cloud-trace-nodejs/releases)
- [Changelog](https://github.com/googleapis/cloud-trace-nodejs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/cloud-trace-nodejs/compare/v4.2.4...v4.2.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 11:49:09 +00:00
dependabot-preview[bot]
376a0efa67 build(deps): bump @storybook/vue from 5.2.8 to 5.3.1 in /website/client
Bumps [@storybook/vue](https://github.com/storybookjs/storybook/tree/HEAD/app/vue) from 5.2.8 to 5.3.1.
- [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/v5.3.1/app/vue)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 11:49:03 +00:00
Matteo Pagliazzi
fbd68c5ea3 Merge pull request #11725 from HabitRPG/dependabot/npm_and_yarn/monk-7.1.2
build(deps-dev): bump monk from 7.1.1 to 7.1.2
2020-01-13 12:48:57 +01:00
Matteo Pagliazzi
f6f30e8f5d Merge pull request #11724 from HabitRPG/dependabot/npm_and_yarn/website/client/axios-0.19.1
build(deps): bump axios from 0.19.0 to 0.19.1 in /website/client
2020-01-13 12:48:36 +01:00
Matteo Pagliazzi
6c8321c7ec Merge pull request #11726 from HabitRPG/dependabot/npm_and_yarn/website/client/sass-loader-8.0.1
build(deps): bump sass-loader from 8.0.0 to 8.0.1 in /website/client
2020-01-13 12:48:17 +01:00
Matteo Pagliazzi
c7d44a0c7e Merge pull request #11728 from HabitRPG/dependabot/npm_and_yarn/babel/core-7.8.0
build(deps): bump @babel/core from 7.7.7 to 7.8.0
2020-01-13 12:48:05 +01:00
Matteo Pagliazzi
74ae724e33 Merge pull request #11719 from HabitRPG/dependabot/npm_and_yarn/website/client/vue2-perfect-scrollbar-1.3.0
build(deps): bump vue2-perfect-scrollbar from 1.2.4 to 1.3.0 in /website/client
2020-01-13 12:47:47 +01:00
dependabot-preview[bot]
78306fe33d build(deps): bump sass-loader from 8.0.0 to 8.0.1 in /website/client
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v8.0.0...v8.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 11:47:30 +00:00
Matteo Pagliazzi
5c1f215eb5 Merge pull request #11731 from HabitRPG/dependabot/npm_and_yarn/mongoose-5.8.7
build(deps): bump mongoose from 5.8.4 to 5.8.7
2020-01-13 12:46:56 +01:00
Matteo Pagliazzi
c7fd7aefc2 Merge pull request #11712 from HabitRPG/dependabot/npm_and_yarn/website/client/storybook/addon-actions-5.3.1
build(deps): bump @storybook/addon-actions from 5.2.8 to 5.3.1 in /website/client
2020-01-13 12:46:46 +01:00
Matteo Pagliazzi
fe45e62258 Merge pull request #11733 from HabitRPG/dependabot/npm_and_yarn/cookie-session-1.4.0
build(deps): bump cookie-session from 1.3.3 to 1.4.0
2020-01-13 12:46:29 +01:00
dependabot-preview[bot]
c8db6a35f9 build(deps): bump @storybook/addon-actions in /website/client
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 5.2.8 to 5.3.1.
- [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/v5.3.1/addons/actions)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 11:46:21 +00:00
Matteo Pagliazzi
9fd4ffbfbf Merge pull request #11732 from HabitRPG/dependabot/npm_and_yarn/amazon-payments-0.2.8
build(deps): bump amazon-payments from 0.2.7 to 0.2.8
2020-01-13 12:46:19 +01:00
dependabot-preview[bot]
14c1bddca2 build(deps): bump axios from 0.19.0 to 0.19.1 in /website/client
Bumps [axios](https://github.com/axios/axios) from 0.19.0 to 0.19.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.19.0...0.19.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 11:45:44 +00:00
Matteo Pagliazzi
e90d9d9ec4 Merge pull request #11729 from HabitRPG/dependabot/npm_and_yarn/aws-sdk-2.601.0
build(deps): bump aws-sdk from 2.597.0 to 2.601.0
2020-01-13 12:45:24 +01:00
Matteo Pagliazzi
2463287161 Merge pull request #11711 from HabitRPG/dependabot/npm_and_yarn/website/client/sass-1.24.4
build(deps): bump sass from 1.24.2 to 1.24.4 in /website/client
2020-01-13 12:44:46 +01:00
Matteo Pagliazzi
e440a344e3 Merge pull request #11716 from HabitRPG/dependabot/npm_and_yarn/website/client/storybook/addon-knobs-5.3.1
build(deps): bump @storybook/addon-knobs from 5.2.8 to 5.3.1 in /website/client
2020-01-13 12:44:02 +01:00
Matteo Pagliazzi
acec30cb05 Merge pull request #11717 from HabitRPG/dependabot/npm_and_yarn/website/client/hellojs-1.18.4
build(deps): bump hellojs from 1.18.1 to 1.18.4 in /website/client
2020-01-13 12:43:51 +01:00
Matteo Pagliazzi
ee51878c23 Merge pull request #11715 from HabitRPG/dependabot/npm_and_yarn/website/client/storybook/addon-notes-5.3.1
build(deps): bump @storybook/addon-notes from 5.2.8 to 5.3.1 in /website/client
2020-01-13 12:43:38 +01:00
Matteo Pagliazzi
650c9044c8 Merge pull request #11710 from HabitRPG/dependabot/npm_and_yarn/website/client/bootstrap-vue-2.2.0
build(deps): bump bootstrap-vue from 2.1.0 to 2.2.0 in /website/client
2020-01-13 12:43:10 +01:00
Matteo Pagliazzi
1f54b59bc6 Merge pull request #11709 from HabitRPG/dependabot/npm_and_yarn/website/client/core-js-3.6.3
build(deps): bump core-js from 3.6.1 to 3.6.3 in /website/client
2020-01-13 12:42:46 +01:00
dependabot-preview[bot]
4035b148d2 build(deps): bump superagent from 5.1.3 to 5.2.1
Bumps [superagent](https://github.com/visionmedia/superagent) from 5.1.3 to 5.2.1.
- [Release notes](https://github.com/visionmedia/superagent/releases)
- [Changelog](https://github.com/visionmedia/superagent/blob/master/HISTORY.md)
- [Commits](https://github.com/visionmedia/superagent/compare/v5.1.3...v5.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:21:18 +00:00
dependabot-preview[bot]
de5f4cb092 build(deps): bump cookie-session from 1.3.3 to 1.4.0
Bumps [cookie-session](https://github.com/expressjs/cookie-session) from 1.3.3 to 1.4.0.
- [Release notes](https://github.com/expressjs/cookie-session/releases)
- [Changelog](https://github.com/expressjs/cookie-session/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/cookie-session/compare/1.3.3...1.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:20:42 +00:00
dependabot-preview[bot]
0af4561e95 build(deps): bump amazon-payments from 0.2.7 to 0.2.8
Bumps [amazon-payments](https://github.com/MadisonReed/amazon-payments) from 0.2.7 to 0.2.8.
- [Release notes](https://github.com/MadisonReed/amazon-payments/releases)
- [Commits](https://github.com/MadisonReed/amazon-payments/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:19:52 +00:00
dependabot-preview[bot]
a3bbf6a149 build(deps): bump mongoose from 5.8.4 to 5.8.7
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.8.4 to 5.8.7.
- [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.8.4...5.8.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:19:09 +00:00
dependabot-preview[bot]
24ca2cd2de build(deps): bump aws-sdk from 2.597.0 to 2.601.0
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.597.0 to 2.601.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.597.0...v2.601.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:17:48 +00:00
dependabot-preview[bot]
4f167c6b2e build(deps): bump @babel/core from 7.7.7 to 7.8.0
Bumps [@babel/core](https://github.com/babel/babel) from 7.7.7 to 7.8.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.7...v7.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:17:02 +00:00
dependabot-preview[bot]
11a2696179 build(deps-dev): bump monk from 7.1.1 to 7.1.2
Bumps [monk](https://github.com/Automattic/monk) from 7.1.1 to 7.1.2.
- [Release notes](https://github.com/Automattic/monk/releases)
- [Changelog](https://github.com/Automattic/monk/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Automattic/monk/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:15:32 +00:00
dependabot-preview[bot]
c934cf990d build(deps): bump vue2-perfect-scrollbar in /website/client
Bumps [vue2-perfect-scrollbar](https://github.com/mercs600/vue2-perfect-scrollbar) from 1.2.4 to 1.3.0.
- [Release notes](https://github.com/mercs600/vue2-perfect-scrollbar/releases)
- [Commits](https://github.com/mercs600/vue2-perfect-scrollbar/commits/1.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:12:35 +00:00
dependabot-preview[bot]
fdfe76ca16 build(deps): bump hellojs from 1.18.1 to 1.18.4 in /website/client
Bumps [hellojs](https://github.com/MrSwitch/hello.js) from 1.18.1 to 1.18.4.
- [Release notes](https://github.com/MrSwitch/hello.js/releases)
- [Commits](https://github.com/MrSwitch/hello.js/compare/v1.18.1...v1.18.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:11:33 +00:00
dependabot-preview[bot]
5762f85798 build(deps): bump @storybook/addon-knobs in /website/client
Bumps [@storybook/addon-knobs](https://github.com/storybookjs/storybook/tree/HEAD/addons/knobs) from 5.2.8 to 5.3.1.
- [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/v5.3.1/addons/knobs)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:10:42 +00:00
dependabot-preview[bot]
d1ecb960b0 build(deps): bump @storybook/addon-notes in /website/client
Bumps [@storybook/addon-notes](https://github.com/storybookjs/storybook/tree/HEAD/addons/notes) from 5.2.8 to 5.3.1.
- [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/v5.3.1/addons/notes)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:09:31 +00:00
dependabot-preview[bot]
47fb821956 build(deps): bump sass from 1.24.2 to 1.24.4 in /website/client
Bumps [sass](https://github.com/sass/dart-sass) from 1.24.2 to 1.24.4.
- [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.24.2...1.24.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:04:57 +00:00
dependabot-preview[bot]
d0eb6196d3 build(deps): bump bootstrap-vue from 2.1.0 to 2.2.0 in /website/client
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.1.0 to 2.2.0.
- [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.1.0...v2.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:03:56 +00:00
dependabot-preview[bot]
bb50586622 build(deps): bump core-js from 3.6.1 to 3.6.3 in /website/client
Bumps [core-js](https://github.com/zloirock/core-js) from 3.6.1 to 3.6.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.6.1...v3.6.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:02:47 +00:00
Sabe Jones
8b569e2136 PMs rebuild (#11360)
* feat(messages): big PMs refactor

* add private messages route

* move to page

* WIP - header + begin with the sidebar

* extract userLabel + style sidebar + extract converstation item

* correct conversation item style

* toggle switch style

* add contributor / backer to conversation user-label

* fix shadows

* fix the conversations list (ignoring own sent)

* selected conversation label

* faceAvatar component

* fix message / avatar height

* fix message list / empty messages height

* new message padding/styles/functionality - finished sidebar conversation styling -

* fix loading messages + perfect-scrollbar

* fix load more line

* fix loading label

* open new conversation from outside

* if the user doesn't have avatar-data inside the conversation and does not exist anymore, just load/set the user name

* search bar new icon / style

* block using from conversation context-menu

* fix lint

* fix merge / lint

* fix merge

* first separate page

* fix tooltips + full width private message + card max width + more responsive

* separate conversations methods, to prevent circular deps

* update eslint config

* fix open new private message

* remove unneeded close icon + fix toggle-switch layout

* same content height on empty conversations - remove border / box-shadow

* canLoadMore = false

* remove inbox conditions on chat components

* hide footer / fix empty sidebar

* floating shadow

* remove tooltip on selected conversation user + pm always full-size

* show avatar on empty conversation

* disable face-avatar

* fix faceAvatar + story

* fix loading conversation messages while switching the conversation

* refresh private-messages page when you are already on it

* add countbadge knob to change the example

* fix lint

* fix hide tooltip + align header correctly

* disable perfect scroll

* load messages on refresh event

* fix header label + conversation actions not breaking layout on hover

* add gifting banner to the max height calculation

* correct chunk name

Co-authored-by: negue <negue@users.noreply.github.com>
Co-authored-by: Matteo Pagliazzi <matteopagliazzi@gmail.com>
2020-01-12 19:34:40 +01:00
alexthomson1
9bfc76cd20 Merge branch 'develop' into issue-11615 2020-01-12 00:20:13 -07:00
alexthomson1
8bd27b8313 Fixed bug in desktop navigation causing dropdown menu to get stuck until moused over again. 2020-01-11 23:16:24 -07:00
Matteo Pagliazzi
da878dfa1a Disabled auto notification dismiss for received card on click (#11690) 2020-01-11 18:13:47 +01:00
alexthomson1
8abf0dd11d Prevent accidentally closing tasks in edit mode. (#11686) 2020-01-11 18:13:39 +01:00
Carl Vuorinen
a487c708be Add documentation about questActivity and userActivity webhooks 2020-01-11 00:36:45 +02:00
Carl Vuorinen
9258f8ad26 Send questInvited webhooks 2020-01-11 00:32:10 +02:00
Sabe Jones
f47ccfdb6d chore(event): enable winter customizations 2020-01-10 15:32:36 -06:00
Sabe Jones
7faf443197 chore(event): enable winter customizations 2020-01-10 15:32:08 -06:00
Carl Vuorinen
04180fe974 Add integration tests for questActivity webhook 2020-01-10 20:58:21 +02:00
Carl Vuorinen
e6edaca11d Add questInvited option to webhook model 2020-01-10 20:27:50 +02:00
Melior
70894fa41f Merge branch 'origin/develop' into Weblate. 2020-01-09 23:50:41 +01:00
Melior
255b4061b0 Translated using Weblate (Vietnamese)
Currently translated at 4.0% (6 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/vi/

Translated using Weblate (Latin)

Currently translated at 66.1% (43 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (English (Pirate))

Currently translated at 89.4% (1814 of 2027 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% (494 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt_BR/

Translated using Weblate (Russian)

Currently translated at 99.4% (173 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ru/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 98.3% (1993 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (French)

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (German)

Currently translated at 100.0% (2027 of 2027 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (German)

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (494 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 99.3% (491 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (French)

Currently translated at 100.0% (494 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/fr/

Translated using Weblate (German)

Currently translated at 100.0% (494 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/

Translated using Weblate (German)

Currently translated at 100.0% (494 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/

Translated using Weblate (German)

Currently translated at 100.0% (494 of 494 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/
2020-01-09 23:50:14 +01:00
Sabe Jones
41c4aa5f71 4.129.2 2020-01-09 16:44:12 -06:00
Sabe Jones
38b61030df Merge branch 'develop' into release 2020-01-09 16:44:07 -06:00
Sabe Jones
c1a4c03883 fix(outage): emails warning 2020-01-09 16:43:18 -06:00
Sabe Jones
59fb9f1c7a feat(timetrav): implement bgs in avatar modal 2020-01-09 10:26:36 -06:00
Sabe Jones
0f4a5ebe6c Merge branch 'release' into sabrecat/timetrav-bgs 2020-01-09 09:59:09 -06:00
Kevin-DDR
a3277eeea3 Set the default year ofr the background meny to 2020 2020-01-09 08:59:51 +01:00
Sabe Jones
2c75e0bd49 Merge branch 'release' into develop 2020-01-08 11:13:19 -06:00
Sabe Jones
3baf656891 4.129.1 2020-01-08 11:12:58 -06:00
Sabe Jones
99c0a9d05d fix(promo): sub page 2020-01-08 11:12:47 -06:00
osiris
98e0e96494 Implemented rework suggestion by adding backer to group aggregation 2020-01-08 17:17:48 +08:00
osiris
2427743d0f Fix bug in NPC style display 2020-01-08 16:35:02 +08:00
Melior
4da1ed92bd Merge branch 'origin/develop' into Weblate. 2020-01-07 19:32:29 +01:00
Melior
16d2356558 Translated using Weblate (Spanish (Latin America))
Currently translated at 71.4% (45 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es_419/

Translated using Weblate (Spanish)

Currently translated at 90.2% (1822 of 2019 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/pt_BR/

Translated using Weblate (Hebrew)

Currently translated at 13.8% (9 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/he/

Translated using Weblate (Spanish)

Currently translated at 98.4% (64 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es/

Translated using Weblate (Vietnamese)

Currently translated at 3.3% (11 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/vi/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (12 of 12 strings)

Translation: Habitica/Merch
Translate-URL: https://translate.habitica.com/projects/habitica/merch/vi/

Translated using Weblate (Latin)

Currently translated at 86.4% (1745 of 2019 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/la/

Translated using Weblate (Spanish)

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/es/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hans/

Translated using Weblate (Polish)

Currently translated at 61.9% (39 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/pl/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Polish)

Currently translated at 44.6% (29 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/pl/

Translated using Weblate (Spanish)

Currently translated at 98.4% (64 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es/

Translated using Weblate (Swedish)

Currently translated at 100.0% (229 of 229 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/sv/

Translated using Weblate (Russian)

Currently translated at 100.0% (229 of 229 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ru/

Translated using Weblate (Polish)

Currently translated at 98.6% (226 of 229 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pl/

Translated using Weblate (Czech)

Currently translated at 98.2% (225 of 229 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/cs/

Translated using Weblate (Czech)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/cs/

Translated using Weblate (Russian)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ru/

Translated using Weblate (Czech)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/cs/

Translated using Weblate (Czech)

Currently translated at 98.4% (65 of 66 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/cs/

Translated using Weblate (Czech)

Currently translated at 97.1% (169 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/cs/

Translated using Weblate (Swedish)

Currently translated at 90.4% (1826 of 2019 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/sv/

Translated using Weblate (Czech)

Currently translated at 89.7% (1812 of 2019 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/cs/

Translated using Weblate (Czech)

Currently translated at 99.3% (296 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/cs/

Translated using Weblate (Russian)

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/ru/

Translated using Weblate (Czech)

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/cs/

Translated using Weblate (Czech)

Currently translated at 96.8% (61 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/cs/

Translated using Weblate (Czech)

Currently translated at 91.1% (617 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/cs/

Translated using Weblate (Czech)

Currently translated at 100.0% (355 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/cs/

Translated using Weblate (Czech)

Currently translated at 95.4% (465 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/cs/

Translated using Weblate (Czech)

Currently translated at 87.6% (57 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/cs/

Translated using Weblate (Czech)

Currently translated at 99.0% (209 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/cs/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/vi/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (229 of 229 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (229 of 229 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/pt_BR/

Translated using Weblate (Russian)

Currently translated at 98.4% (1988 of 2019 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2019 of 2019 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (German)

Currently translated at 100.0% (2019 of 2019 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/fr/

Translated using Weblate (French)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/fr/

Translated using Weblate (German)

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/de/
2020-01-07 19:32:14 +01:00
Sabe Jones
fe9af263dd Merge branch 'release' into develop 2020-01-07 11:48:09 -06:00
Sabe Jones
10ed4ea712 4.129.0 2020-01-07 11:45:39 -06:00
Sabe Jones
782f8f0605 chore(sprites): compile 2020-01-07 11:43:34 -06:00
Sabe Jones
25809e5c00 feat(content): Armoire, BGs 2020-01-07 11:43:14 -06:00
Sabe Jones
f6ecc1cb84 chore(promo): end g1g1 2020-01-07 10:13:32 -06:00
dependabot-preview[bot]
3fa8ba1a7d build(deps): bump inspectpack from 4.2.2 to 4.3.0 in /website/client (#11692)
Bumps [inspectpack](https://github.com/FormidableLabs/inspectpack) from 4.2.2 to 4.3.0.
- [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.2.2...v4.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-07 11:04:12 +01:00
dependabot-preview[bot]
b6d461565c build(deps): bump sass from 1.24.0 to 1.24.2 in /website/client (#11691)
Bumps [sass](https://github.com/sass/dart-sass) from 1.24.0 to 1.24.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.24.0...1.24.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-07 11:04:00 +01:00
dependabot-preview[bot]
270ec241b3 build(deps): bump eslint-plugin-vue in /website/client (#11694)
Bumps [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) from 6.1.1 to 6.1.2.
- [Release notes](https://github.com/vuejs/eslint-plugin-vue/releases)
- [Commits](https://github.com/vuejs/eslint-plugin-vue/compare/v6.1.1...v6.1.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-07 11:03:36 +01:00
dependabot-preview[bot]
4ae49e6e1b build(deps): bump mongoose from 5.8.3 to 5.8.4 (#11695)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.8.3 to 5.8.4.
- [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.8.3...5.8.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-07 11:03:22 +01:00
dependabot-preview[bot]
6b6afa9004 build(deps): bump aws-sdk from 2.596.0 to 2.597.0 (#11698)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.596.0 to 2.597.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.596.0...v2.597.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-07 11:03:10 +01:00
dependabot-preview[bot]
4550cfb02e build(deps): bump stripe from 7.14.0 to 7.15.0 (#11700)
Bumps [stripe](https://github.com/stripe/stripe-node) from 7.14.0 to 7.15.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/v7.14.0...v7.15.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-07 11:02:40 +01:00
Sabe Jones
d7d5d7e85a Merge branch 'release' into develop 2020-01-06 12:13:00 -06:00
Sabe Jones
d56d6cf280 4.128.3 2020-01-06 12:12:42 -06:00
Sabe Jones
4a0c16065f chore(news): Bailey 2020-01-06 12:12:34 -06:00
Sabe Jones
a550e32fd3 fix(bgs): include TT required field 2020-01-06 11:45:18 -06:00
Kevin-DDR
ef4e79f520 Disabled auto notification dismiss for received card on click 2020-01-04 11:44:24 +01:00
Sabe Jones
f51c12437d fix(timetrav): add strings 2020-01-03 15:29:27 -06:00
Sabe Jones
e8edc9669a WIP(timetrav): buy BG with Hourglass 2020-01-03 12:50:13 -06:00
Sabe Jones
cf7c9160fd fix(sprites): lion repositions 2020-01-02 11:40:10 -06:00
alexthomson1
8fd7e1cd00 Prevent accidentally closing tasks in edit mode. 2020-01-01 14:01:21 -07:00
Melior
d8f4f74818 Merge branch 'origin/develop' into Weblate. 2020-01-01 21:50:56 +01:00
Melior
9265b4f4a4 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (229 of 229 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2019 of 2019 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (2019 of 2019 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Swedish)

Currently translated at 93.5% (633 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/sv/

Translated using Weblate (Romanian)

Currently translated at 96.0% (121 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ro/

Translated using Weblate (Swedish)

Currently translated at 100.0% (487 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/sv/

Merge branch 'origin/develop' into Weblate.

Translated using Weblate (German)

Currently translated at 100.0% (229 of 229 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/de/

Translated using Weblate (Swedish)

Currently translated at 90.3% (1824 of 2019 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/sv/

Translated using Weblate (English (Pirate))

Currently translated at 88.8% (1794 of 2019 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en@pirate/

Translated using Weblate (German)

Currently translated at 100.0% (2019 of 2019 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (German)

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/en@pirate/
2020-01-01 21:50:41 +01:00
Sabe Jones
44bb304119 Merge branch 'release' into develop 2020-01-01 14:45:55 -06:00
Sabe Jones
927c4ef653 4.128.2 2020-01-01 14:45:32 -06:00
Sabe Jones
02afb5d7c5 chore(sprites): compile 2020-01-01 14:45:27 -06:00
Sabe Jones
904dfd3d72 chore(news): Bailey 2020-01-01 14:45:18 -06:00
Sabe Jones
9b29367048 Merge branch 'release' into develop 2019-12-31 17:19:01 -06:00
Sabe Jones
492ec66f49 4.128.1 2019-12-31 17:18:37 -06:00
Sabe Jones
3d3abf0829 fix(text): swapped head descriptions 2019-12-31 17:18:30 -06:00
Alex Dancho
e47845535a Fix issues with local Docker development. 2019-12-31 11:47:32 -05:00
Melior
f4dbb4a8f1 Merge branch 'origin/develop' into Weblate. 2019-12-31 13:55:54 +01:00
Sabe Jones
df72d240fd Merge branch 'release' into develop 2019-12-31 06:52:22 -06:00
Sabe Jones
747cb9d2ca 4.128.0 2019-12-31 06:48:58 -06:00
Melior
354cc9b54a Translated using Weblate (Latin)
Currently translated at 29.9% (44 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/la/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/vi/

Translated using Weblate (Swedish)

Currently translated at 100.0% (228 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/sv/

Translated using Weblate (Swedish)

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/sv/

Translated using Weblate (Swedish)

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/sv/

Translated using Weblate (Swedish)

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/sv/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (66 of 66 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/pt_BR/

Translated using Weblate (Russian)

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/ru/

Translated using Weblate (German)

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/de/

Translated using Weblate (Latin)

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/la/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (228 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (483 of 483 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% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/fr/
2019-12-31 13:10:31 +01:00
Sabe Jones
25015ae8e0 fix(event): feature NYE card 2019-12-30 19:44:22 -06:00
Sabe Jones
f501e23835 fix(test): snowball change 2019-12-30 15:23:37 -06:00
Sabe Jones
20a2c0fbfd chore(sprites): compile 2019-12-30 15:06:07 -06:00
Sabe Jones
2693d49870 feat(content): NYE 2019-20 etc 2019-12-30 15:05:45 -06:00
Sabe Jones
169ae8e011 Merge branch 'sabrecat/snowfolks' into release 2019-12-30 14:34:54 -06:00
nikosmonaut
8c6938022c Add test for leaving group
After leaving group the previous associated tag should no more be bound
to this group.
2019-12-30 15:22:11 +01:00
dependabot-preview[bot]
9b778f73ef build(deps-dev): bump sinon-chai from 3.3.0 to 3.4.0 (#11677)
Bumps [sinon-chai](https://github.com/domenic/sinon-chai) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/domenic/sinon-chai/releases)
- [Changelog](https://github.com/domenic/sinon-chai/blob/master/CHANGELOG.md)
- [Commits](https://github.com/domenic/sinon-chai/compare/3.3.0...3.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-30 11:42:35 +01:00
dependabot-preview[bot]
bd571bb359 build(deps): bump aws-sdk from 2.595.0 to 2.596.0 (#11679)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.595.0 to 2.596.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.595.0...v2.596.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-30 11:42:16 +01:00
dependabot-preview[bot]
f44fe3a4df build(deps): bump csv-stringify from 5.3.5 to 5.3.6 (#11680)
Bumps [csv-stringify](https://github.com/adaltas/node-csv-stringify) from 5.3.5 to 5.3.6.
- [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.3.5...v5.3.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-30 11:42:02 +01:00
dependabot-preview[bot]
6e815ea267 build(deps): bump mongoose from 5.8.2 to 5.8.3 (#11676)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.8.2 to 5.8.3.
- [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.8.2...5.8.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-30 11:41:38 +01:00
dependabot-preview[bot]
e282c43960 build(deps): bump @vue/cli-plugin-eslint in /website/client (#11670)
Bumps [@vue/cli-plugin-eslint](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-eslint) from 4.1.1 to 4.1.2.
- [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.1.2/packages/@vue/cli-plugin-eslint)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-30 11:40:38 +01:00
dependabot-preview[bot]
9f2fdda7e9 build(deps): bump @vue/cli-plugin-unit-mocha in /website/client (#11669)
Bumps [@vue/cli-plugin-unit-mocha](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-unit-mocha) from 4.1.1 to 4.1.2.
- [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.1.2/packages/@vue/cli-plugin-unit-mocha)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-30 11:38:31 +01:00
dependabot-preview[bot]
58304bebf4 build(deps): bump webpack from 4.41.4 to 4.41.5 in /website/client (#11673)
Bumps [webpack](https://github.com/webpack/webpack) from 4.41.4 to 4.41.5.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.41.4...v4.41.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-30 11:38:04 +01:00
dependabot-preview[bot]
9232b9351b build(deps): bump @vue/cli-plugin-babel in /website/client (#11668)
Bumps [@vue/cli-plugin-babel](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-babel) from 4.1.1 to 4.1.2.
- [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.1.2/packages/@vue/cli-plugin-babel)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-30 11:37:35 +01:00
dependabot-preview[bot]
25b23e118f build(deps): bump core-js from 3.6.0 to 3.6.1 in /website/client (#11672)
Bumps [core-js](https://github.com/zloirock/core-js) from 3.6.0 to 3.6.1.
- [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.6.0...v3.6.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-30 11:37:19 +01:00
dependabot-preview[bot]
c16795eadf build(deps): bump eslint-plugin-vue in /website/client (#11671)
Bumps [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) from 6.0.1 to 6.1.1.
- [Release notes](https://github.com/vuejs/eslint-plugin-vue/releases)
- [Commits](https://github.com/vuejs/eslint-plugin-vue/compare/v6.0.1...v6.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-30 11:37:09 +01:00
dependabot-preview[bot]
a6e1745b32 build(deps): bump @vue/cli-service in /website/client (#11667)
Bumps [@vue/cli-service](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-service) from 4.1.1 to 4.1.2.
- [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.1.2/packages/@vue/cli-service)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-30 11:36:25 +01:00
dependabot-preview[bot]
a0a3801dab build(deps): bump @vue/cli-plugin-router in /website/client (#11666)
Bumps [@vue/cli-plugin-router](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-router) from 4.1.1 to 4.1.2.
- [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.1.2/packages/@vue/cli-plugin-router)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-30 11:35:56 +01:00
Xaz16
2c65b3a6a3 Fix: remove unnecessary reassigment 2019-12-29 20:58:10 +03:00
Alys
4f084d330d show Reset Flag Count button to moderators regardless of post's flag status
This allows a moderator to flag a post then immediately unflag it,
without needing to re-fetch messages in between.
2019-12-28 15:50:26 +10:00
Sabe Jones
2007f7fc89 fix(event): bundle end date 2019-12-27 14:21:06 -06:00
Sabe Jones
f5b1804602 feat(winter): variegated snowfolks 2019-12-26 15:23:19 -06:00
Melior
0fd0a29a4d Merge branch 'origin/develop' into Weblate. 2019-12-26 21:25:35 +01:00
Melior
c7ae8dd531 Translated using Weblate (Latin)
Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/la/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (66 of 66 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (27 of 27 strings)

Translation: Habitica/Loginincentives
Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (483 of 483 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% (2013 of 2013 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% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/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 (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (70 of 70 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/pt_BR/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/fr/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2013 of 2013 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/fr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (Latin)

Currently translated at 26.5% (39 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/la/

Translated using Weblate (Latin)

Currently translated at 89.5% (436 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/la/

Translated using Weblate (Latin)

Currently translated at 86.5% (1742 of 2013 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/la/

Translated using Weblate (Latin)

Currently translated at 95.7% (202 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/la/

Translated using Weblate (French)

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/fr/

Translated using Weblate (German)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/de/

Translated using Weblate (Russian)

Currently translated at 98.8% (172 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ru/

Translated using Weblate (Spanish)

Currently translated at 97.1% (169 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/es/

Translated using Weblate (Russian)

Currently translated at 98.7% (1988 of 2013 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Spanish)

Currently translated at 90.5% (1822 of 2013 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (German)

Currently translated at 99.9% (2011 of 2013 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Russian)

Currently translated at 99.6% (297 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/ru/

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 (German)

Currently translated at 100.0% (677 of 677 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/

Translated using Weblate (Russian)

Currently translated at 100.0% (355 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ru/

Translated using Weblate (Spanish)

Currently translated at 100.0% (355 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/es/

Translated using Weblate (Russian)

Currently translated at 64.6% (42 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ru/

Translated using Weblate (Spanish)

Currently translated at 92.3% (60 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es/

Translated using Weblate (German)

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/de/

Translated using Weblate (Russian)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ru/
2019-12-26 21:23:13 +01:00
Sabe Jones
3ba8b04962 Merge branch 'release' into develop 2019-12-26 14:21:06 -06:00
Sabe Jones
225b3e77a1 4.127.4 2019-12-26 14:20:48 -06:00
Sabe Jones
da9e07d71a chore(news): bailey 2019-12-26 14:20:42 -06:00
Xaz16
4b4cc61031 Fix: remove unnecessary reassignments 2019-12-26 22:47:14 +03:00
Leland Wu
10bcb39b32 remove creating condition in challengeModal when selectingCategory 2019-12-24 22:53:01 -05:00
Melior
33b13a86da Merge branch 'origin/develop' into Weblate. 2019-12-23 21:29:05 +01:00
Melior
b40be0b3f0 Translated using Weblate (Vietnamese)
Currently translated at 3.0% (10 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/vi/

Translated using Weblate (Latin)

Currently translated at 100.0% (355 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/la/

Translated using Weblate (Latin)

Currently translated at 89.5% (436 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/la/

Translated using Weblate (Latin)

Currently translated at 93.9% (635 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/la/

Translated using Weblate (French)

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/fr/

Translated using Weblate (French)

Currently translated at 100.0% (2013 of 2013 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (676 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hans/

Translated using Weblate (Latin)

Currently translated at 100.0% (355 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/la/

Translated using Weblate (Latin)

Currently translated at 94.7% (162 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/la/

Translated using Weblate (Latin)

Currently translated at 98.6% (227 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (134 of 134 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/la/

Translated using Weblate (Latin)

Currently translated at 94.0% (636 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/la/

Translated using Weblate (Filipino)

Currently translated at 23.0% (15 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/fil/

Translated using Weblate (Latin)

Currently translated at 96.9% (64 of 66 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/la/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/fr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (66 of 66 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/fr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2013 of 2013 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (French)

Currently translated at 99.6% (2006 of 2013 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/fr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/fr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (676 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (355 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/fr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hans/

Translated using Weblate (Spanish)

Currently translated at 78.4% (51 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (Latin)

Currently translated at 25.1% (37 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/la/

Translated using Weblate (Latin)

Currently translated at 94.7% (162 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/la/

Translated using Weblate (Latin)

Currently translated at 98.6% (227 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/la/

Translated using Weblate (Latin)

Currently translated at 92.0% (127 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/la/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/vi/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hans/

Translated using Weblate (Spanish (Latin America))

Currently translated at 75.3% (49 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es_419/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (174 of 174 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% (174 of 174 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% (27 of 27 strings)

Translation: Habitica/Loginincentives
Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/zh_Hans/

Translated using Weblate (German)

Currently translated at 100.0% (174 of 174 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/de/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/pt_BR/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2013 of 2013 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2013 of 2013 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.9% (2012 of 2013 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/

Translated using Weblate (German)

Currently translated at 99.4% (2001 of 2013 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/pt_BR/

Translated using Weblate (German)

Currently translated at 99.6% (297 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/pt_BR/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hans/

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 (German)

Currently translated at 100.0% (328 of 328 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (676 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (676 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (355 of 355 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% (355 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/pt_BR/

Translated using Weblate (German)

Currently translated at 100.0% (355 of 355 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/de/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/pt_BR/

Translated using Weblate (Spanish)

Currently translated at 75.3% (49 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es/

Translated using Weblate (German)

Currently translated at 86.1% (56 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/de/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/pt_BR/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2013 of 2013 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2013 of 2013 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/
2019-12-23 21:28:40 +01:00
Sabe Jones
011a795af2 Merge branch 'release' into develop 2019-12-23 13:46:49 -06:00
Sabe Jones
726fd843de 4.127.3 2019-12-23 13:46:36 -06:00
Sabe Jones
a50c5aa28d fix(event): more Santa warning 2019-12-23 13:46:26 -06:00
Sabe Jones
5bcd1e8b6f Merge branch 'release' into develop 2019-12-23 13:10:09 -06:00
Sabe Jones
47b77edca7 4.127.2 2019-12-23 13:09:51 -06:00
Sabe Jones
730aefa2fa fix(event): Santa Warning and Wolf 2019-12-23 13:09:40 -06:00
Matteo Pagliazzi
527544354a fix typo in comment 2019-12-23 18:15:50 +01:00
negue
dd0bcfab97 fix challenge layout (#11620)
* wrap challenge task icons + margins

* full width challenge card on small devices + padding under add-challenge button
2019-12-23 18:10:48 +01:00
Yo
04a9c97393 Fix Typos (#11644)
* Fix Typos

* Fix More Typos
2019-12-23 17:52:55 +01:00
Timothy
7d2c5ed339 Fixed disappearing email form bug by forcing a refresh after submission, Fixes #11565 (#11614)
* Fixed disappearing form bug by forcing a refresh after submission

* Added reloadPage() to the changeEmail submit button

* Added indentation for the reloadPage() function

* Adjusted changeUser() function (added reloadPage)

Added reloadPage() function to the changeUser() function. This should allow the page to reload after the email is updated instead of before the function gets to finish updating the account's email

* Adjusted changeUser() function

Added  window.location.reload() to the changeUser() function. This should allow the page to reload after the email is updated instead of before the function gets to finish updating the account's email

* Adjusted changeUser function
2019-12-23 17:48:55 +01:00
Glendon Solsberry
b9af3fb40e Updates notifications screen to a more consistent UI (#11635) 2019-12-23 17:45:42 +01:00
dependabot-preview[bot]
6b072f0f8f build(deps): bump eslint from 6.7.2 to 6.8.0 in /website/client (#11651)
Bumps [eslint](https://github.com/eslint/eslint) from 6.7.2 to 6.8.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.7.2...v6.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 11:22:48 +01:00
dependabot-preview[bot]
92009c1100 build(deps): bump csv-stringify from 5.3.4 to 5.3.5 (#11655)
Bumps [csv-stringify](https://github.com/adaltas/node-csv-stringify) from 5.3.4 to 5.3.5.
- [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.3.4...v5.3.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 11:20:36 +01:00
dependabot-preview[bot]
383f353534 build(deps): bump @babel/preset-env from 7.7.6 to 7.7.7 (#11657)
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.7.6 to 7.7.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.6...v7.7.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 11:20:23 +01:00
dependabot-preview[bot]
5bc052c12c build(deps): bump superagent from 5.1.2 to 5.1.3 (#11653)
Bumps [superagent](https://github.com/visionmedia/superagent) from 5.1.2 to 5.1.3.
- [Release notes](https://github.com/visionmedia/superagent/releases)
- [Changelog](https://github.com/visionmedia/superagent/blob/master/HISTORY.md)
- [Commits](https://github.com/visionmedia/superagent/compare/v5.1.2...v5.1.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 11:20:01 +01:00
dependabot-preview[bot]
3490930594 build(deps): bump xml2js from 0.4.22 to 0.4.23 (#11660)
Bumps [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js) from 0.4.22 to 0.4.23.
- [Release notes](https://github.com/Leonidas-from-XIV/node-xml2js/releases)
- [Commits](https://github.com/Leonidas-from-XIV/node-xml2js/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 11:19:49 +01:00
dependabot-preview[bot]
7cd1871754 build(deps): bump sass from 1.23.7 to 1.24.0 in /website/client (#11648)
Bumps [sass](https://github.com/sass/dart-sass) from 1.23.7 to 1.24.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.23.7...1.24.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 11:19:09 +01:00
dependabot-preview[bot]
9309821c77 build(deps): bump core-js from 3.5.0 to 3.6.0 in /website/client (#11649)
Bumps [core-js](https://github.com/zloirock/core-js) from 3.5.0 to 3.6.0.
- [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.5.0...v3.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 11:18:58 +01:00
dependabot-preview[bot]
c13f45dceb build(deps): bump webpack from 4.41.2 to 4.41.4 in /website/client (#11650)
Bumps [webpack](https://github.com/webpack/webpack) from 4.41.2 to 4.41.4.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.41.2...v4.41.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 11:18:49 +01:00
dependabot-preview[bot]
8c661e55c7 build(deps): bump aws-sdk from 2.590.0 to 2.595.0 (#11652)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.590.0 to 2.595.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.590.0...v2.595.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 11:18:41 +01:00
dependabot-preview[bot]
4ef3ccd23b build(deps): bump mongoose from 5.8.1 to 5.8.2 (#11654)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.8.1 to 5.8.2.
- [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.8.1...5.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 11:18:17 +01:00
dependabot-preview[bot]
14821f39b0 build(deps): bump eslint from 6.7.2 to 6.8.0 (#11656)
Bumps [eslint](https://github.com/eslint/eslint) from 6.7.2 to 6.8.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.7.2...v6.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 11:18:07 +01:00
dependabot-preview[bot]
29ac38a60e build(deps): bump @babel/register from 7.7.4 to 7.7.7 (#11659)
Bumps [@babel/register](https://github.com/babel/babel) from 7.7.4 to 7.7.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.4...v7.7.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 11:17:53 +01:00
dependabot-preview[bot]
411219c4b2 build(deps): bump @babel/core from 7.7.5 to 7.7.7 (#11661)
Bumps [@babel/core](https://github.com/babel/babel) from 7.7.5 to 7.7.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.5...v7.7.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 11:17:35 +01:00
Melior
7cc744e28e Merge branch 'origin/develop' into Weblate. 2019-12-20 17:17:06 +01:00
Melior
da380567e9 Translated using Weblate (Latin)
Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/la/

Translated using Weblate (Swedish)

Currently translated at 91.7% (1821 of 1985 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/sv/

Translated using Weblate (Latin)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/la/

Translated using Weblate (Spanish)

Currently translated at 91.6% (1820 of 1985 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (676 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (676 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 100.0% (487 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

Translated using Weblate (Japanese)

Currently translated at 64.6% (42 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ja/

Translated using Weblate (Latin)

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/la/

Translated using Weblate (Latin)

Currently translated at 96.4% (27 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/la/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (171 of 171 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% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ja/

Translated using Weblate (Spanish (Latin America))

Currently translated at 52.3% (34 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es_419/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (169 of 169 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% (169 of 169 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% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/pt_BR/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 100.0% (298 of 298 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/ja/

Translated using Weblate (Japanese)

Currently translated at 98.5% (480 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (65 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/fr/

Translated using Weblate (German)

Currently translated at 84.6% (55 of 65 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/de/
2019-12-20 17:16:46 +01:00
Sabe Jones
c80977d236 Merge branch 'release' into develop 2019-12-20 10:13:19 -06:00
Sabe Jones
7d7654bb04 4.127.1 2019-12-20 10:12:59 -06:00
Sabe Jones
f7e9b467a5 fix(event): potions and bears 2019-12-20 10:12:45 -06:00
Matteo Pagliazzi
a05c7d2c6c fix(onboarding): make sure migration does not fail with missing field 2019-12-20 12:45:01 +01:00
Sabe Jones
86fce69928 4.127.0 2019-12-19 16:58:13 -06:00
Sabe Jones
1c45d170dd chore(sprites): compile 2019-12-19 16:58:08 -06:00
Sabe Jones
be107f02d3 Merge branch 'develop' into release 2019-12-19 16:55:10 -06:00
Sabe Jones
c4b16f86db feat(event): Wonderland 2019-20 2019-12-19 16:54:27 -06:00
Phillip Thelen
cc7d065445 Fix purchasing non-recurring subscriptions (#11646)
* Fix purchasing non-recurring subscriptions

This fixes a bug where non-recurring subscriptions were not correctly purchased on iOS.

* fix linter errors

* refactor(lint): line length
2019-12-19 11:13:39 -06:00
Matteo Pagliazzi
e4edab2b9d Minimum password length + Static Pages fixes (was #11474) (#11506)
* Revert "Revert "Minimum password length + Static Pages fixes (#11474)""

This reverts commit d1afbf4b92.

* add min length for reset password
2019-12-18 19:02:15 +01:00
Melior
fb1ea935e6 Merge branch 'origin/develop' into Weblate. 2019-12-17 21:53:13 +01:00
Melior
9795597c79 Translated using Weblate (Latin)
Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/la/

Translated using Weblate (Latin)

Currently translated at 94.1% (161 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/la/

Translated using Weblate (English (Pirate))

Currently translated at 95.1% (217 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/en@pirate/

Translated using Weblate (Czech)

Currently translated at 94.2% (130 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/cs/

Translated using Weblate (Russian)

Currently translated at 99.9% (1984 of 1985 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/en@pirate/

Translated using Weblate (Latin)

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/la/

Translated using Weblate (Latin)

Currently translated at 94.7% (162 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/la/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/vi/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/vi/

Translated using Weblate (Tamil)

Currently translated at 99.3% (480 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ta/

Translated using Weblate (Spanish)

Currently translated at 91.5% (1818 of 1985 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (Chinese (Traditional))

Currently translated at 86.6% (586 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hant/

Translated using Weblate (Romanian)

Currently translated at 100.0% (70 of 70 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/ro/

Translated using Weblate (Romanian)

Currently translated at 100.0% (135 of 135 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/ro/

Translated using Weblate (Romanian)

Currently translated at 84.3% (411 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ro/

Translated using Weblate (Romanian)

Currently translated at 19.0% (8 of 42 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ro/

Translated using Weblate (Latin)

Currently translated at 0.6% (2 of 327 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (354 of 354 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (4 of 4 strings)

Translation: Habitica/Noscript
Translate-URL: https://translate.habitica.com/projects/habitica/noscript/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (12 of 12 strings)

Translation: Habitica/Merch
Translate-URL: https://translate.habitica.com/projects/habitica/merch/la/

Translated using Weblate (Latin)

Currently translated at 95.2% (40 of 42 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (6 of 6 strings)

Translation: Habitica/Inventory
Translate-URL: https://translate.habitica.com/projects/habitica/inventory/la/

Translated using Weblate (Latin)

Currently translated at 98.9% (478 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/la/

Translated using Weblate (Latin)

Currently translated at 99.6% (295 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/la/

Translated using Weblate (Swedish)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/sv/

Translated using Weblate (Swedish)

Currently translated at 96.0% (219 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/sv/

Translated using Weblate (Swedish)

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/sv/

Translated using Weblate (Swedish)

Currently translated at 100.0% (327 of 327 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/sv/

Translated using Weblate (French)

Currently translated at 100.0% (327 of 327 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/fr/

Translated using Weblate (French)

Currently translated at 100.0% (42 of 42 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/fr/

Translated using Weblate (Latin)

Currently translated at 97.6% (41 of 42 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Latin)

Currently translated at 97.6% (41 of 42 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Latin)

Currently translated at 25.1% (37 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/la/

Translated using Weblate (Latin)

Currently translated at 90.6% (321 of 354 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/la/

Translated using Weblate (Latin)

Currently translated at 90.4% (38 of 42 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Swedish)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/sv/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (483 of 483 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% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (327 of 327 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 98.9% (669 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 99.7% (353 of 354 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% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/en@pirate/

Translated using Weblate (Japanese)

Currently translated at 97.1% (473 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

Translated using Weblate (Russian)

Currently translated at 97.6% (41 of 42 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (42 of 42 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/pt_BR/

Translated using Weblate (Latin)

Currently translated at 66.6% (236 of 354 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/la/

Translated using Weblate (Latin)

Currently translated at 64.2% (27 of 42 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/vi/

Translated using Weblate (Japanese)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (1985 of 1985 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Japanese)

Currently translated at 96.9% (472 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/

Translated using Weblate (Catalan)

Currently translated at 100.0% (487 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ca/

Translated using Weblate (Catalan)

Currently translated at 97.8% (225 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/ca/

Translated using Weblate (Catalan)

Currently translated at 100.0% (135 of 135 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/ca/

Translated using Weblate (Catalan)

Currently translated at 100.0% (487 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ca/

Translated using Weblate (Catalan)

Currently translated at 100.0% (42 of 42 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ca/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/vi/

Translated using Weblate (Japanese)

Currently translated at 100.0% (228 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (327 of 327 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (354 of 354 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (42 of 42 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hans/

Translated using Weblate (Swedish)

Currently translated at 100.0% (42 of 42 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/sv/

Translated using Weblate (Japanese)

Currently translated at 85.7% (36 of 42 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ja/

Translated using Weblate (Spanish)

Currently translated at 97.6% (41 of 42 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (42 of 42 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/en@pirate/

Translated using Weblate (German)

Currently translated at 100.0% (42 of 42 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/de/

Translated using Weblate (German)

Currently translated at 100.0% (42 of 42 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/de/
2019-12-17 21:52:53 +01:00
Sabe Jones
c36f01773f Merge branch 'release' into develop 2019-12-17 14:50:29 -06:00
Sabe Jones
a4eabc05e7 4.126.1 2019-12-17 14:46:49 -06:00
Sabe Jones
ae26cc3244 fix(test): expect two PMs during sub promo 2019-12-17 14:22:43 -06:00
Sabe Jones
9fe28c6d51 fix(g1g1): send promo confirmation to self 2019-12-17 14:16:56 -06:00
Sabe Jones
34983f1221 feat(event): turn on G1G1 2019 2019-12-17 14:04:55 -06:00
Matteo Pagliazzi
8f5a0cfe79 Onboarding guide and initial achievements refactoring (#11536)
* add achievements to user

* add placeholder strings

* add to achievements to common script

* add onboarding achievements category

* add notifications

* more notifications

* award achievements

* wip notification panel

* add achievements icons and copy

* do not count onboarding tasks for the created task achievement

* add notes

* sprites, fixes and completion status and reward

* add onboarding panel

* add toggle

* fix toggle size

* fix tests

* fix typo

* add notification

* start adding modal

* fix remove button positionin, timeout, progress bar

* modal + fixes

* disable broken social links from level up modal

* change toggle icon color on hover

* add border bottom to onboarding guide panel

* add collapse animation

* expanded onboarding on first open

* onboarding: flip toggle colors

* onboarding: show progress bar all the time

* onboarding: fix panel closing on click

* onboarding modal: add close icon and fix padding

* wip: add migration for existing users

* fix titles in guide

* fix achievements copy

* do not award completed task achievement when direction is down

* start implementing new achievements

* start migrating client

* remove social links from achievements modals

* prevent skipping tutorial + fix achievement notification

* sync fixes

* start redesign achievement modal

* misc fixes to achievements, polish generic achievement modal and hatched pet modal

* add special badge for onboarding

* fix badge condition

* modals fixes

* hatched pet modal: add close icon

* fix badge typo

* fix justin button

* new scrolling behavior for dropdowns

* fix strings capitalization

* add common tests

* add api unit tests

* add date check

* achievements modal polishing

* typos

* add toggle for achievements categories

* typo

* fix test

* fix edit avatar modal cannot be closed

* finish migration and correct launch date

* fix migration

* migration fixes

* fix tests
2019-12-16 17:20:47 +01:00
dependabot-preview[bot]
a00a8cced8 build(deps): bump passport from 0.4.0 to 0.4.1 (#11638)
Bumps [passport](https://github.com/jaredhanson/passport) from 0.4.0 to 0.4.1.
- [Release notes](https://github.com/jaredhanson/passport/releases)
- [Commits](https://github.com/jaredhanson/passport/compare/v0.4.0...v0.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 13:03:50 +01:00
dependabot-preview[bot]
1aceccc6c4 build(deps): bump mongoose from 5.7.14 to 5.8.1 (#11640)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.7.14 to 5.8.1.
- [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.7.14...5.8.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 13:03:42 +01:00
dependabot-preview[bot]
10c4baba4a build(deps): bump vue and vue-template-compiler in /website/client (#11639)
Bumps [vue](https://github.com/vuejs/vue) and [vue-template-compiler](https://github.com/vuejs/vue). These dependencies needed to be updated together.

Updates `vue` from 2.6.10 to 2.6.11
- [Release notes](https://github.com/vuejs/vue/releases)
- [Commits](https://github.com/vuejs/vue/compare/v2.6.10...v2.6.11)

Updates `vue-template-compiler` from 2.6.10 to 2.6.11
- [Release notes](https://github.com/vuejs/vue/releases)
- [Commits](https://github.com/vuejs/vue/compare/v2.6.10...v2.6.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 13:02:19 +01:00
dependabot-preview[bot]
56cdc94860 build(deps): bump aws-sdk from 2.585.0 to 2.590.0 (#11641)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.585.0 to 2.590.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.585.0...v2.590.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 13:01:33 +01:00
dependabot-preview[bot]
1346b71b81 build(deps): bump core-js from 3.4.8 to 3.5.0 in /website/client (#11642)
Bumps [core-js](https://github.com/zloirock/core-js) from 3.4.8 to 3.5.0.
- [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.4.8...v3.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 13:01:16 +01:00
Xaz16
2c0da084ea Fix: reassign object for user.items.quest to trigger change in vue view 2019-12-15 22:18:26 +03:00
Xaz16
6e183c3927 Fix: reassign object for user.items.food to trigger change in vue view 2019-12-15 22:14:40 +03:00
Xaz16
0f755ab80d Fix: reassign object for user.items.hatchingPotions to trigger change in vue view 2019-12-15 22:09:07 +03:00
Xaz16
8b780eaf0d Fix: pet tests 2019-12-15 22:00:34 +03:00
Xaz16
dec0488b08 Fix: reassign object for user.items.mounts to trigger change in vue view 2019-12-15 20:26:53 +03:00
Xaz16
aea02d735e Fix: reassign object for user.items.eggs to trigger change in vue view 2019-12-15 20:22:47 +03:00
Xaz16
3e476c4f52 Fix: reassign object for items.pets to trigger change in vue view 2019-12-15 20:05:11 +03:00
Xaz16
9cbdf0df42 Fix: reassign object for user.items.gear.owned to trigger change in vue view 2019-12-15 19:57:07 +03:00
osiris
104d888bfb Fix incorrect error when sending private messages (PMs) to a player you have blocked #11612
Introduce a new error type blockedToSendToThisUser for the cases where you have blocked a player from sending private messages to you, if you try to message them or if you try to transfer gems to them, you will see the error "You can't send to this player because you have block this player."
2019-12-15 19:18:16 +08:00
nikosmonaut
1c719a8dbb Unlink group tags when a user leaves it 2019-12-14 14:54:55 +01:00
Nik
023173fada Fix some tier username (#11634)
Onhover tier 3 and 5 the username still changes it's color
2019-12-13 14:27:21 +01:00
Matteo Pagliazzi
b5182ed7d4 Merge branch 'Xaz16-fix-antidotes-from-revert' into develop 2019-12-13 14:25:08 +01:00
Matteo Pagliazzi
315604073b Merge branch 'fix-antidotes-from-revert' of https://github.com/Xaz16/habitica into Xaz16-fix-antidotes-from-revert 2019-12-13 14:24:50 +01:00
Vamsi Jada
3a5e93f82e Render profile tab content when profile page is loaded via url. Fixes #11525 (#11588)
* Fix for issue 11525: Updated profile and profilePage components to render profile tab content by default in profile page

* Modified profilePage.vue to set default value for startingPage prop
2019-12-13 14:18:52 +01:00
Jonathan Duncan
a45b04b1cf APIDoc update for Tasks: fixes #10943 (#11594)
* Adding monthly and yearly to the frequency parameter.

* Adjusting frequency description to be more accurate.

* Adding missing fields: daysOfMonth and weeksOfMonth.

* Adjusting line length to meet lint standards.
2019-12-13 14:18:02 +01:00
moniwang
a49f95e1a5 Modified the sort for name to be case-insensitive, fixes #11547 (#11595)
* Modified the sort for name to be case-insensitive

* Added comments for added piece of code sorting members
2019-12-13 14:17:06 +01:00
动力小车
0ac12cb6a5 fix(challengeItem.vue): guild name hidden caused by the fixed height of container (#11618)
fix #11500
2019-12-13 14:16:24 +01:00
Carl Vuorinen
cd90a281c2 Prevent duplicate challenge tasks (#11502)
* Implement atomic user challenges update

Prevents multiple concurrent requests from passing through
Fixes #11295

* Move user challenges update to separate method

* Rename challenge syncToUser to syncTasksToUser

Now that adding the challenge to user is separated, this methods main purpose is to sync the tasks

* Fix lint errors
2019-12-13 14:14:57 +01:00
Sabe Jones
e223311aac fix(sprites): Robot color coding 2019-12-11 14:36:15 -06:00
Xaz16
00ea6a4c7f Merge remote-tracking branch 'upstream/develop' into develop 2019-12-11 22:39:01 +03:00
Melior
bdb3cf25c1 Merge branch 'origin/develop' into Weblate. 2019-12-10 21:49:26 +01:00
Melior
0bb69665f8 Translated using Weblate (Korean)
Currently translated at 1.5% (5 of 329 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/ko/

Translated using Weblate (Catalan)

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/ca/

Translated using Weblate (Catalan)

Currently translated at 100.0% (135 of 135 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/ca/

Translated using Weblate (Catalan)

Currently translated at 90.5% (441 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ca/

Translated using Weblate (Latin)

Currently translated at 50.0% (18 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Korean)

Currently translated at 72.2% (26 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ko/

Translated using Weblate (Catalan)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ca/

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (228 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/bg/

Translated using Weblate (German)

Currently translated at 100.0% (1985 of 1985 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (487 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt_BR/

Translated using Weblate (Danish)

Currently translated at 77.7% (28 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/da/

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/bg/

Translated using Weblate (Korean)

Currently translated at 1.2% (4 of 329 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/ko/

Translated using Weblate (Latin)

Currently translated at 64.1% (227 of 354 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/la/

Translated using Weblate (Korean)

Currently translated at 99.5% (229 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/ko/

Translated using Weblate (Korean)

Currently translated at 93.4% (455 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ko/

Translated using Weblate (Latin)

Currently translated at 38.8% (14 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Korean)

Currently translated at 63.8% (23 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ko/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (27 of 27 strings)

Translation: Habitica/Loginincentives
Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/vi/

Translated using Weblate (Spanish)

Currently translated at 100.0% (228 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/es/

Translated using Weblate (Spanish)

Currently translated at 99.2% (671 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (354 of 354 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/es/

Translated using Weblate (Russian)

Currently translated at 100.0% (487 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (Spanish)

Currently translated at 100.0% (487 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/

Translated using Weblate (Chinese (Traditional))

Currently translated at 27.7% (10 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hant/

Translated using Weblate (Latin)

Currently translated at 60.7% (215 of 354 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/la/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (27 of 27 strings)

Translation: Habitica/Loginincentives
Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/vi/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (228 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (228 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/bg/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/pt_BR/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (1985 of 1985 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (676 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (487 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/

Translated using Weblate (Bulgarian)

Currently translated at 92.6% (451 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/bg/

Translated using Weblate (Catalan)

Currently translated at 21.0% (31 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/ca/

Translated using Weblate (Latin)

Currently translated at 54.8% (194 of 354 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/la/

Translated using Weblate (Latin)

Currently translated at 27.7% (10 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Catalan)

Currently translated at 25.0% (9 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ca/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/vi/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hans/

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (228 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/bg/

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/bg/

Translated using Weblate (Latin)

Currently translated at 24.4% (36 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/la/

Translated using Weblate (Latin)

Currently translated at 54.8% (194 of 354 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/la/

Translated using Weblate (Latin)

Currently translated at 89.3% (435 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/la/

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (228 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/bg/

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (6 of 6 strings)

Translation: Habitica/Inventory
Translate-URL: https://translate.habitica.com/projects/habitica/inventory/bg/

Translated using Weblate (Swedish)

Currently translated at 91.1% (1810 of 1985 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/sv/

Translated using Weblate (Russian)

Currently translated at 99.8% (1983 of 1985 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (1985 of 1985 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (1985 of 1985 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (German)

Currently translated at 99.9% (1984 of 1985 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (487 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/

Translated using Weblate (Swedish)

Currently translated at 100.0% (487 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/sv/

Translated using Weblate (Russian)

Currently translated at 99.7% (486 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (Russian)

Currently translated at 99.7% (486 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.1% (483 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (487 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/fr/

Translated using Weblate (German)

Currently translated at 100.0% (487 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/

Translated using Weblate (Bulgarian)

Currently translated at 85.0% (414 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/bg/

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/bg/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (487 of 487 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/

Merge branch 'origin/develop' into Weblate.

Translated using Weblate (Latin)

Currently translated at 24.4% (36 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/la/

Translated using Weblate (Latin)

Currently translated at 0.9% (3 of 329 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/la/

Translated using Weblate (Latin)

Currently translated at 41.5% (147 of 354 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/la/

Translated using Weblate (Latin)

Currently translated at 90.6% (435 of 480 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/la/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/vi/

Translated using Weblate (Swedish)

Currently translated at 95.1% (217 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/sv/

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.6% (1955 of 1981 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 96.3% (651 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (Swedish)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/sv/
2019-12-10 21:49:05 +01:00
Sabe Jones
7a52386daf Merge branch 'release' into develop 2019-12-10 14:42:59 -06:00
Sabe Jones
6959d8b8d4 4.126.0 2019-12-10 14:42:19 -06:00
Sabe Jones
efb4efd768 chore(sprites): compile 2019-12-10 14:41:49 -06:00
Sabe Jones
40ba81a5d9 feat(content): FFFFFF Achievements 2019-12-10 14:41:39 -06:00
dependabot-preview[bot]
7e256c2d96 build(deps): bump @babel/core from 7.7.4 to 7.7.5 (#11623)
Bumps [@babel/core](https://github.com/babel/babel) from 7.7.4 to 7.7.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.4...v7.7.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-10 12:30:56 +01:00
dependabot-preview[bot]
5ea1211571 build(deps): bump csv-stringify from 5.3.3 to 5.3.4 (#11625)
Bumps [csv-stringify](https://github.com/adaltas/node-csv-stringify) from 5.3.3 to 5.3.4.
- [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.3.3...v5.3.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-10 12:29:38 +01:00
dependabot-preview[bot]
73a91c4f3c build(deps): bump habitica-markdown in /website/client (#11621)
Bumps [habitica-markdown](https://github.com/HabitRPG/habitica-markdown) from 1.3.0 to 1.3.2.
- [Release notes](https://github.com/HabitRPG/habitica-markdown/releases)
- [Commits](https://github.com/HabitRPG/habitica-markdown/compare/v1.3.0...v1.3.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-10 12:29:28 +01:00
dependabot-preview[bot]
185e695e31 build(deps): bump mongoose from 5.7.13 to 5.7.14 (#11622)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.7.13 to 5.7.14.
- [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.7.13...5.7.14)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-10 12:28:59 +01:00
dependabot-preview[bot]
6fdce9f51c build(deps): bump amplitude-js from 5.7.0 to 5.8.0 in /website/client (#11624)
Bumps [amplitude-js](https://github.com/amplitude/amplitude-javascript) from 5.7.0 to 5.8.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/v5.7.0...v5.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-10 12:27:58 +01:00
dependabot-preview[bot]
f905da7d57 build(deps): bump core-js from 3.4.5 to 3.4.8 in /website/client (#11626)
Bumps [core-js](https://github.com/zloirock/core-js) from 3.4.5 to 3.4.8.
- [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.4.5...v3.4.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-10 12:27:42 +01:00
dependabot-preview[bot]
33a69452e8 build(deps): bump @babel/preset-env from 7.7.4 to 7.7.6 (#11627)
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.7.4 to 7.7.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.4...v7.7.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-10 12:27:28 +01:00
dependabot-preview[bot]
a049b56a63 build(deps): bump @google-cloud/trace-agent from 4.2.3 to 4.2.4 (#11630)
Bumps [@google-cloud/trace-agent](https://github.com/googleapis/cloud-trace-nodejs) from 4.2.3 to 4.2.4.
- [Release notes](https://github.com/googleapis/cloud-trace-nodejs/releases)
- [Changelog](https://github.com/googleapis/cloud-trace-nodejs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/cloud-trace-nodejs/compare/v4.2.3...v4.2.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-10 12:27:10 +01:00
dependabot-preview[bot]
1e85ec9007 build(deps): bump aws-sdk from 2.580.0 to 2.585.0 (#11631)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.580.0 to 2.585.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.580.0...v2.585.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-10 12:26:53 +01:00
Alys
1d69f44e7e delete unused translation strings that cause problems for the Linguists
The Linguists had trouble translating them because they're sentence fragments.

The strings have been replaced by the `termsAndAgreement` string.
2019-12-09 09:10:14 +10:00
Xaz16
53a15f9fa0 fix: add images for debuff potions, update sprites 2019-12-07 23:03:26 +03:00
Xaz16
aa1fcb4956 Merge remote-tracking branch 'upstream/develop' into fix-antidotes-from-revert 2019-12-07 22:32:25 +03:00
negue
97a1d0f474 Storybook Example (#11494)
* 🎉 Working example of storybook and vue

* remove the older storybook version

* build storybook after client was built

* move storybook:build to npm-postintall

* remove automatically created eslint-disables + fix comment

* add back needed eslint :P + add @storybook/vue as devDep

* fix packagelock

* fix lint

* auto fixed lints + ignore dist/ node_modules/

* update package-lock.json

* add postbuild and readme

* add back customize config

* fix readme

* fix links in readme

* revert postbuild command
2019-12-05 22:35:23 +01:00
Sabe Jones
1cd1d45410 fix(test): independent notif check 2019-12-04 19:37:26 +00:00
Sabe Jones
9a13594cca fix(test): independent notif check 2019-12-04 19:36:50 +00:00
Matteo Pagliazzi
6c36ebc952 upgrade habitica-markdown 2019-12-04 17:00:37 +01:00
Sabe Jones
b6371971a2 Merge branch 'release' into develop 2019-12-03 20:27:27 +00:00
Sabe Jones
25caf1f850 4.125.0 2019-12-03 20:26:43 +00:00
Sabe Jones
3f1e8ceae4 chore(sprites): compile 2019-12-03 20:26:20 +00:00
Sabe Jones
1224d6d0c9 feat(content): Armoire and BGs 2019-12 2019-12-03 20:25:50 +00:00
Melior
11b1bf01cc Merge branch 'origin/develop' into Weblate. 2019-12-03 00:19:59 +01:00
Melior
393aef1b04 Translated using Weblate (Latin)
Currently translated at 21.4% (76 of 354 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/la/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (27 of 27 strings)

Translation: Habitica/Loginincentives
Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/vi/

Translated using Weblate (French)

Currently translated at 100.0% (228 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/

Translated using Weblate (Russian)

Currently translated at 100.0% (1981 of 1981 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (French)

Currently translated at 100.0% (1981 of 1981 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (French)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/fr/

Translated using Weblate (French)

Currently translated at 100.0% (676 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/fr/

Translated using Weblate (Turkish)

Currently translated at 25.0% (9 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/tr/

Translated using Weblate (Latin)

Currently translated at 19.7% (29 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/la/

Translated using Weblate (Latin)

Currently translated at 89.3% (429 of 480 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/la/

Translated using Weblate (Latin)

Currently translated at 93.8% (214 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/la/

Translated using Weblate (Latin)

Currently translated at 22.2% (8 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/vi/

Translated using Weblate (Latin)

Currently translated at 91.1% (154 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/la/

Translated using Weblate (German)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 89.1% (1766 of 1981 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.3% (1948 of 1981 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (German)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/de/

Translated using Weblate (Norwegian Bokmål)

Currently translated at 25.0% (9 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/nb_NO/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (27 of 27 strings)

Translation: Habitica/Loginincentives
Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/vi/

Translated using Weblate (Norwegian Bokmål)

Currently translated at 87.9% (1743 of 1981 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nb_NO/

Translated using Weblate (Japanese)

Currently translated at 99.5% (227 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ja/

Translated using Weblate (German)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (228 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (228 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (228 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (228 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pt_BR/

Translated using Weblate (German)

Currently translated at 100.0% (228 of 228 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/de/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pt_BR/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (169 of 169 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% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ru/

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.0% (1943 of 1981 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 99.8% (1979 of 1981 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Russian)

Currently translated at 99.8% (1979 of 1981 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Russian)

Currently translated at 99.8% (1979 of 1981 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (1981 of 1981 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/

Translated using Weblate (German)

Currently translated at 100.0% (1981 of 1981 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Russian)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/pt_BR/

Translated using Weblate (Russian)

Currently translated at 100.0% (676 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (676 of 676 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% (354 of 354 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/pt_BR/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/ru/
2019-12-03 00:19:37 +01:00
Sabe Jones
3466e62aa5 Merge branch 'release' into develop 2019-12-02 17:16:17 -06:00
Sabe Jones
2565772093 4.124.1 2019-12-02 17:15:50 -06:00
Sabe Jones
11ebc6c397 chore(event): end Turkeys, Bailey 2019-12-02 17:15:41 -06:00
dependabot-preview[bot]
afd82784b2 build(deps): bump @vue/cli-plugin-router in /website/client (#11598)
Bumps [@vue/cli-plugin-router](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-router) from 4.0.5 to 4.1.1.
- [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.1.1/packages/@vue/cli-plugin-router)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 09:57:40 +01:00
dependabot-preview[bot]
ad20d451b3 build(deps): bump @vue/cli-service in /website/client (#11601)
Bumps [@vue/cli-service](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-service) from 4.0.5 to 4.1.1.
- [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.1.1/packages/@vue/cli-service)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 09:57:30 +01:00
dependabot-preview[bot]
29046cc2d5 build(deps): bump stripe from 7.13.1 to 7.14.0 (#11606)
Bumps [stripe](https://github.com/stripe/stripe-node) from 7.13.1 to 7.14.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/v7.13.1...v7.14.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 09:56:06 +01:00
dependabot-preview[bot]
e8a19c32fe build(deps): bump @vue/cli-plugin-eslint in /website/client (#11597)
Bumps [@vue/cli-plugin-eslint](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-eslint) from 4.0.5 to 4.1.1.
- [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.1.1/packages/@vue/cli-plugin-eslint)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 09:55:39 +01:00
dependabot-preview[bot]
37fc8850a8 build(deps): bump bootstrap from 4.3.1 to 4.4.1 in /website/client (#11599)
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 4.3.1 to 4.4.1.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v4.3.1...v4.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 09:55:18 +01:00
dependabot-preview[bot]
302fa9b4b9 build(deps): bump core-js from 3.4.2 to 3.4.5 in /website/client (#11596)
Bumps [core-js](https://github.com/zloirock/core-js) from 3.4.2 to 3.4.5.
- [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.4.2...v3.4.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 09:54:29 +01:00
dependabot-preview[bot]
b2102657af build(deps): bump @vue/cli-plugin-unit-mocha in /website/client (#11604)
Bumps [@vue/cli-plugin-unit-mocha](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-unit-mocha) from 4.0.5 to 4.1.1.
- [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.1.1/packages/@vue/cli-plugin-unit-mocha)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 09:53:33 +01:00
dependabot-preview[bot]
0b16ec775e build(deps): bump @vue/cli-plugin-babel in /website/client (#11602)
Bumps [@vue/cli-plugin-babel](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-babel) from 4.0.5 to 4.1.1.
- [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.1.1/packages/@vue/cli-plugin-babel)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 09:53:17 +01:00
dependabot-preview[bot]
9edac6d56e build(deps): bump superagent from 5.1.1 to 5.1.2 (#11603)
Bumps [superagent](https://github.com/visionmedia/superagent) from 5.1.1 to 5.1.2.
- [Release notes](https://github.com/visionmedia/superagent/releases)
- [Changelog](https://github.com/visionmedia/superagent/blob/master/HISTORY.md)
- [Commits](https://github.com/visionmedia/superagent/compare/v5.1.1...v5.1.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 09:52:41 +01:00
Matteo Pagliazzi
a5bfec0c95 build(deps): bump eslint from 6.7.1 to 6.7.2 in /website/client (#11607)
Bumps [eslint](https://github.com/eslint/eslint) from 6.7.1 to 6.7.2.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.7.1...v6.7.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 09:51:38 +01:00
dependabot-preview[bot]
891bb2e2ae build(deps): bump mongoose from 5.7.12 to 5.7.13 (#11608)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.7.12 to 5.7.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.7.12...5.7.13)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 09:51:20 +01:00
dependabot-preview[bot]
297cce06fc build(deps): bump aws-sdk from 2.578.0 to 2.580.0 (#11609)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.578.0 to 2.580.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.578.0...v2.580.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 09:51:02 +01:00
dependabot-preview[bot]
c5587fcbdb build(deps): bump eslint from 6.7.1 to 6.7.2 (#11610)
Bumps [eslint](https://github.com/eslint/eslint) from 6.7.1 to 6.7.2.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.7.1...v6.7.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 09:50:49 +01:00
dependabot-preview[bot]
6314a53136 build(deps): bump eslint from 6.7.1 to 6.7.2 in /website/client
Bumps [eslint](https://github.com/eslint/eslint) from 6.7.1 to 6.7.2.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.7.1...v6.7.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 07:31:51 +00:00
Nik
9379325731 Fix edit challenge twice bug (#11591)
Description: Use of a same object property group for differents types between a
challenge and workingChallenge
workingChallenge use group as and id but this.challenge have a group
object

Fix: Wait for server response for challenge edit. Set this.challenge
from response and not directly from form data workingChallenge
2019-11-29 20:12:56 +01:00
alicemliu
59c4b32d69 remain on party invites tab after removing invite - fixes #11523 (#11548)
* fixed party members view to remain on invites tab after removing invite if any remain

* removed redundant viewInvites() call
2019-11-29 20:09:03 +01:00
Phillip Thelen
b108b047cd Improvements and fixes for push notifications (#11507)
* Strip markdown from push notifications

* Revert "Strip markdown from push notifications"

This reverts commit 4741e584c6.

* correctly set type for mention push notifications

* Add unformattedText field to chat messages

* fiix lint errors

* Add check that markdown formatting is stripped from messages

* Add check for markdown formatting in messages.
2019-11-29 18:46:26 +01:00
Melior
3c394e7448 Merge branch 'origin/develop' into Weblate. 2019-11-27 22:51:50 +01:00
Melior
e8eb014647 Translated using Weblate (Latin)
Currently translated at 0.6% (2 of 329 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/la/

Translated using Weblate (English)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/en@lolcat/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (227 of 227 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/ru/

Translated using Weblate (French)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/fr/

Translated using Weblate (German)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ru/

Translated using Weblate (German)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/de/

Translated using Weblate (Russian)

Currently translated at 100.0% (66 of 66 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ru/

Translated using Weblate (French)

Currently translated at 100.0% (1977 of 1977 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/

Translated using Weblate (German)

Currently translated at 100.0% (1977 of 1977 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Russian)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ru/

Translated using Weblate (Chinese (Simplified))

Currently translated at 96.3% (651 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (676 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ru/

Translated using Weblate (Polish)

Currently translated at 88.6% (599 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pl/

Translated using Weblate (French)

Currently translated at 99.4% (672 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/fr/

Translated using Weblate (German)

Currently translated at 100.0% (676 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (354 of 354 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (354 of 354 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (354 of 354 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ru/

Translated using Weblate (French)

Currently translated at 100.0% (354 of 354 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/fr/

Translated using Weblate (German)

Currently translated at 100.0% (354 of 354 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/de/

Translated using Weblate (Japanese)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (German)

Currently translated at 100.0% (676 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/

Translated using Weblate (German)

Currently translated at 100.0% (676 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/

Translated using Weblate (Russian)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (676 of 676 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ru/
2019-11-27 22:51:11 +01:00
Sabe Jones
0f9f8a7723 4.124.0 2019-11-27 15:48:15 -06:00
Sabe Jones
45efbc1e4b Merge branch 'develop' into release 2019-11-27 15:48:03 -06:00
Sabe Jones
faec0bc979 chore(sprites): compile 2019-11-27 15:45:46 -06:00
Sabe Jones
e597906f35 feat(content): Harvest Feast 2019 2019-11-27 15:45:37 -06:00
Sabe Jones
42de623fc6 feat(content): December Mystery Items prebuild 2019-11-27 15:00:24 -06:00
Brennan Davis
fb74f59ae5 11498: fixed issues with Dockerfile-Dev (#11518) 2019-11-27 14:01:13 -06:00
Sabe Jones
6395070eb6 Award mystery items at cron (#11519)
* feat(subscriber): award mystery items at cron

* fix(mystery): backfill skipped months

* fix(mystery): adjust subscriber text

* fix(mystery): correct moment logic
and remove irrelevant tests

* fix(mystery): build set one month in advance

* fix(mystery): don't add empty set to Time Travelers

* refactor(mystery): readability
2019-11-27 12:10:56 -06:00
Melior
d0033322f7 Merge branch 'origin/develop' into Weblate. 2019-11-26 23:04:07 +01:00
Melior
76b5332d78 Translated using Weblate (Japanese)
Currently translated at 100.0% (227 of 227 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ja/

Translated using Weblate (French)

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/fr/

Translated using Weblate (French)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/fr/

Translated using Weblate (Russian)

Currently translated at 88.8% (56 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ru/

Translated using Weblate (Swedish)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/sv/

Translated using Weblate (Chinese (Traditional))

Currently translated at 99.0% (209 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hant/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (15 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/vi/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (211 of 211 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% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/en@pirate/

Translated using Weblate (Russian)

Currently translated at 100.0% (227 of 227 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ru/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/en@pirate/

Translated using Weblate (French)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/fr/

Translated using Weblate (Russian)

Currently translated at 99.7% (482 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (1977 of 1977 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Russian)

Currently translated at 85.7% (54 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ru/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/en@pirate/

Translated using Weblate (Swedish)

Currently translated at 100.0% (480 of 480 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/sv/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (480 of 480 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% (480 of 480 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en@pirate/

Translated using Weblate (Swedish)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/sv/

Translated using Weblate (Russian)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ru/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/en@pirate/

Translated using Weblate (Latin)

Currently translated at 12.1% (43 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/la/

Translated using Weblate (French)

Currently translated at 100.0% (227 of 227 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/

Translated using Weblate (German)

Currently translated at 100.0% (227 of 227 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/de/

Translated using Weblate (French)

Currently translated at 100.0% (66 of 66 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/fr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/fr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 97.7% (1933 of 1977 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (1977 of 1977 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (227 of 227 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 96.0% (218 of 227 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ja/

Translated using Weblate (German)

Currently translated at 100.0% (227 of 227 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/de/

Translated using Weblate (Czech)

Currently translated at 99.1% (225 of 227 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/cs/

Translated using Weblate (Czech)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/cs/

Translated using Weblate (Czech)

Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/cs/

Translated using Weblate (Japanese)

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

Translated using Weblate (Russian)

Currently translated at 99.8% (1975 of 1977 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (1977 of 1977 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (German)

Currently translated at 100.0% (1977 of 1977 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (German)

Currently translated at 100.0% (1977 of 1977 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Czech)

Currently translated at 91.5% (1810 of 1977 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/cs/

Translated using Weblate (Czech)

Currently translated at 100.0% (353 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/cs/

Translated using Weblate (Czech)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/cs/

Translated using Weblate (Swedish)

Currently translated at 63.8% (23 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/sv/

Translated using Weblate (Japanese)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ja/
2019-11-26 23:03:45 +01:00
Sabe Jones
e8f9c4953e Merge branch 'release' into develop 2019-11-26 15:59:03 -06:00
Sabe Jones
cf3a092f06 4.123.0 2019-11-26 15:58:40 -06:00
Sabe Jones
ae9bca3ac7 chore(sprites): compile 2019-11-26 15:58:27 -06:00
Sabe Jones
194f2d512a feat(content): Amber Hatching Potion Quest 2019-11-26 15:58:18 -06:00
Adam Fitzgibbon
f70f7b2a1c update members list and count when joining or leaving challenge (#11542)
* update members list and count when joining or leaving challenge

* remove custom ui logic and use response/fetch data to update challenge
2019-11-25 17:19:52 +01:00
citrusella
9a6f98b0b5 Reference group plans in rebirthPop (#11546) 2019-11-25 17:14:06 +01:00
Nik
bfd960b7b6 Force reward value to 0 when empty field (#11564) 2019-11-25 17:11:01 +01:00
negue
91d75bae29 Avatar Edit Modal: addtional none options (#11539)
* addtional none options

* show gear-"none"-options as active if property has no value
2019-11-25 17:07:16 +01:00
Matteo Pagliazzi
8983e7fea2 Merge pull request #11562 from HabitRPG/sabrecat/bulk-email-fix
Better promise handling for bulk emailing
2019-11-25 16:48:15 +01:00
Sabe Jones
bff88434fd fix(resting): correction corrections 2019-11-25 09:03:04 -06:00
Sabe Jones
a1d31e37a3 fix(strings): corrections 2019-11-25 09:02:23 -06:00
Matteo Pagliazzi
c09a014d8d build(deps): bump stripe from 7.13.0 to 7.13.1 (#11584)
Bumps [stripe](https://github.com/stripe/stripe-node) from 7.13.0 to 7.13.1.
- [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/v7.13.0...v7.13.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 15:46:30 +01:00
dependabot-preview[bot]
ca8b232e01 build(deps): bump aws-sdk from 2.573.0 to 2.578.0 (#11583)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.573.0 to 2.578.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.573.0...v2.578.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 15:46:24 +01:00
dependabot-preview[bot]
af7ce402e5 build(deps): bump eslint from 6.6.0 to 6.7.1 (#11580)
Bumps [eslint](https://github.com/eslint/eslint) from 6.6.0 to 6.7.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.6.0...v6.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 15:45:51 +01:00
dependabot-preview[bot]
e82d415d5f build(deps): bump @babel/core from 7.7.2 to 7.7.4 (#11579)
Bumps [@babel/core](https://github.com/babel/babel) from 7.7.2 to 7.7.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.2...v7.7.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 15:45:36 +01:00
Matteo Pagliazzi
3839fd276b Merge pull request #11576 from HabitRPG/dependabot/npm_and_yarn/babel/register-7.7.4
build(deps): bump @babel/register from 7.7.0 to 7.7.4
2019-11-25 15:45:23 +01:00
Matteo Pagliazzi
987801fa83 build(deps): bump smartbanner.js in /website/client (#11574)
Bumps [smartbanner.js](https://github.com/ain/smartbanner.js) from 1.14.6 to 1.15.0.
- [Release notes](https://github.com/ain/smartbanner.js/releases)
- [Commits](https://github.com/ain/smartbanner.js/compare/v1.14.6...v1.15.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 15:45:12 +01:00
dependabot-preview[bot]
f9c288acdf build(deps): bump core-js from 3.4.1 to 3.4.2 in /website/client (#11575)
Bumps [core-js](https://github.com/zloirock/core-js) from 3.4.1 to 3.4.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.4.1...v3.4.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 15:45:06 +01:00
dependabot-preview[bot]
49b8ec22f4 build(deps): bump stripe from 7.13.0 to 7.13.1
Bumps [stripe](https://github.com/stripe/stripe-node) from 7.13.0 to 7.13.1.
- [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/v7.13.0...v7.13.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 14:44:55 +00:00
dependabot-preview[bot]
d3a4c3eaea build(deps): bump smartbanner.js in /website/client
Bumps [smartbanner.js](https://github.com/ain/smartbanner.js) from 1.14.6 to 1.15.0.
- [Release notes](https://github.com/ain/smartbanner.js/releases)
- [Commits](https://github.com/ain/smartbanner.js/compare/v1.14.6...v1.15.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 14:44:49 +00:00
dependabot-preview[bot]
2dea0c0b9c build(deps): bump @babel/register from 7.7.0 to 7.7.4
Bumps [@babel/register](https://github.com/babel/babel) from 7.7.0 to 7.7.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.0...v7.7.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 14:44:45 +00:00
dependabot-preview[bot]
6a6963103b build(deps): bump sass from 1.23.6 to 1.23.7 in /website/client (#11572)
Bumps [sass](https://github.com/sass/dart-sass) from 1.23.6 to 1.23.7.
- [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.23.6...1.23.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 15:44:41 +01:00
dependabot-preview[bot]
62986426ba build(deps): bump mongoose from 5.7.11 to 5.7.12 (#11577)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.7.11 to 5.7.12.
- [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.7.11...5.7.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 15:44:12 +01:00
dependabot-preview[bot]
95c8302c9a build(deps): bump bcrypt from 3.0.6 to 3.0.7 (#11581)
Bumps [bcrypt](https://github.com/kelektiv/node.bcrypt.js) from 3.0.6 to 3.0.7.
- [Release notes](https://github.com/kelektiv/node.bcrypt.js/releases)
- [Changelog](https://github.com/kelektiv/node.bcrypt.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kelektiv/node.bcrypt.js/compare/v3.0.6...v3.0.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 15:43:14 +01:00
dependabot-preview[bot]
cf75888ffe build(deps): bump superagent from 5.1.0 to 5.1.1 (#11586)
Bumps [superagent](https://github.com/visionmedia/superagent) from 5.1.0 to 5.1.1.
- [Release notes](https://github.com/visionmedia/superagent/releases)
- [Changelog](https://github.com/visionmedia/superagent/blob/master/HISTORY.md)
- [Commits](https://github.com/visionmedia/superagent/compare/v5.1.0...v5.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 15:42:44 +01:00
dependabot-preview[bot]
f939208cdb build(deps): bump @babel/preset-env from 7.7.1 to 7.7.4 (#11587)
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.7.1 to 7.7.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.1...v7.7.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 15:42:34 +01:00
dependabot-preview[bot]
ffe5340cf2 build(deps): bump eslint from 6.6.0 to 6.7.1 in /website/client (#11568)
Bumps [eslint](https://github.com/eslint/eslint) from 6.6.0 to 6.7.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.6.0...v6.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 15:42:26 +01:00
dependabot-preview[bot]
750ce0d6cc build(deps): bump amplitude-js from 5.6.0 to 5.7.0 in /website/client (#11569)
Bumps [amplitude-js](https://github.com/amplitude/amplitude-javascript) from 5.6.0 to 5.7.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/commits/v5.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 15:42:16 +01:00
dependabot-preview[bot]
9af9c553d4 build(deps): bump svg-url-loader from 3.0.2 to 3.0.3 in /website/client (#11570)
Bumps [svg-url-loader](https://github.com/bhovhannes/svg-url-loader) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/bhovhannes/svg-url-loader/releases)
- [Commits](https://github.com/bhovhannes/svg-url-loader/compare/v3.0.2...v3.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 15:42:05 +01:00
Sabe Jones
6705ce0dec Use new indexes in GDPR script (#11567)
* fix(script): use new indexes

* fix(lint): linting errors

* fix(lint): moar lint
2019-11-25 08:09:49 -06:00
Melior
0fb421897e Merge branch 'origin/develop' into Weblate. 2019-11-21 23:23:54 +01:00
Melior
d20d254c6f Translated using Weblate (Bengali)
Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/bn/

Translated using Weblate (Bengali)

Currently translated at 100.0% (135 of 135 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/bn/

Translated using Weblate (Latin)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/la/

Translated using Weblate (Bengali)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/bn/

Translated using Weblate (Bengali)

Currently translated at 92.3% (156 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/bn/

Translated using Weblate (Bengali)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/bn/

Translated using Weblate (French)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/fr/

Translated using Weblate (French)

Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/fr/

Translated using Weblate (French)

Currently translated at 100.0% (1973 of 1973 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (Japanese)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ja/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (15 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/vi/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/en@pirate/

Translated using Weblate (Chinese (Simplified))

Currently translated at 97.9% (1933 of 1973 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Japanese)

Currently translated at 86.1% (31 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ja/

Translated using Weblate (Russian)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/fr/

Translated using Weblate (Spanish)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/es/

Translated using Weblate (German)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/de/
2019-11-21 23:23:17 +01:00
Sabe Jones
7d78a7b320 4.122.0 2019-11-21 16:17:48 -06:00
Sabe Jones
2362976f14 Merge branch 'develop' into release 2019-11-21 16:17:43 -06:00
Sabe Jones
99b63456c8 chore(sprites): compile 2019-11-21 16:17:16 -06:00
Sabe Jones
e0b8cfbaa7 feat(content): mystery items Nov 2019 2019-11-21 16:17:06 -06:00
Sabe Jones
4ca4fd9ae7 fix(teams): allow dismissal of taks approval requests 2019-11-21 16:16:28 -06:00
Sabe Jones
bb84b6f6c2 fix(sprites): small pig/dragon tweaks 2019-11-21 16:15:59 -06:00
Xaz16
da8346ea50 Fix: if wrapping 2019-11-20 10:05:11 +03:00
Melior
451df7d50d Merge branch 'origin/develop' into Weblate. 2019-11-19 22:28:21 +01:00
Melior
3a359cc057 Translated using Weblate (Spanish)
Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/es/

Translated using Weblate (Chinese (Simplified))

Currently translated at 97.9% (1932 of 1973 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Japanese)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 96.5% (647 of 670 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Spanish)

Currently translated at 100.0% (670 of 670 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (353 of 353 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% (353 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/en@pirate/

Translated using Weblate (Danish)

Currently translated at 75.0% (27 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/da/

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.5% (208 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (353 of 353 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% (353 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/en@pirate/

Translated using Weblate (French)

Currently translated at 100.0% (1973 of 1973 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (Swedish)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/sv/

Translated using Weblate (Japanese)

Currently translated at 98.4% (62 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ja/

Translated using Weblate (Swedish)

Currently translated at 99.7% (352 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/sv/

Translated using Weblate (Swedish)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/sv/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/vi/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (1973 of 1973 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (French)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/fr/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (670 of 670 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (670 of 670 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/fr/

Translated using Weblate (German)

Currently translated at 100.0% (353 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/de/

Translated using Weblate (Japanese)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/ja/

Translated using Weblate (Portuguese)

Currently translated at 25.0% (9 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/pt/

Translated using Weblate (Latin)

Currently translated at 3.1% (11 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/la/

Translated using Weblate (Latin)

Currently translated at 98.6% (227 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/la/

Translated using Weblate (Japanese)

Currently translated at 58.7% (37 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ja/

Translated using Weblate (Russian)

Currently translated at 100.0% (670 of 670 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ru/

Translated using Weblate (German)

Currently translated at 100.0% (670 of 670 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/

Translated using Weblate (German)

Currently translated at 100.0% (353 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/de/

Translated using Weblate (Japanese)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/ja/

Translated using Weblate (Swedish)

Currently translated at 93.3% (448 of 480 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/sv/
2019-11-19 22:27:49 +01:00
Sabe Jones
66b2b47f87 Merge branch 'release' into develop 2019-11-19 15:26:23 -06:00
Sabe Jones
8992542125 4.121.1 2019-11-19 15:26:05 -06:00
Sabe Jones
23bd51d486 chore(news): BlogBailey 2019-11-19 15:25:53 -06:00
Sabe Jones
b4efe11e6a fix(async): remove catch, add return 2019-11-19 12:59:53 -06:00
Sabe Jones
46822ecbae fix(email): better promise handling 2019-11-19 12:53:21 -06:00
Sabe Jones
85c979a22d fix(i18n): remove unused string 2019-11-19 12:50:48 -06:00
dependabot-preview[bot]
ed02913e9d build(deps): bump aws-sdk from 2.568.0 to 2.573.0 (#11553)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.568.0 to 2.573.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.568.0...v2.573.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-18 08:59:08 +01:00
dependabot-preview[bot]
84ecb7c701 build(deps): bump mongoose from 5.7.9 to 5.7.11 (#11554)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.7.9 to 5.7.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.7.9...5.7.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-18 08:58:19 +01:00
dependabot-preview[bot]
dbd283514c build(deps): bump gulp-imagemin from 6.1.1 to 6.2.0 (#11552)
Bumps [gulp-imagemin](https://github.com/sindresorhus/gulp-imagemin) from 6.1.1 to 6.2.0.
- [Release notes](https://github.com/sindresorhus/gulp-imagemin/releases)
- [Commits](https://github.com/sindresorhus/gulp-imagemin/compare/v6.1.1...v6.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-18 08:57:33 +01:00
dependabot-preview[bot]
12f802709b build(deps): bump @google-cloud/trace-agent from 4.2.2 to 4.2.3 (#11555)
Bumps [@google-cloud/trace-agent](https://github.com/googleapis/cloud-trace-nodejs) from 4.2.2 to 4.2.3.
- [Release notes](https://github.com/googleapis/cloud-trace-nodejs/releases)
- [Changelog](https://github.com/googleapis/cloud-trace-nodejs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/cloud-trace-nodejs/compare/v4.2.2...v4.2.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-18 08:56:52 +01:00
dependabot-preview[bot]
a504f69b8a build(deps): bump bootstrap-vue from 2.0.4 to 2.1.0 in /website/client (#11559)
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.0.4 to 2.1.0.
- [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.0.4...v2.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-18 08:56:31 +01:00
dependabot-preview[bot]
ca8e6c74f6 build(deps): bump sass from 1.23.3 to 1.23.6 in /website/client (#11556)
Bumps [sass](https://github.com/sass/dart-sass) from 1.23.3 to 1.23.6.
- [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.23.3...1.23.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-18 08:55:50 +01:00
dependabot-preview[bot]
b9dbc0f829 build(deps): bump eslint-plugin-vue in /website/client (#11557)
Bumps [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/vuejs/eslint-plugin-vue/releases)
- [Commits](https://github.com/vuejs/eslint-plugin-vue/compare/v6.0.0...v6.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-18 08:55:22 +01:00
dependabot-preview[bot]
789248a8a4 build(deps): bump core-js from 3.4.0 to 3.4.1 in /website/client (#11558)
Bumps [core-js](https://github.com/zloirock/core-js) from 3.4.0 to 3.4.1.
- [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.4.0...v3.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-18 08:54:57 +01:00
Xaz16
0731dcd453 Fix: lint 2019-11-17 23:57:42 +03:00
Xaz16
960985dee5 Merge branch 'develop' into fix-antidotes-from-revert 2019-11-17 23:54:09 +03:00
Xaz16
eb991ae5eb Merge remote-tracking branch 'upstream/develop' into develop 2019-11-17 23:53:44 +03:00
Aleksey
eaad244181 Refactoring & Fix: editing group and challenges from user dashboard (#11418)
* Refactoring & Feature: edit/delete group and challenge tasks

- Remove showOption from tasks props
- Pass all needed data to task for understand in mapGetter function which controls we should show
- Improve current solution with edit and delete logic

* Fix: this in template

* Fix & Test: extend tests, fix can Edit/Delete functions

* Fix: allow user edit challenge tasks on dashboard

* Fix: test case after code change

* fix import path

* Fix:

- Extend canEdit and canDelete functions with admin role
- Clarify canEdit and canDelete conditions
- Extend test cases
2019-11-16 18:36:27 +01:00
Adam Fitzgibbon
a859dbd646 updated tier styles so that they maintain their color on hover and click (#11513) 2019-11-16 18:16:23 +01:00
Vamsi Jada
106290a11e Changes for fixing issue 11420 (#11521) 2019-11-16 18:14:10 +01:00
citrusella
3fa0bac36f hatching modal auto height to accommodate longer strings (#11538) 2019-11-16 18:10:34 +01:00
mistergij
b40dee9e68 Update isFreeRebirth.js (#11505) 2019-11-16 17:58:37 +01:00
Matteo Pagliazzi
6a9ffae758 Merge branch 'develop' of github.com:HabitRPG/habitica into develop 2019-11-16 17:57:24 +01:00
Adam Fitzgibbon
f1ce7f23c3 fix padding on various pages (#11493)
* fix padding on various pages

* some additional padding

* update to use bootstrap built in spacing classes
2019-11-16 17:55:30 +01:00
Matteo Pagliazzi
f093634cb2 Merge branch '9603_FixLeftPadding' of https://github.com/adamfitzgibbon/habitica into develop 2019-11-16 17:54:58 +01:00
Evelyn Stender
5f0672f3a6 Allow update webhook label with an empty string (#11479)
* Allow update webhook label with an empty string

* Adding comment to explain the label check
2019-11-16 17:52:27 +01:00
Collin Styles
eca1d8501c Hook up label to input for dontShowAgain checkbox (#11455)
Now if the user clicks on the label for the checkbox, it will (un)check
the associated checkbox.
2019-11-16 17:50:24 +01:00
Tanmoy Bhowmik
3fc0fec95e 11457 fix(task): remove z-index (#11460)
* fix(task): remove z-index

* fix(task): add z-index on hover with a value of 11
2019-11-16 17:43:29 +01:00
Matteo Pagliazzi
f4f1eac92d Merge branch 'Markkop-firefox-extension-link' into develop 2019-11-16 17:39:00 +01:00
Matteo Pagliazzi
0e679f0fea settings fixes: show description for other extensions and remove unwanted changes from locales 2019-11-16 17:38:48 +01:00
Matteo Pagliazzi
d55d3fc56d Merge branch 'firefox-extension-link' of https://github.com/Markkop/habitica into Markkop-firefox-extension-link 2019-11-16 17:33:10 +01:00
Melior
9a6347afb6 Merge branch 'origin/develop' into Weblate. 2019-11-14 22:16:06 +01:00
Melior
20fa676fae Translated using Weblate (Norwegian Bokmål)
Currently translated at 4.0% (6 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/nb_NO/

Translated using Weblate (Norwegian Bokmål)

Currently translated at 2.7% (9 of 329 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/nb_NO/

Translated using Weblate (Latin)

Currently translated at 3.1% (11 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/la/

Translated using Weblate (Latin)

Currently translated at 98.6% (227 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/la/

Translated using Weblate (Norwegian Bokmål)

Currently translated at 19.4% (7 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/nb_NO/

Translated using Weblate (Norwegian Bokmål)

Currently translated at 88.3% (1743 of 1973 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nb_NO/

Translated using Weblate (Norwegian Bokmål)

Currently translated at 84.1% (53 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/nb_NO/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/vi/

Translated using Weblate (Spanish (Latin America))

Currently translated at 99.2% (125 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/es_419/

Translated using Weblate (Japanese)

Currently translated at 47.6% (30 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/ja/

Translated using Weblate (Latin)

Currently translated at 2.2% (8 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/la/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/vi/

Translated using Weblate (Latin)

Currently translated at 98.6% (227 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/la/

Translated using Weblate (Swedish)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/sv/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/fr/

Translated using Weblate (English (Pirate))

Currently translated at 94.0% (159 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 94.0% (159 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/en@pirate/

Translated using Weblate (German)

Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/de/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/en@pirate/

Translated using Weblate (Russian)

Currently translated at 100.0% (1973 of 1973 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Swedish)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/sv/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (668 of 668 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% (668 of 668 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% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/en@pirate/
2019-11-14 22:14:46 +01:00
Sabe Jones
4e627aad41 4.121.0 2019-11-14 15:09:24 -06:00
Sabe Jones
27d8ad32e6 Merge branch 'develop' into release 2019-11-14 15:09:18 -06:00
Sabe Jones
39fd60267c chore(sprites): compile 2019-11-14 15:08:57 -06:00
Sabe Jones
645f40f7e0 feat(content): Delightful Dinos Bundle 2019-11-14 15:08:45 -06:00
Matteo Pagliazzi
2842087a43 Achievements Fixes (#11540)
* achievements fixes to timeout and modal

* fix string
2019-11-13 21:59:48 +01:00
Melior
3c4d8949de Merge branch 'origin/develop' into Weblate. 2019-11-12 22:39:28 +01:00
Melior
2a7f4c0551 Translated using Weblate (English (Pirate))
Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (329 of 329 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% (70 of 70 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 99.0% (209 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 99.0% (209 of 211 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% (329 of 329 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% (329 of 329 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% (329 of 329 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% (329 of 329 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% (329 of 329 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% (329 of 329 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% (329 of 329 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 98.1% (207 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 98.1% (207 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 98.1% (207 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 98.1% (207 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/en@pirate/

Translated using Weblate (Japanese)

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/ja/

Translated using Weblate (Japanese)

Currently translated at 99.1% (479 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

Translated using Weblate (Swedish)

Currently translated at 95.0% (635 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/sv/

Translated using Weblate (Swedish)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/sv/

Translated using Weblate (Japanese)

Currently translated at 100.0% (135 of 135 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/ja/

Translated using Weblate (Japanese)

Currently translated at 61.1% (22 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ja/

Translated using Weblate (Vietnamese)

Currently translated at 85.4% (410 of 480 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/vi/

Translated using Weblate (Latin)

Currently translated at 99.6% (295 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/la/

Translated using Weblate (Spanish)

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (480 of 480 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/

Translated using Weblate (Latin)

Currently translated at 89.1% (428 of 480 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/la/

Translated using Weblate (Japanese)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 97.9% (1932 of 1973 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Czech)

Currently translated at 89.3% (1763 of 1973 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/cs/

Translated using Weblate (Chinese (Simplified))

Currently translated at 95.9% (641 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (135 of 135 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (480 of 480 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/

Translated using Weblate (Czech)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/cs/
2019-11-12 22:38:35 +01:00
Sabe Jones
5212e72e77 Merge branch 'release' into develop 2019-11-12 15:36:18 -06:00
Sabe Jones
d49c89eff8 4.120.2 2019-11-12 15:31:22 -06:00
Sabe Jones
dc303fb1de feat(content): enable some Magic Hatching Potions 2019-11-12 15:31:17 -06:00
dependabot-preview[bot]
1883a0aca3 build(deps): bump mongoose from 5.7.7 to 5.7.9 (#11533)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.7.7 to 5.7.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.7.7...5.7.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 14:08:20 +01:00
dependabot-preview[bot]
06339a1504 build(deps): bump @babel/preset-env from 7.6.3 to 7.7.1 (#11530)
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.6.3 to 7.7.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.3...v7.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 14:08:00 +01:00
dependabot-preview[bot]
71b5db1461 build(deps): bump stripe from 7.11.0 to 7.13.0 (#11532)
Bumps [stripe](https://github.com/stripe/stripe-node) from 7.11.0 to 7.13.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/v7.11.0...v7.13.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 13:16:22 +01:00
dependabot-preview[bot]
8420a2cf23 build(deps): bump aws-sdk from 2.562.0 to 2.568.0 (#11535)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.562.0 to 2.568.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.562.0...v2.568.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 13:15:40 +01:00
dependabot-preview[bot]
67b19f0658 build(deps): bump @babel/core from 7.6.4 to 7.7.2 (#11534)
Bumps [@babel/core](https://github.com/babel/babel) from 7.6.4 to 7.7.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.4...v7.7.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 13:15:26 +01:00
dependabot-preview[bot]
0f34103a58 build(deps): bump @babel/register from 7.6.2 to 7.7.0 (#11529)
Bumps [@babel/register](https://github.com/babel/babel) from 7.6.2 to 7.7.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.2...v7.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 12:05:04 +01:00
dependabot-preview[bot]
e2e320a3b6 build(deps): bump glob from 7.1.5 to 7.1.6 (#11528)
Bumps [glob](https://github.com/isaacs/node-glob) from 7.1.5 to 7.1.6.
- [Release notes](https://github.com/isaacs/node-glob/releases)
- [Changelog](https://github.com/isaacs/node-glob/blob/master/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v7.1.5...v7.1.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 12:04:48 +01:00
Matteo Pagliazzi
2d4516eaa7 Merge pull request #11527 from HabitRPG/dependabot/npm_and_yarn/website/client/eslint-plugin-vue-6.0.0
build(deps): bump eslint-plugin-vue from 5.2.3 to 6.0.0 in /website/client
2019-11-11 11:23:27 +01:00
Matteo Pagliazzi
1c7e1e5aff Merge pull request #11526 from HabitRPG/dependabot/npm_and_yarn/website/client/core-js-3.4.0
build(deps): bump core-js from 3.3.6 to 3.4.0 in /website/client
2019-11-11 11:23:20 +01:00
dependabot-preview[bot]
44a7a0159b build(deps): bump eslint-plugin-vue in /website/client
Bumps [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) from 5.2.3 to 6.0.0.
- [Release notes](https://github.com/vuejs/eslint-plugin-vue/releases)
- [Commits](https://github.com/vuejs/eslint-plugin-vue/compare/v5.2.3...v6.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 10:18:11 +00:00
dependabot-preview[bot]
2091c407b0 build(deps): bump core-js from 3.3.6 to 3.4.0 in /website/client
Bumps [core-js](https://github.com/zloirock/core-js) from 3.3.6 to 3.4.0.
- [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.3.6...v3.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 10:16:37 +00:00
Melior
81ce84db31 Merge branch 'origin/develop' into Weblate. 2019-11-08 23:04:05 +01:00
Sabe Jones
319621d4fe chore(strings): remove outdated unused strings 2019-11-08 16:03:05 -06:00
Sabe Jones
45f7be0266 4.120.1 2019-11-08 14:15:45 -06:00
Melior
035a7f124b Translated using Weblate (Latin)
Currently translated at 98.6% (227 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (137 of 137 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/la/

Translated using Weblate (German)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/de/

Translated using Weblate (Japanese)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/ja/

Translated using Weblate (English (Pirate))

Currently translated at 92.8% (157 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/en@pirate/

Translated using Weblate (Japanese)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/ja/

Translated using Weblate (German)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/de/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/en@pirate/

Translated using Weblate (German)

Currently translated at 100.0% (668 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/

Translated using Weblate (German)

Currently translated at 100.0% (353 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/de/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (480 of 480 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/en@pirate/

Translated using Weblate (Swedish)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/sv/

Translated using Weblate (Japanese)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ja/

Translated using Weblate (German)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/de/

Translated using Weblate (German)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/de/

Translated using Weblate (German)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/de/

Translated using Weblate (Latin)

Currently translated at 98.6% (227 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/la/

Translated using Weblate (Latin)

Currently translated at 100.0% (137 of 137 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/la/

Translated using Weblate (Latin)

Currently translated at 85.4% (410 of 480 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/la/

Translated using Weblate (Latin)

Currently translated at 19.4% (7 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/la/

Translated using Weblate (Latin)

Currently translated at 97.1% (205 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/la/

Translated using Weblate (Russian)

Currently translated at 100.0% (1973 of 1973 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (French)

Currently translated at 100.0% (1973 of 1973 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (German)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/de/

Translated using Weblate (French)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/fr/

Translated using Weblate (French)

Currently translated at 100.0% (480 of 480 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/fr/

Translated using Weblate (German)

Currently translated at 100.0% (480 of 480 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/

Translated using Weblate (Russian)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ru/

Translated using Weblate (German)

Currently translated at 100.0% (66 of 66 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/de/

Translated using Weblate (Russian)

Currently translated at 100.0% (1973 of 1973 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (1973 of 1973 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (German)

Currently translated at 100.0% (1973 of 1973 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/pt_BR/

Translated using Weblate (German)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.9% (475 of 480 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (480 of 480 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (480 of 480 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (480 of 480 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt_BR/

Translated using Weblate (German)

Currently translated at 100.0% (480 of 480 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/

Translated using Weblate (Czech)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/cs/
2019-11-08 21:06:07 +01:00
Melior
d0ba8b7d30 Merge branch 'develop' of github.com:HabitRPG/habitica into develop 2019-11-05 17:53:41 +01:00
Sabe Jones
a32622c81f fix(invites): correct link constant 2019-11-05 10:47:08 -06:00
Melior
5e4efb71a6 Merge branch 'origin/develop' into Weblate. 2019-11-05 17:38:45 +01:00
Melior
55c4e37f68 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/zh_Hans/

Translated using Weblate (Spanish)

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/es/

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.3% (1932 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Spanish)

Currently translated at 92.4% (1816 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (473 of 473 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% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/en@pirate/

Translated using Weblate (Latin)

Currently translated at 18.3% (27 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/la/

Translated using Weblate (Latin)

Currently translated at 95.2% (636 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/la/

Translated using Weblate (Latin)

Currently translated at 92.0% (127 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/la/

Translated using Weblate (Basque)

Currently translated at 13.8% (5 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/eu/

Translated using Weblate (English)

Currently translated at 77.7% (28 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/en@lolcat/

Translated using Weblate (Latin)

Currently translated at 100.0% (15 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/la/

Translated using Weblate (English)

Currently translated at 88.9% (314 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/en@lolcat/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (226 of 226 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (Spanish)

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/es/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hans/

Translated using Weblate (Spanish)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/es/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (169 of 169 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% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/

Translated using Weblate (Spanish)

Currently translated at 92.3% (1815 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (English (Pirate))

Currently translated at 89.9% (1767 of 1965 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% (329 of 329 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hans/

Translated using Weblate (English (Pirate))

Currently translated at 94.6% (334 of 353 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% (137 of 137 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/zh_Hans/

Translated using Weblate (Spanish)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es/

Translated using Weblate (English (Pirate))

Currently translated at 97.2% (35 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/en@pirate/

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.1% (207 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (Spanish)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/es/

Translated using Weblate (Spanish)

Currently translated at 92.3% (1815 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (226 of 226 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/es/

Translated using Weblate (German)

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/de/

Translated using Weblate (Spanish (Latin America))

Currently translated at 100.0% (473 of 473 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es_419/

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.1% (1928 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Spanish)

Currently translated at 92.0% (1808 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (668 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (353 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/es/

Added translation using Weblate (Javanese)

Added translation using Weblate (English)

Added translation using Weblate (Chinese (Hong Kong))

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Urdu (Pakistan))

Added translation using Weblate (Klingon)

Added translation using Weblate (Tagalog)

Added translation using Weblate (Thai)

Added translation using Weblate (Tamil)

Added translation using Weblate (Swahili)

Added translation using Weblate (Sundanese)

Added translation using Weblate (Slovenian)

Added translation using Weblate (Sinhala)

Added translation using Weblate (Scots)

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Norwegian Nynorsk)

Added translation using Weblate (Malay)

Added translation using Weblate (Marathi)

Added translation using Weblate (Mongolian)

Added translation using Weblate (Malayalam)

Added translation using Weblate (Macedonian)

Added translation using Weblate (Latvian)

Added translation using Weblate (Lithuanian)

Added translation using Weblate (Lingala)

Added translation using Weblate (Latin)

Added translation using Weblate (Kurdish)

Added translation using Weblate (Korean)

Added translation using Weblate (Javanese)

Added translation using Weblate (Lojban)

Added translation using Weblate (Icelandic)

Added translation using Weblate (Croatian)

Added translation using Weblate (Hindi)

Added translation using Weblate (Hawaiian)
2019-11-05 17:38:25 +01:00
Sabe Jones
b441cfa9f3 Merge branch 'release' into develop 2019-11-05 10:30:30 -06:00
Sabe Jones
99599953f5 4.120.0 2019-11-05 10:29:59 -06:00
Sabe Jones
b4a517f2d3 chore(sprites): compile 2019-11-05 10:29:48 -06:00
Sabe Jones
3e2a49103e feat(content): Armoire and BGs 2019-11
and disable October Magic Potions
2019-11-05 10:29:39 -06:00
Matteo Pagliazzi
159b4857ba build(deps): bump core-js from 3.3.4 to 3.3.6 in /website/client (#11510)
Bumps [core-js](https://github.com/zloirock/core-js) from 3.3.4 to 3.3.6.
- [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.3.4...v3.3.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-04 15:21:25 +01:00
dependabot-preview[bot]
aa518862e3 build(deps): bump aws-sdk from 2.561.0 to 2.562.0 (#11509)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.561.0 to 2.562.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.561.0...v2.562.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-04 15:21:20 +01:00
dependabot-preview[bot]
a2a2fea40f build(deps): bump svgo from 1.3.0 to 1.3.2 in /website/client (#11511)
Bumps [svgo](https://github.com/svg/svgo) from 1.3.0 to 1.3.2.
- [Release notes](https://github.com/svg/svgo/releases)
- [Changelog](https://github.com/svg/svgo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/svg/svgo/compare/v1.3.0...v1.3.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-04 15:21:08 +01:00
dependabot-preview[bot]
3c1c92dd68 build(deps): bump sass from 1.23.1 to 1.23.3 in /website/client (#11512)
Bumps [sass](https://github.com/sass/dart-sass) from 1.23.1 to 1.23.3.
- [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.23.1...1.23.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-04 15:20:58 +01:00
dependabot-preview[bot]
8ab50dc316 build(deps): bump core-js from 3.3.4 to 3.3.6 in /website/client
Bumps [core-js](https://github.com/zloirock/core-js) from 3.3.4 to 3.3.6.
- [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.3.4...v3.3.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-04 13:55:47 +00:00
Adam Fitzgibbon
25603634db update to use bootstrap built in spacing classes 2019-11-03 20:14:22 -06:00
Markkop
ef5d6d7889 fix(settings): fix indentation 2019-11-03 16:53:49 -03:00
Markkop
f15a32255b fix(settings): fix settings.json 2019-11-03 16:49:04 -03:00
Markkop
a7fc1aa7a7 fix(settings): fix settings.json 2019-11-03 16:45:46 -03:00
Xaz16
e86b23a98a Merge remote-tracking branch 'upstream/develop' into develop 2019-11-03 21:05:31 +03:00
Sarah Eisa
84d76a2ebc Fix market dropdownmenu default text (#11481)
* Fix market dropdownmenu default text

Add text attribute to b-dropdown in filterDropdown component

* Fix market dropdownmenu default text 

delete the text attribute form b-dropdown because it wasn't the right  solution
In filterDropdown b-dropdown tag change the span slot to button-content
to match the recent changes in bootstrap vue
2019-11-02 17:59:57 +01:00
Matteo Pagliazzi
9988b1e82d Revert "fix(challenge export): do not fetch users and tasks concurrently"
This reverts commit 4d88787ba0.
2019-11-02 14:24:14 +01:00
Matteo Pagliazzi
da4dd07de1 fix linting script to make sure errors are reported 2019-11-02 13:08:37 +01:00
Matteo Pagliazzi
4d88787ba0 fix(challenge export): do not fetch users and tasks concurrently 2019-11-02 12:43:51 +01:00
Sabe Jones
6e9ab1dbbb Merge branch 'release' into develop 2019-11-01 20:14:55 -05:00
Sabe Jones
0fca0ed147 4.119.2 2019-11-01 20:14:37 -05:00
Sabe Jones
74d3141195 chore(sprites): compile 2019-11-01 20:13:59 -05:00
Sabe Jones
a2a251b2f1 chore(event): end Fall Festival & Habitoween 2019-11-01 20:13:52 -05:00
leodalmacio
853b9313f6 [Issue-11394] Challenge Creation/Edit Screen Should Not Close Except By X Button (#11409) 2019-11-01 19:02:22 +01:00
Julien Midedji
a7c814262b Set specific subpage that is requested when profile is shown (#11412) 2019-11-01 19:02:01 +01:00
Adam Fitzgibbon
f02992faa5 moved the free hairstyles to the top of the modal (#11416) 2019-11-01 19:01:46 +01:00
Evelyn Stender
d98614d403 Show 0 in the gem prize box if gem prize is null (#11453)
* show 0 in the gem prize box if gem prize is null

* adding space between brackets
2019-11-01 19:01:28 +01:00
Andy Smith
0482941934 Docs: Fixing small typos (#11454)
* docs: fix typos

* Reverting typo in vagrant doc
2019-11-01 19:01:15 +01:00
Adam Fitzgibbon
cf00bddd6f add group by for hatchable sort (#11459)
* add group by for hatchable sort

* fix display bug when pets are owned
2019-11-01 19:00:59 +01:00
Adam Fitzgibbon
dfd79c9c1a Use username in challenge member dropdown (#11478)
* update challenge member dropdown and api to display and search by username rather than display name

* remove accidental whitespace

* fix api test
2019-11-01 19:00:42 +01:00
cheng-shiqi
2741721161 Fix: Preventing adding duplicated task ID to taskOrder fix for #11385 (#11408)
* Preventing adding duplicated task ID to taskOrder object when creating new tasks

* refactor: not using Sets for taskOrderToAdd[]

* refactor: remove unnecessary checking
2019-11-01 19:00:21 +01:00
Sabe Jones
751d284f14 fix(text): Orb no longer always free
Fixes #11278
2019-11-01 12:11:52 -05:00
Sabe Jones
52719ac685 fix(lint): line length 2019-10-31 15:32:20 -05:00
Sabe Jones
e6d20fead7 4.119.1 2019-10-31 15:18:19 -05:00
Melior
f7c23ccac8 Merge branch 'origin/develop' into Weblate. 2019-10-31 21:06:08 +01:00
Melior
819f7433db Translated using Weblate (Chinese (Simplified))
Currently translated at 98.0% (1927 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Spanish)

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (171 of 171 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% (473 of 473 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es_419/

Translated using Weblate (Russian)

Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ru/

Translated using Weblate (Chinese (Simplified))

Currently translated at 97.6% (1919 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 97.6% (1919 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (1965 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Dutch)

Currently translated at 92.3% (1815 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (French)

Currently translated at 100.0% (1965 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (Spanish)

Currently translated at 90.4% (1777 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (Japanese)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/ja/

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 (Japanese)

Currently translated at 42.8% (27 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 95.8% (640 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Spanish)

Currently translated at 100.0% (78 of 78 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/es/

Translated using Weblate (Japanese)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (473 of 473 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 97.2% (35 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ru/

Translated using Weblate (Spanish)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/es/

Translated using Weblate (German)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/de/

Added translation using Weblate (Galician)

Added translation using Weblate (Irish)

Added translation using Weblate (Frisian)

Added translation using Weblate (Filipino)

Added translation using Weblate (Finnish)

Added translation using Weblate (Persian)

Added translation using Weblate (Basque)

Added translation using Weblate (Estonian)

Added translation using Weblate (Esperanto)

Added translation using Weblate (English)

Added translation using Weblate (Greek)

Added translation using Weblate (Catalan)

Added translation using Weblate (Bosnian)

Added translation using Weblate (Bengali)

Added translation using Weblate (Belarusian)

Added translation using Weblate (Arabic)

Added translation using Weblate (Afrikaans)

Added translation using Weblate (Acholi)

Added translation using Weblate (Chinese (Hong Kong))

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Urdu (Pakistan))

Added translation using Weblate (Klingon)

Added translation using Weblate (Tagalog)

Added translation using Weblate (Thai)

Added translation using Weblate (Tamil)

Added translation using Weblate (Swahili)

Added translation using Weblate (Sundanese)

Added translation using Weblate (Slovenian)

Added translation using Weblate (Sinhala)

Added translation using Weblate (Scots)

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Norwegian Nynorsk)

Added translation using Weblate (Malay)

Added translation using Weblate (Marathi)

Added translation using Weblate (Mongolian)

Added translation using Weblate (Malayalam)

Added translation using Weblate (Macedonian)

Added translation using Weblate (Latvian)

Added translation using Weblate (Lithuanian)

Added translation using Weblate (Lingala)

Added translation using Weblate (Latin)

Added translation using Weblate (Kurdish)

Added translation using Weblate (Korean)

Added translation using Weblate (Javanese)

Added translation using Weblate (Lojban)

Added translation using Weblate (Icelandic)

Added translation using Weblate (Croatian)

Added translation using Weblate (Hindi)

Added translation using Weblate (Hawaiian)

Added translation using Weblate (Galician)

Added translation using Weblate (Irish)

Added translation using Weblate (Frisian)

Added translation using Weblate (Filipino)

Added translation using Weblate (Finnish)

Added translation using Weblate (Persian)

Added translation using Weblate (Basque)

Added translation using Weblate (Estonian)

Added translation using Weblate (Esperanto)

Added translation using Weblate (English)

Added translation using Weblate (Greek)

Added translation using Weblate (Catalan)

Added translation using Weblate (Bosnian)

Added translation using Weblate (Bengali)

Added translation using Weblate (Belarusian)

Added translation using Weblate (Arabic)

Added translation using Weblate (Afrikaans)

Added translation using Weblate (Acholi)

Translated using Weblate (Spanish)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es/

Translated using Weblate (Afrikaans)

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/af/

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/nb_NO/

Translated using Weblate (Malay)

Currently translated at 100.0% (137 of 137 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/ms/

Translated using Weblate (Hindi)

Currently translated at 100.0% (137 of 137 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/hi/

Translated using Weblate (Lithuanian)

Currently translated at 86.6% (410 of 473 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/lt/

Translated using Weblate (Irish)

Currently translated at 94.2% (213 of 226 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ga/

Translated using Weblate (Lithuanian)

Currently translated at 95.2% (636 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/lt/

Translated using Weblate (Galician)

Currently translated at 95.2% (636 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/gl/

Translated using Weblate (Lithuanian)

Currently translated at 92.0% (127 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/lt/

Translated using Weblate (Vietnamese)

Currently translated at 96.7% (30 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/vi/

Translated using Weblate (Lithuanian)

Currently translated at 90.5% (153 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/lt/

Translated using Weblate (Galician)

Currently translated at 89.9% (152 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/gl/

Translated using Weblate (Tagalog)

Currently translated at 98.9% (478 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/tl/

Translated using Weblate (Belarusian)

Currently translated at 98.9% (478 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/be/

Translated using Weblate (Latvian)

Currently translated at 88.7% (1743 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/lv/

Translated using Weblate (Lithuanian)

Currently translated at 88.7% (1743 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/lt/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/vi/

Translated using Weblate (Scots)

Currently translated at 41.2% (26 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/sco/

Translated using Weblate (Swedish)

Currently translated at 99.5% (210 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/sv/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (226 of 226 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (226 of 226 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (German)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/de/

Translated using Weblate (Russian)

Currently translated at 100.0% (226 of 226 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (226 of 226 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (226 of 226 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hans/

Translated using Weblate (Turkish)

Currently translated at 97.6% (167 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/tr/

Translated using Weblate (Russian)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ru/

Translated using Weblate (German)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/de/

Translated using Weblate (Spanish (Latin America))

Currently translated at 88.9% (1747 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es_419/

Translated using Weblate (Romanian)

Currently translated at 96.7% (30 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/ro/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/

Translated using Weblate (Japanese)

Currently translated at 99.1% (479 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

Translated using Weblate (Italian)

Currently translated at 97.5% (471 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/it/

Translated using Weblate (Chinese (Simplified))

Currently translated at 97.5% (1917 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (1965 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (1965 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (1965 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (German)

Currently translated at 100.0% (1965 of 1965 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hans/

Translated using Weblate (German)

Currently translated at 100.0% (329 of 329 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (15 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 87.4% (584 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 95.8% (640 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 95.8% (640 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Portuguese)

Currently translated at 87.1% (582 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pt/

Translated using Weblate (Dutch)

Currently translated at 98.5% (658 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/nl/

Translated using Weblate (Hebrew)

Currently translated at 86.9% (581 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/he/

Translated using Weblate (Dutch)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/nl/

Translated using Weblate (Spanish)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/es/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (353 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (353 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (353 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ru/

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.7% (467 of 473 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 94.4% (34 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ru/

Translated using Weblate (Chinese (Traditional))

Currently translated at 98.1% (207 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.1% (207 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (Japanese)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ja/

Translated using Weblate (German)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/de/

Added translation using Weblate (Latin)

Translated using Weblate (German)

Currently translated at 100.0% (226 of 226 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/de/

Translated using Weblate (German)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/de/

Translated using Weblate (German)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/de/
2019-10-31 21:05:03 +01:00
Sabe Jones
bfc84be690 4.119.0 2019-10-31 15:03:42 -05:00
Sabe Jones
5cf2c592b5 chore(sprites): compile 2019-10-31 15:03:35 -05:00
Sabe Jones
d79e0b32d2 feat(event): Habitoween 2019 2019-10-31 15:03:25 -05:00
Sabe Jones
2ab197745a fix(build): more adjustments for Docker 2019-10-31 19:00:56 +00:00
Sabe Jones
7f29088c29 fix(build): move babel to main deps & update Dockerfile 2019-10-31 18:33:56 +00:00
Sabe Jones
d1afbf4b92 Revert "Minimum password length + Static Pages fixes (#11474)"
This reverts commit e1d30eec98.
2019-10-31 13:16:09 -05:00
Matteo Pagliazzi
e1d30eec98 Minimum password length + Static Pages fixes (#11474)
* password min length: server + client side registering

* tweak text, add tests

* misc

* use red border for invalid inputs

* fix auth form for groups

* remove default firefox box shadown on invalid elements

* fix css in authForm

* fix margings

* misc fixes to forms and buttons

* fix typo
2019-10-30 13:47:35 +01:00
Adam Fitzgibbon
2ca3c225c4 some additional padding 2019-10-29 22:03:57 -05:00
Adam Fitzgibbon
9ceb45b058 fix padding on various pages 2019-10-28 23:04:13 -05:00
Xaz16
aedabd2266 Fix
- Rewrite exports of debuffPotion functions
- Force clear debuffPotions in setDebuffPotionItems to make the same behavior as in develop branch
- Change class of debuffPotion items to shop_{key}
- Resolve lint warnings
2019-10-29 00:27:41 +03:00
Xaz16
60a12e8090 after merge 2019-10-28 23:15:45 +03:00
Xaz16
33e9e7b647 Merge remote-tracking branch 'upstream/develop' into develop 2019-10-28 22:56:36 +03:00
dependabot-preview[bot]
1cf3ba26b7 build(deps): bump eslint from 6.5.1 to 6.6.0 in /website/client (#11488)
Bumps [eslint](https://github.com/eslint/eslint) from 6.5.1 to 6.6.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.5.1...v6.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 11:54:13 +01:00
dependabot-preview[bot]
8a57d77550 build(deps-dev): bump eslint from 6.5.1 to 6.6.0 (#11489)
Bumps [eslint](https://github.com/eslint/eslint) from 6.5.1 to 6.6.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.5.1...v6.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 11:52:28 +01:00
Matteo Pagliazzi
11b7cfe176 Merge pull request #11486 from HabitRPG/dependabot/npm_and_yarn/website/client/core-js-3.3.4
build(deps): bump core-js from 3.3.3 to 3.3.4 in /website/client
2019-10-28 11:51:38 +01:00
Matteo Pagliazzi
2432492e81 Merge pull request #11484 from HabitRPG/dependabot/npm_and_yarn/website/client/eslint-config-habitrpg-6.2.0
build(deps): bump eslint-config-habitrpg from 6.1.0 to 6.2.0 in /website/client
2019-10-28 11:49:57 +01:00
Matteo Pagliazzi
c75fdd6b3a Merge pull request #11485 from HabitRPG/dependabot/npm_and_yarn/mongoose-5.7.7
build(deps): bump mongoose from 5.7.6 to 5.7.7
2019-10-28 11:49:42 +01:00
Matteo Pagliazzi
d52d79f2b1 Merge pull request #11487 from HabitRPG/dependabot/npm_and_yarn/eslint-config-habitrpg-6.2.0
build(deps-dev): bump eslint-config-habitrpg from 6.1.0 to 6.2.0
2019-10-28 11:49:26 +01:00
Matteo Pagliazzi
92d19eff80 Merge pull request #11491 from HabitRPG/dependabot/npm_and_yarn/aws-sdk-2.556.0
build(deps): bump aws-sdk from 2.555.0 to 2.556.0
2019-10-28 11:48:59 +01:00
dependabot-preview[bot]
9c6a0e047c build(deps): bump aws-sdk from 2.555.0 to 2.556.0
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.555.0 to 2.556.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.555.0...v2.556.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 07:56:49 +00:00
dependabot-preview[bot]
33d7391202 build(deps-dev): bump eslint-config-habitrpg from 6.1.0 to 6.2.0
Bumps [eslint-config-habitrpg](https://github.com/HabitRPG/eslint-config) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/HabitRPG/eslint-config/releases)
- [Commits](https://github.com/HabitRPG/eslint-config/compare/v6.1.0...v6.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 07:54:26 +00:00
dependabot-preview[bot]
43acb6da95 build(deps): bump core-js from 3.3.3 to 3.3.4 in /website/client
Bumps [core-js](https://github.com/zloirock/core-js) from 3.3.3 to 3.3.4.
- [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.3.3...v3.3.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 07:53:48 +00:00
dependabot-preview[bot]
4870623869 build(deps): bump mongoose from 5.7.6 to 5.7.7
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.7.6 to 5.7.7.
- [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.7.6...5.7.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 07:52:56 +00:00
dependabot-preview[bot]
ee7e40b5c8 build(deps): bump eslint-config-habitrpg in /website/client
Bumps [eslint-config-habitrpg](https://github.com/HabitRPG/eslint-config) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/HabitRPG/eslint-config/releases)
- [Commits](https://github.com/HabitRPG/eslint-config/compare/v6.1.0...v6.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 07:52:33 +00:00
Matteo Pagliazzi
a3b1e2b524 Merge pull request #11465 from HabitRPG/dependabot/npm_and_yarn/website/client/vue/cli-plugin-router-4.0.5
Bump @vue/cli-plugin-router from 4.0.4 to 4.0.5 in /website/client
2019-10-27 17:33:21 +01:00
Matteo Pagliazzi
0a4bff0587 Merge pull request #11469 from HabitRPG/dependabot/npm_and_yarn/website/client/vue/cli-service-4.0.5
Bump @vue/cli-service from 4.0.4 to 4.0.5 in /website/client
2019-10-27 17:33:13 +01:00
dependabot-preview[bot]
936fa28a25 Bump @vue/cli-service from 4.0.4 to 4.0.5 in /website/client
Bumps [@vue/cli-service](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-service) from 4.0.4 to 4.0.5.
- [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.0.5/packages/@vue/cli-service)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-27 16:32:58 +00:00
dependabot-preview[bot]
c3cff31edf Bump @vue/cli-plugin-router from 4.0.4 to 4.0.5 in /website/client
Bumps [@vue/cli-plugin-router](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-router) from 4.0.4 to 4.0.5.
- [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.0.5/packages/@vue/cli-plugin-router)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-27 16:32:45 +00:00
Matteo Pagliazzi
8f0a9e978d Merge pull request #11462 from HabitRPG/dependabot/npm_and_yarn/website/client/vue/cli-plugin-babel-4.0.5
Bump @vue/cli-plugin-babel from 4.0.4 to 4.0.5 in /website/client
2019-10-27 17:30:53 +01:00
dependabot-preview[bot]
81be2f0c28 Bump @vue/cli-plugin-babel from 4.0.4 to 4.0.5 in /website/client
Bumps [@vue/cli-plugin-babel](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-babel) from 4.0.4 to 4.0.5.
- [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.0.5/packages/@vue/cli-plugin-babel)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-27 16:30:41 +00:00
Matteo Pagliazzi
31a5b420d9 Merge pull request #11467 from HabitRPG/dependabot/npm_and_yarn/website/client/amplitude-js-5.6.0
Bump amplitude-js from 5.5.0 to 5.6.0 in /website/client
2019-10-27 17:30:02 +01:00
Matteo Pagliazzi
d206c39b8d Merge pull request #11476 from HabitRPG/dependabot/npm_and_yarn/aws-sdk-2.555.0
build(deps): bump aws-sdk from 2.553.0 to 2.555.0
2019-10-27 17:29:44 +01:00
Matteo Pagliazzi
ba063ec74e Merge pull request #11468 from HabitRPG/dependabot/npm_and_yarn/mongoose-5.7.6
Bump mongoose from 5.7.5 to 5.7.6
2019-10-27 17:29:35 +01:00
Matteo Pagliazzi
f84cdfa3cf Merge pull request #11464 from HabitRPG/dependabot/npm_and_yarn/glob-7.1.5
Bump glob from 7.1.4 to 7.1.5
2019-10-27 17:29:14 +01:00
Matteo Pagliazzi
9149588025 Merge pull request #11463 from HabitRPG/dependabot/npm_and_yarn/website/client/vue/cli-plugin-unit-mocha-4.0.5
Bump @vue/cli-plugin-unit-mocha from 4.0.4 to 4.0.5 in /website/client
2019-10-27 17:29:07 +01:00
Matteo Pagliazzi
61427e7bfc Merge pull request #11470 from HabitRPG/dependabot/npm_and_yarn/helmet-3.21.2
Bump helmet from 3.21.1 to 3.21.2
2019-10-27 17:28:50 +01:00
Matteo Pagliazzi
bcbcd29da7 Merge pull request #11471 from HabitRPG/dependabot/npm_and_yarn/website/client/vue/cli-plugin-eslint-4.0.5
Bump @vue/cli-plugin-eslint from 4.0.4 to 4.0.5 in /website/client
2019-10-27 17:28:42 +01:00
Matteo Pagliazzi
1c851af612 Bump core-js from 3.3.2 to 3.3.3 in /website/client (#11472)
Bumps [core-js](https://github.com/zloirock/core-js) from 3.3.2 to 3.3.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.3.2...v3.3.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-27 17:28:33 +01:00
dependabot-preview[bot]
3c4bbd673c Bump sass from 1.23.0 to 1.23.1 in /website/client (#11473)
Bumps [sass](https://github.com/sass/dart-sass) from 1.23.0 to 1.23.1.
- [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.23.0...1.23.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-27 17:28:25 +01:00
Matteo Pagliazzi
3643b4d320 fix linting in production 2019-10-27 14:12:14 +01:00
Matteo Pagliazzi
57b9dc374a Intro.js Fixes and better client side logging (#11480)
* fix intro.js button and border for username modal

* fix unhandled error and add better logging
2019-10-27 13:11:40 +01:00
Matteo Pagliazzi
5dc5b4ac92 remove vagrant files (#11452) 2019-10-26 14:05:36 +02:00
Melior
f7e2f04da6 Merge branch 'origin/develop' into Weblate. 2019-10-24 22:52:35 +02:00
Melior
47e4ee222d Translated using Weblate (Vietnamese)
Currently translated at 25.0% (9 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/vi/

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/vi/

Translated using Weblate (Dutch)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/nl/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pt_BR/

Translated using Weblate (Polish)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/pl/

Translated using Weblate (Dutch)

Currently translated at 97.0% (166 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/nl/

Translated using Weblate (Japanese)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ja/

Translated using Weblate (French)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/fr/

Translated using Weblate (Dutch)

Currently translated at 100.0% (12 of 12 strings)

Translation: Habitica/Merch
Translate-URL: https://translate.habitica.com/projects/habitica/merch/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (27 of 27 strings)

Translation: Habitica/Loginincentives
Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (6 of 6 strings)

Translation: Habitica/Inventory
Translate-URL: https://translate.habitica.com/projects/habitica/inventory/nl/

Translated using Weblate (French)

Currently translated at 100.0% (1961 of 1961 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (French)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/fr/

Translated using Weblate (Polish)

Currently translated at 100.0% (353 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/pl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (70 of 70 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/nl/

Translated using Weblate (Japanese)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/ja/

Translated using Weblate (Polish)

Currently translated at 100.0% (473 of 473 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pl/

Translated using Weblate (Russian)

Currently translated at 94.4% (34 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/pt_BR/

Translated using Weblate (Dutch)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/nl/

Translated using Weblate (French)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/fr/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/pt_BR/

Translated using Weblate (Polish)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/pl/

Translated using Weblate (French)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/fr/
2019-10-24 22:52:08 +02:00
Sabe Jones
9a4e6a5012 Merge branch 'release' into develop 2019-10-24 15:49:55 -05:00
Sabe Jones
1859f43133 4.118.0 2019-10-24 15:36:41 -05:00
Sabe Jones
2bcf00fb54 feat(content): Mystery Items 2019-10 2019-10-24 15:36:32 -05:00
Matteo Pagliazzi
78946bf328 fix(client scripts): add output and fix linting 2019-10-24 14:29:47 +02:00
Matteo Pagliazzi
cab6b35e49 Merge branch 'develop' of github.com:HabitRPG/habitica into develop 2019-10-24 14:07:40 +02:00
Matteo Pagliazzi
04b18641ff fix windows postinstall 2019-10-24 14:06:20 +02:00
Alys
bd121d4286 add swear words - TRIGGER / CONTENT WARNING: assault, slurs, swearwords, etc 2019-10-24 20:49:29 +10:00
Matteo Pagliazzi
c3a8305a40 Mentions Fix and Test (#11475)
* Fix issue with mentioned members not being loaded enough

* mentions: add integration tests and fix saved message
2019-10-24 11:35:15 +02:00
dependabot-preview[bot]
b0349d7297 build(deps): bump aws-sdk from 2.553.0 to 2.555.0
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.553.0 to 2.555.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.553.0...v2.555.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-24 09:28:40 +00:00
dependabot-preview[bot]
e83ac52f17 Bump mongoose from 5.7.5 to 5.7.6
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.7.5 to 5.7.6.
- [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.7.5...5.7.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-24 09:28:37 +00:00
dependabot-preview[bot]
2aa9a65765 Bump amplitude-js from 5.5.0 to 5.6.0 in /website/client
Bumps [amplitude-js](https://github.com/amplitude/amplitude-javascript) from 5.5.0 to 5.6.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/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-24 09:28:29 +00:00
dependabot-preview[bot]
9bdeb33f4c Bump glob from 7.1.4 to 7.1.5
Bumps [glob](https://github.com/isaacs/node-glob) from 7.1.4 to 7.1.5.
- [Release notes](https://github.com/isaacs/node-glob/releases)
- [Changelog](https://github.com/isaacs/node-glob/blob/master/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v7.1.4...v7.1.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-24 09:28:22 +00:00
dependabot-preview[bot]
dd691a84e6 Bump @vue/cli-plugin-unit-mocha from 4.0.4 to 4.0.5 in /website/client
Bumps [@vue/cli-plugin-unit-mocha](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-unit-mocha) from 4.0.4 to 4.0.5.
- [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.0.5/packages/@vue/cli-plugin-unit-mocha)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-24 09:28:11 +00:00
dependabot-preview[bot]
cac5e0a10c Bump helmet from 3.21.1 to 3.21.2
Bumps [helmet](https://github.com/helmetjs/helmet) from 3.21.1 to 3.21.2.
- [Release notes](https://github.com/helmetjs/helmet/releases)
- [Changelog](https://github.com/helmetjs/helmet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/helmetjs/helmet/compare/v3.21.1...v3.21.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-24 09:27:42 +00:00
dependabot-preview[bot]
ff7b6c592e Bump @vue/cli-plugin-eslint from 4.0.4 to 4.0.5 in /website/client
Bumps [@vue/cli-plugin-eslint](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-eslint) from 4.0.4 to 4.0.5.
- [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.0.5/packages/@vue/cli-plugin-eslint)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-24 09:27:36 +00:00
dependabot-preview[bot]
1a0e266ebb Bump core-js from 3.3.2 to 3.3.3 in /website/client
Bumps [core-js](https://github.com/zloirock/core-js) from 3.3.2 to 3.3.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.3.2...v3.3.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-24 09:27:14 +00:00
Sabe Jones
b121585c68 fix(intro): don't use svg for background 2019-10-23 12:48:51 -05:00
Sabe Jones
51726d8d8e fix(pets): correct achievement logic 2019-10-23 08:21:51 -05:00
Sabe Jones
2b8e25833d fix(schema): add missing notif types 2019-10-23 08:10:43 -05:00
Matteo Pagliazzi
1d7ec89b47 Merge branch 'develop' of github.com:HabitRPG/habitica into develop 2019-10-22 20:38:16 +02:00
Matteo Pagliazzi
9afcf8d5eb fix(build): do not lint when testing on github 2019-10-22 20:38:01 +02:00
Sabe Jones
93393f4835 fix(lint): more issues caught in CI 2019-10-22 13:37:28 -05:00
Sabe Jones
3031caffe8 fix(tests): bad merge, linting 2019-10-22 12:53:00 -05:00
Melior
1492994fa8 Merge branch 'origin/develop' into Weblate. 2019-10-22 17:43:01 +02:00
Melior
7533eb9d96 Translated using Weblate (Korean)
Currently translated at 25.0% (7 of 28 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ko/

Translated using Weblate (Finnish)

Currently translated at 88.9% (1744 of 1961 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fi/

Translated using Weblate (Dutch)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/nl/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hans/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hans/

Translated using Weblate (Japanese)

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/zh_Hans/

Translated using Weblate (German)

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/de/

Translated using Weblate (Japanese)

Currently translated at 97.1% (469 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/

Translated using Weblate (German)

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/de/

Translated using Weblate (Dutch)

Currently translated at 92.5% (1815 of 1961 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/

Translated using Weblate (French)

Currently translated at 100.0% (1961 of 1961 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/

Translated using Weblate (Japanese)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/ja/

Translated using Weblate (German)

Currently translated at 100.0% (329 of 329 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/de/

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 (Dutch)

Currently translated at 61.9% (39 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/nl/

Translated using Weblate (Dutch)

Currently translated at 100.0% (15 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/nl/

Translated using Weblate (Japanese)

Currently translated at 100.0% (668 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

Translated using Weblate (Swedish)

Currently translated at 96.8% (122 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/sv/

Translated using Weblate (Dutch)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/nl/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (353 of 353 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% (353 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 100.0% (353 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ja/

Translated using Weblate (French)

Currently translated at 100.0% (353 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/fr/

Translated using Weblate (German)

Currently translated at 100.0% (353 of 353 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/de/

Translated using Weblate (Dutch)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/nl/

Translated using Weblate (Japanese)

Currently translated at 99.5% (229 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/ja/

Translated using Weblate (Dutch)

Currently translated at 100.0% (473 of 473 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/nl/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hans/

Translated using Weblate (Dutch)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/nl/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (207 of 207 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (Japanese)

Currently translated at 98.0% (203 of 207 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ja/

Translated using Weblate (Polish)

Currently translated at 50.7% (32 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/pl/

Translated using Weblate (Polish)

Currently translated at 50.7% (32 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/pl/

Translated using Weblate (German)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/de/

Translated using Weblate (German)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/de/
2019-10-22 17:42:33 +02:00
Sabe Jones
7461a5d509 Merge branch 'release' into develop 2019-10-22 10:37:29 -05:00
Sabe Jones
960a86888a 4.117.0 2019-10-22 10:19:17 -05:00
Sabe Jones
4b98a0bf35 chore(sprites): compile 2019-10-22 10:19:10 -05:00
Sabe Jones
0dd8cab2a0 feat(content): Zombie color bingo achievements 2019-10-22 10:19:02 -05:00
Matteo Pagliazzi
7eb75f8587 fix(creatorInfo): enable linting 2019-10-20 14:09:56 +02:00
Matteo Pagliazzi
4881d870c7 Merge branch 'develop' into firefox-extension-link 2019-10-20 13:55:34 +02:00
Alys
3a0aa95788 remove non-existent files and directories from nodemon config (#11451) 2019-10-20 11:03:54 +02:00
Matteo Pagliazzi
0133184a83 api: fix notifications update 2019-10-19 18:02:48 +02:00
Matteo Pagliazzi
743faa8eca Enable Github Actions in place of Travis (#11447)
* add apidoc

* rename, copy config

* add client unit tests

* add more tests

* fix client tests

* fix client tests

* add api tests

* fix names

* remove travis

* enable github actions on pull requests

* shallow clone

* add badge
2019-10-19 17:32:14 +02:00
Matteo Pagliazzi
dd0634d777 add lint workflow 2019-10-19 16:25:04 +02:00
Matteo Pagliazzi
102cca36e5 Start enabling Github Actions 2019-10-19 16:03:01 +02:00
dependabot-preview[bot]
a78dc7f40d Bump rimraf from 2.7.1 to 3.0.0 (#11427)
Bumps [rimraf](https://github.com/isaacs/rimraf) from 2.7.1 to 3.0.0.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/master/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v2.7.1...v3.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-19 15:04:42 +02:00
dependabot-preview[bot]
0ebdb75fc8 Bump image-size from 0.8.2 to 0.8.3 (#11444)
Bumps [image-size](https://github.com/image-size/image-size) from 0.8.2 to 0.8.3.
- [Release notes](https://github.com/image-size/image-size/releases)
- [Commits](https://github.com/image-size/image-size/compare/v0.8.2...v0.8.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-19 14:41:56 +02:00
dependabot-preview[bot]
58b955c405 Bump @vue/cli-plugin-unit-mocha from 4.0.0 to 4.0.4 in /website/client (#11434)
Bumps [@vue/cli-plugin-unit-mocha](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-unit-mocha) from 4.0.0 to 4.0.4.
- [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.0.4/packages/@vue/cli-plugin-unit-mocha)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-19 14:35:38 +02:00
dependabot-preview[bot]
99282d1a98 Bump @vue/cli-plugin-eslint from 4.0.1 to 4.0.4 in /website/client (#11435)
Bumps [@vue/cli-plugin-eslint](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-eslint) from 4.0.1 to 4.0.4.
- [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.0.4/packages/@vue/cli-plugin-eslint)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-19 14:33:38 +02:00
dependabot-preview[bot]
61d0f6863e Bump gulp-imagemin from 6.1.0 to 6.1.1 (#11436)
Bumps [gulp-imagemin](https://github.com/sindresorhus/gulp-imagemin) from 6.1.0 to 6.1.1.
- [Release notes](https://github.com/sindresorhus/gulp-imagemin/releases)
- [Commits](https://github.com/sindresorhus/gulp-imagemin/compare/v6.1.0...v6.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-19 14:33:21 +02:00
dependabot-preview[bot]
8acc001004 Bump @vue/cli-service from 4.0.0 to 4.0.4 in /website/client (#11437)
Bumps [@vue/cli-service](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-service) from 4.0.0 to 4.0.4.
- [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.0.4/packages/@vue/cli-service)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-19 14:33:14 +02:00
dependabot-preview[bot]
71f8febec7 Bump aws-sdk from 2.552.0 to 2.553.0 (#11438)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.552.0 to 2.553.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.552.0...v2.553.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-19 14:32:59 +02:00
dependabot-preview[bot]
4ef221bfe8 Bump amplitude-js from 5.4.2 to 5.5.0 in /website/client (#11439)
Bumps [amplitude-js](https://github.com/amplitude/amplitude-javascript) from 5.4.2 to 5.5.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/commits/v5.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-19 14:32:50 +02:00
dependabot-preview[bot]
caf5eaeb9b Bump @vue/cli-plugin-babel from 4.0.0 to 4.0.4 in /website/client (#11433)
Bumps [@vue/cli-plugin-babel](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-babel) from 4.0.0 to 4.0.4.
- [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.0.4/packages/@vue/cli-plugin-babel)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-19 14:31:22 +02:00
dependabot-preview[bot]
ccae63f26d Bump @google-cloud/trace-agent from 4.2.0 to 4.2.2 (#11432)
Bumps [@google-cloud/trace-agent](https://github.com/googleapis/cloud-trace-nodejs) from 4.2.0 to 4.2.2.
- [Release notes](https://github.com/googleapis/cloud-trace-nodejs/releases)
- [Changelog](https://github.com/googleapis/cloud-trace-nodejs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/cloud-trace-nodejs/compare/v4.2.0...v4.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-19 14:30:21 +02:00
dependabot-preview[bot]
b652e1ae1b Bump bootstrap-vue from 2.0.3 to 2.0.4 in /website/client (#11431)
Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.0.3 to 2.0.4.
- [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.0.3...v2.0.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-19 14:29:51 +02:00
dependabot-preview[bot]
71d78c60ff Bump webpack from 4.41.0 to 4.41.2 in /website/client (#11430)
Bumps [webpack](https://github.com/webpack/webpack) from 4.41.0 to 4.41.2.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.41.0...v4.41.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-19 14:29:26 +02:00
dependabot-preview[bot]
0cbf500277 Bump core-js from 3.2.1 to 3.3.2 in /website/client (#11428)
Bumps [core-js](https://github.com/zloirock/core-js) from 3.2.1 to 3.3.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.2.1...v3.3.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-19 14:28:55 +02:00
dependabot-preview[bot]
6b3b282b98 Bump @vue/cli-plugin-router from 4.0.1 to 4.0.4 in /website/client (#11426)
Bumps [@vue/cli-plugin-router](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-router) from 4.0.1 to 4.0.4.
- [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.0.4/packages/@vue/cli-plugin-router)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-19 14:28:09 +02:00
Sabe Jones
c0eb147e1a fix(text): slight clarification re paused Dailies 2019-10-18 15:17:29 -05:00
Matteo Pagliazzi
f8bab04a0e Merge pull request #11391 from HabitRPG/client-monorepo
New Client Structure
2019-10-18 21:19:43 +02:00
Matteo Pagliazzi
e6d20117c1 fix dockerfile 2019-10-18 21:02:57 +02:00
Matteo Pagliazzi
02d5ad35c6 fix notification 2019-10-18 21:01:40 +02:00
Matteo Pagliazzi
3e12774e40 Merge branch 'develop' into client-monorepo 2019-10-18 20:26:12 +02:00
Matteo Pagliazzi
17b1365853 Improve @mention handling (#10872)
* move the update username route to v3 (#10836)

* Add API Call to retrieve auto-complete options for usernames

* Create links to users profile in chat messages

* Begin adding server-side autocomplete to web client

* Add Test to opt out of username being searchable

* Fix issue with username highlighting

* Correctly update message text when using autocomplete

* remove old autocomplete component

* Improve chat input design

* rewrite mongoose migration to avoid using recursion

* fixes

* select more fields

* use lean and .update

* fix(tests): correct expects

* fix(tests): linting & more expects
Also one more tweak for invite validation responsiveness

* chore(news): Bailey

* chore(i18n): update locales

* 4.70.0

* fix(chat): less intrusive highlight and better margins

* fix(chat): more width tweakage

* feat(content): Oddballs Bundle
Also includes one more tweak to @mention text highlighting

* chore(sprites): compile

* chore(i18n): update locales

* 4.71.0

* groupChatReceived webhook fix (#10802)

* Moved sendGroupChatReceivedWebhooks to group.sendChat function.

* Added test for new functionality.

* Set width on .custom-control-label (#10840)

Set `width: 100%` on the `.custom-control-label`.

Although `overflow-wrap: break-word` is set on the parent `.checklist-item` element, it doesn't seem to take effect unless a width is set on the label.

* Very large Guild member counts overflow the badge #10753 (#10812)

* Update superagent to the latest version 🚀 (#10848)

* fix(package): update superagent to version 4.0.0

* chore(package): update lockfile package-lock.json

* fix(chat): prevent duplicate messages, closes #10823

* Fix for #10814, prevent ParallelSave errors (#10852)

* fix(group leave): prevent ParallelSave errors while leaving a group with multiple group or challenge tasks

* fix typo

* move computed-props to methods - refactor mountItem to use the states inside (#10853)

* feat(content): Frost Hatching Potions

* chore(sprites): compile

* chore(i18n): update locales

* 4.72.0

* fix(stable): remove progress number from petItem

* add two slurs - TRIGGER / CONTENT WARNING: assault, slurs, swearwords, etc

* more checks on the item.klass, also added the specialClass checks (#10859)

* feat(content): Turkey Day 2018

* chore(sprites): compile

* chore(i18n): update locales

* 4.73.0

* chore(i18n): update locales

* 4.73.1

* feat(footer): always show expanded footer (#10862)

* Fixes issue #10857 ("Tags have extra space at the bottom when they should be centered") (#10861)

* Fix for #10857 centered category tag text

* Fixes #10857 and #10856 display tag markdown.

* Attach client to chat messages (#10845)

* Attach client to chat messages

* Word

* Design tweaks

* Fix potential error

* chore(event): end Thanksgiving tweaks

* chore(i18n): update locales

* 4.73.2

* Improve chat input design

* Fix test errors

* Move tier icons import to index

* correctly name event variable

* Debounce autocomplete calls

* optimize mention highlighting

* fix failing tests

* Fix sending private messages

* Cache username autocomplete requests

* optimize autocomplete regex

* Fix lint error

* add optional parameters to limit autocompletion to specific group

* Fix non-profile urls not being usable.

* Correctly handle autocomplete for public and private guilds

* Add check to make sure users don’t search for parties/guilds they are not part of

* fix lint error

* limit autocomplete results to 5

* fix(mentioning): change default, adapt settings control to checkbox

* Improve auto completing

* improve username autocomplete

* Fix merge issue

* remove old code

* Send push notifications on mentions

* Improve handling for sending mention notifications

* Fix lint error

* Update schema.js

* Fix failing test

* Don't send push notification to users who aren't in the party

* Remove tributejs from dependencies
2019-10-18 17:05:13 +02:00
Phillip Thelen
360aaa9f0b Add more achievements to notifications list (#11332)
* Add more achievements to notifications list

* use addNotification

* Fix logic to not award stable achievements over and over

* Improve achievement display

* Fix setting notifications for party inviter

* Add tests that notifications are added correctly

* Fix tests
2019-10-18 17:04:33 +02:00
Matteo Pagliazzi
94b34f1f80 Merge branch 'develop' into client-monorepo 2019-10-18 17:03:41 +02:00
Matteo Pagliazzi
ec7ded042b docker: mongodb3.6 2019-10-18 16:52:21 +02:00
Matteo Pagliazzi
d17cf14866 deps: upgrade monk 2019-10-18 16:38:11 +02:00
Matteo Pagliazzi
3cde9ed32f mongo: tweak the default connection size 2019-10-18 12:41:04 +02:00
Sabe Jones
2f341c6e83 4.116.8 2019-10-17 15:24:15 -05:00
Sabe Jones
b0a1a23b68 Merge branch 'develop' into release 2019-10-17 15:23:55 -05:00
Melior
7c70729843 Merge branch 'origin/develop' into Weblate. 2019-10-17 22:13:53 +02:00
Melior
ca842229c9 Translated using Weblate (Basque)
Currently translated at 0.0% (0 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/eu/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/eu/

Translated using Weblate (English)

Currently translated at 98.8% (169 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/en@lolcat/

Translated using Weblate (Basque)

Currently translated at 50.0% (2 of 4 strings)

Translation: Habitica/Noscript
Translate-URL: https://translate.habitica.com/projects/habitica/noscript/eu/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/eu/

Translated using Weblate (English)

Currently translated at 98.2% (55 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/en@lolcat/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 12 strings)

Translation: Habitica/Merch
Translate-URL: https://translate.habitica.com/projects/habitica/merch/eu/

Translated using Weblate (English)

Currently translated at 100.0% (12 of 12 strings)

Translation: Habitica/Merch
Translate-URL: https://translate.habitica.com/projects/habitica/merch/en@lolcat/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/eu/

Translated using Weblate (English)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/en@lolcat/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 137 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/eu/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 473 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/eu/

Translated using Weblate (Norwegian Bokmål)

Currently translated at 99.5% (210 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/nb_NO/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/eu/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/eu/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/eu/

Translated using Weblate (English)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/en@lolcat/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/eu/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/eu/

Translated using Weblate (Basque)

Currently translated at 87.5% (7 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/eu/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 28 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/eu/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 66 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/eu/

Translated using Weblate (English)

Currently translated at 96.9% (64 of 66 strings)

Translation: Habitica/Messages
Translate-URL: https://translate.habitica.com/projects/habitica/messages/en@lolcat/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/eu/

Translated using Weblate (English)

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/en@lolcat/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 27 strings)

Translation: Habitica/Loginincentives
Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/eu/

Translated using Weblate (English)

Currently translated at 100.0% (27 of 27 strings)

Translation: Habitica/Loginincentives
Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/en@lolcat/

Translated using Weblate (Basque)

Currently translated at 2.7% (1 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/eu/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/eu/

Translated using Weblate (English)

Currently translated at 90.5% (153 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/en@lolcat/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 6 strings)

Translation: Habitica/Inventory
Translate-URL: https://translate.habitica.com/projects/habitica/inventory/eu/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/eu/

Translated using Weblate (Basque)

Currently translated at 18.5% (55 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/eu/

Translated using Weblate (Basque)

Currently translated at 0.1% (1 of 1961 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/eu/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/eu/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/eu/

Translated using Weblate (English)

Currently translated at 100.0% (15 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/en@lolcat/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 70 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/eu/

Translated using Weblate (English)

Currently translated at 100.0% (70 of 70 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/en@lolcat/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/eu/

Translated using Weblate (English)

Currently translated at 89.2% (314 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/en@lolcat/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/eu/

Translated using Weblate (English)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/en@lolcat/

Translated using Weblate (Basque)

Currently translated at 0.0% (0 of 207 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/eu/

Translated using Weblate (Dutch)

Currently translated at 99.5% (210 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/nl/

Translated using Weblate (French)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/fr/

Translated using Weblate (Czech)

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/cs/

Translated using Weblate (Czech)

Currently translated at 100.0% (225 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/cs/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hant/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/pt_BR/

Translated using Weblate (Czech)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/cs/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hant/

Translated using Weblate (Russian)

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/pt_BR/

Translated using Weblate (Dutch)

Currently translated at 97.9% (144 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/nl/

Translated using Weblate (Czech)

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/cs/

Translated using Weblate (Dutch)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/nl/

Translated using Weblate (Czech)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/cs/

Translated using Weblate (Spanish (Latin America))

Currently translated at 99.7% (351 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 99.7% (351 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/es_419/

Translated using Weblate (Czech)

Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/cs/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hant/

Translated using Weblate (Russian)

Currently translated at 99.7% (482 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ru/

Translated using Weblate (German)

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/de/

Translated using Weblate (Czech)

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/cs/

Translated using Weblate (Chinese (Simplified))

Currently translated at 97.7% (1916 of 1961 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% (1961 of 1961 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (1961 of 1961 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (German)

Currently translated at 100.0% (1961 of 1961 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Czech)

Currently translated at 89.3% (1752 of 1961 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/cs/

Translated using Weblate (Czech)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/cs/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (329 of 329 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hant/

Translated using Weblate (German)

Currently translated at 100.0% (329 of 329 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/de/

Translated using Weblate (Czech)

Currently translated at 100.0% (329 of 329 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/cs/

Translated using Weblate (Russian)

Currently translated at 55.5% (35 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ru/

Translated using Weblate (Chinese (Traditional))

Currently translated at 87.2% (583 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hant/

Translated using Weblate (Polish)

Currently translated at 89.0% (595 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/pl/

Translated using Weblate (Japanese)

Currently translated at 97.3% (650 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

Translated using Weblate (English (Pirate))

Currently translated at 94.7% (633 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/en@pirate/

Translated using Weblate (German)

Currently translated at 100.0% (668 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/

Translated using Weblate (Czech)

Currently translated at 91.7% (613 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/cs/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (352 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hans/

Translated using Weblate (German)

Currently translated at 100.0% (352 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/de/

Translated using Weblate (Czech)

Currently translated at 100.0% (352 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/cs/

Translated using Weblate (Dutch)

Currently translated at 98.2% (226 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/nl/

Translated using Weblate (Czech)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/cs/

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.7% (467 of 473 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/

Translated using Weblate (English (Pirate))

Currently translated at 92.8% (26 of 28 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/en@pirate/

Translated using Weblate (German)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (207 of 207 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.0% (205 of 207 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (207 of 207 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (207 of 207 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ru/

Translated using Weblate (English (Pirate))

Currently translated at 98.5% (204 of 207 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/en@pirate/

Translated using Weblate (Czech)

Currently translated at 100.0% (207 of 207 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/cs/

Translated using Weblate (German)

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/de/

Translated using Weblate (German)

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/de/

Translated using Weblate (Spanish (Latin America))

Currently translated at 92.8% (327 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/es_419/
2019-10-17 22:13:31 +02:00
Sabe Jones
abfcb4ef44 chore(news): Bailey 2019-10-17 15:06:04 -05:00
Phillip Thelen
7cd59cef35 Remove tributejs from dependencies 2019-10-16 19:47:17 +02:00
Matteo Pagliazzi
fe34caa2b8 upgrade vue cli 2019-10-16 14:55:32 +02:00
Sabe Jones
56141b6d5b Merge branch 'release' into develop 2019-10-15 14:12:44 -05:00
Sabe Jones
15ed76c8f2 4.116.7 2019-10-15 14:12:26 -05:00
Sabe Jones
ea9d939577 chore(content): enable Witchy Familiars Bundle 2019-10-15 14:12:18 -05:00
Matteo Pagliazzi
e65ed4ee36 fix svg path 2019-10-15 18:49:15 +02:00
Matteo Pagliazzi
9297685825 move static files & fixes 2019-10-15 18:45:20 +02:00
Matteo Pagliazzi
86eeb3c849 fix index path0 2019-10-15 18:10:20 +02:00
Matteo Pagliazzi
fdcca53ee9 move to deps 2019-10-15 17:53:06 +02:00
Matteo Pagliazzi
223eda501b typo 2019-10-15 17:26:06 +02:00
Matteo Pagliazzi
66ecb48cda move errors 2019-10-15 17:17:44 +02:00
Matteo Pagliazzi
07ee36e94d fix typo 2019-10-15 16:57:47 +02:00
Matteo Pagliazzi
e29d06dcd9 build client in prod 2019-10-15 16:54:23 +02:00
Matteo Pagliazzi
e03ebbdf46 fix path (again) 2019-10-15 15:57:09 +02:00
Matteo Pagliazzi
7cb9a752ec fix mocha path 2019-10-15 15:46:18 +02:00
Matteo Pagliazzi
0bac3c0b5f misc, fix client tests 2019-10-15 15:32:53 +02:00
Phillip Thelen
0d9010572c Don't send push notification to users who aren't in the party 2019-10-15 12:48:51 +02:00
Matteo Pagliazzi
ed7a54dfd6 move static files 2019-10-14 17:37:44 +02:00
Phillip Thelen
4cccaf33e2 Fix failing test 2019-10-14 16:45:24 +02:00
Phillip Thelen
3a6c296883 Update schema.js 2019-10-14 16:20:52 +02:00
Matteo Pagliazzi
38896d3103 fix eslint 2019-10-13 19:05:11 +02:00
Matteo Pagliazzi
ed7be562f7 fix lint script 2019-10-13 18:35:33 +02:00
Matteo Pagliazzi
a1e3127d36 fix mongoose issue 2019-10-13 18:31:43 +02:00
Matteo Pagliazzi
a0e5a56bf2 finish linting client 2019-10-13 18:04:04 +02:00
Matteo Pagliazzi
c1ea91803c lint main level components and js files 2019-10-12 17:37:12 +02:00
Matteo Pagliazzi
fe4a35d1d1 lint unit tests for client 2019-10-12 17:14:09 +02:00
Matteo Pagliazzi
f99e3fab8b html format other components 2019-10-12 17:05:15 +02:00
Matteo Pagliazzi
7b4671fbf9 fix achievements 2019-10-12 16:41:18 +02:00
Matteo Pagliazzi
07349c70bc pug to html 2019-10-12 16:33:05 +02:00
Matteo Pagliazzi
88243a32fa misc 2019-10-12 14:02:37 +02:00
Matteo Pagliazzi
d62653f0fd Merge branch 'develop' into client-monorepo 2019-10-12 12:49:13 +02:00
Sabe Jones
0ecafb4a2e Merge branch 'release' into develop 2019-10-11 16:33:24 -05:00
Sabe Jones
6f6a0e51df 4.116.6 2019-10-11 16:32:43 -05:00
Sabe Jones
5b215470f7 Revert "fix(task-modal): don't submit task without title"
This reverts commit c96d3c8ec5.
2019-10-11 16:32:33 -05:00
Sabe Jones
7e027a1a25 Merge branch 'release' into develop 2019-10-11 15:17:17 -05:00
Sabe Jones
477743260a 4.116.5 2019-10-11 15:16:51 -05:00
Sabe Jones
08f12ac163 fix(test): correct px expectation 2019-10-11 15:02:55 -05:00
Sabe Jones
d079b52c63 fix(avatar): use full background width 2019-10-11 14:55:22 -05:00
Sabe Jones
3eaf993c1b fix(sprites): more pixel alignment 2019-10-11 14:49:37 -05:00
Matteo Pagliazzi
a625e83b53 client lint first pass 2019-10-11 20:35:49 +02:00
Matteo Pagliazzi
07cffe9e16 Merge branch 'develop' into client-monorepo 2019-10-11 13:04:17 +02:00
Matteo Pagliazzi
e09a70570e finish linting server 2019-10-11 13:03:05 +02:00
Matteo Pagliazzi
5aa371bf90 typo 2019-10-10 22:18:40 +02:00
Matteo Pagliazzi
ce4729f069 fixes and start client 2019-10-10 22:15:58 +02:00
Sabe Jones
c96d3c8ec5 fix(task-modal): don't submit task without title 2019-10-10 14:18:20 -05:00
Sabe Jones
4b0ce7ffc1 fix(potions): correct Bronze/Silver string
fixes #11395
2019-10-10 14:10:07 -05:00
Matteo Pagliazzi
8bae0223bb fix linting for server (except for length of apidoc) 2019-10-10 20:11:50 +02:00
Melior
01d0c5d407 Merge branch 'origin/develop' into Weblate. 2019-10-10 20:11:11 +02:00
Melior
e262da4691 Translated using Weblate (Finnish)
Currently translated at 100.0% (137 of 137 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/fi/

Translated using Weblate (Norwegian Bokmål)

Currently translated at 94.6% (213 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/nb_NO/

Translated using Weblate (Lithuanian)

Currently translated at 94.6% (213 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/lt/

Translated using Weblate (Korean)

Currently translated at 94.6% (213 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ko/

Translated using Weblate (Croatian)

Currently translated at 94.6% (213 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/hr/

Translated using Weblate (Finnish)

Currently translated at 94.6% (213 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fi/

Translated using Weblate (Norwegian Bokmål)

Currently translated at 99.0% (205 of 207 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/nb_NO/

Translated using Weblate (Lithuanian)

Currently translated at 99.0% (205 of 207 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/lt/

Translated using Weblate (Turkish)

Currently translated at 95.1% (214 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/tr/

Translated using Weblate (Polish)

Currently translated at 100.0% (225 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pl/

Translated using Weblate (Russian)

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/ru/

Translated using Weblate (Polish)

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/pl/

Translated using Weblate (French)

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/fr/

Translated using Weblate (Polish)

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/pl/

Translated using Weblate (French)

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/fr/

Translated using Weblate (Polish)

Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pl/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/pt_BR/

Translated using Weblate (Polish)

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/pl/

Translated using Weblate (Polish)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/pl/

Translated using Weblate (Russian)

Currently translated at 52.3% (33 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ru/

Translated using Weblate (Japanese)

Currently translated at 91.7% (613 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

Translated using Weblate (Polish)

Currently translated at 100.0% (352 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/pl/

Translated using Weblate (Russian)

Currently translated at 100.0% (473 of 473 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (473 of 473 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt_BR/

Translated using Weblate (Polish)

Currently translated at 93.6% (443 of 473 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pl/

Translated using Weblate (French)

Currently translated at 100.0% (473 of 473 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/fr/

Translated using Weblate (Russian)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/fr/

Translated using Weblate (Czech)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/cs/

Translated using Weblate (Polish)

Currently translated at 100.0% (207 of 207 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/pl/

Translated using Weblate (Japanese)

Currently translated at 97.1% (201 of 207 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/ja/

Translated using Weblate (French)

Currently translated at 100.0% (207 of 207 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/fr/
2019-10-10 20:10:16 +02:00
Sabe Jones
ecc1c0bba3 4.116.4 2019-10-10 13:07:11 -05:00
Sabe Jones
00f44b655e feat(push): add notification types for mobile push 2019-10-10 13:06:59 -05:00
Matteo Pagliazzi
bcf7bcf03c start linting server 2019-10-09 20:42:16 +02:00
Matteo Pagliazzi
415f28995d restore for...of 2019-10-09 20:19:31 +02:00
Matteo Pagliazzi
e0e9811ab6 lint common 2019-10-09 20:08:36 +02:00
Marcelo
5b7b87e524 Merge branch 'develop' into firefox-extension-link 2019-10-09 14:00:13 -03:00
Matteo Pagliazzi
0c27fb24a5 start fixing commong 2019-10-09 16:51:17 +02:00
Matteo Pagliazzi
9cd43db401 Merge branch 'develop' into client-monorepo 2019-10-08 23:01:07 +02:00
Matteo Pagliazzi
5aac8e46a5 add eslint files 2019-10-08 22:57:22 +02:00
Melior
676eeaf190 Merge branch 'origin/develop' into Weblate. 2019-10-08 22:40:26 +02:00
Melior
481836f035 Translated using Weblate (English)
Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/en@lolcat/

Translated using Weblate (English)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/en@lolcat/

Translated using Weblate (English)

Currently translated at 100.0% (137 of 137 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/en@lolcat/

Translated using Weblate (English)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/en@lolcat/

Translated using Weblate (English)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/en@lolcat/

Translated using Weblate (English)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/en@lolcat/

Translated using Weblate (English)

Currently translated at 88.8% (1743 of 1961 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en@lolcat/

Translated using Weblate (English)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/en@lolcat/

Translated using Weblate (English)

Currently translated at 93.3% (14 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/en@lolcat/

Translated using Weblate (English)

Currently translated at 100.0% (70 of 70 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/en@lolcat/

Translated using Weblate (English)

Currently translated at 87.5% (308 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/en@lolcat/

Translated using Weblate (Spanish)

Currently translated at 100.0% (36 of 36 strings)

Translation: Habitica/Loadingscreentips
Translate-URL: https://translate.habitica.com/projects/habitica/loadingscreentips/es/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hant/

Translated using Weblate (Spanish)

Currently translated at 100.0% (225 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/es/

Translated using Weblate (Polish)

Currently translated at 100.0% (57 of 57 strings)

Translation: Habitica/Spells
Translate-URL: https://translate.habitica.com/projects/habitica/spells/pl/

Translated using Weblate (Spanish)

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/es/

Translated using Weblate (German)

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/de/

Translated using Weblate (German)

Currently translated at 100.0% (138 of 138 strings)

Translation: Habitica/Quests
Translate-URL: https://translate.habitica.com/projects/habitica/quests/de/

Translated using Weblate (Spanish)

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/es/

Translated using Weblate (German)

Currently translated at 100.0% (147 of 147 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/de/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (170 of 170 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hant/

Translated using Weblate (Spanish)

Currently translated at 100.0% (170 of 170 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/es/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/zh_Hant/

Translated using Weblate (Spanish)

Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/es/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/fr/

Translated using Weblate (Spanish)

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/es/

Translated using Weblate (German)

Currently translated at 100.0% (483 of 483 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 97.6% (1915 of 1961 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (1961 of 1961 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.7% (1937 of 1961 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (1961 of 1961 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (Spanish)

Currently translated at 90.6% (1777 of 1961 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/

Translated using Weblate (German)

Currently translated at 99.2% (1947 of 1961 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Russian)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/ru/

Translated using Weblate (Spanish)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/es/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (329 of 329 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hant/

Translated using Weblate (Japanese)

Currently translated at 100.0% (332 of 332 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/ja/

Translated using Weblate (Spanish)

Currently translated at 100.0% (333 of 333 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/es/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (329 of 329 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/en@pirate/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/zh_Hans/

Translated using Weblate (Spanish)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (15 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/es/

Translated using Weblate (Chinese (Simplified))

Currently translated at 93.2% (623 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/

Translated using Weblate (Japanese)

Currently translated at 91.4% (611 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

Translated using Weblate (Dutch)

Currently translated at 98.5% (347 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/nl/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (70 of 70 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/zh_Hant/

Translated using Weblate (Japanese)

Currently translated at 98.5% (347 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ja/

Translated using Weblate (Spanish)

Currently translated at 100.0% (352 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/es/

Translated using Weblate (Dutch)

Currently translated at 98.2% (226 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/nl/

Translated using Weblate (Japanese)

Currently translated at 98.2% (226 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/ja/

Translated using Weblate (French)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/fr/

Translated using Weblate (Dutch)

Currently translated at 100.0% (137 of 137 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/nl/

Translated using Weblate (Spanish)

Currently translated at 100.0% (473 of 473 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/

Translated using Weblate (Polish)

Currently translated at 32.1% (9 of 28 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/pl/

Translated using Weblate (Spanish)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es/

Translated using Weblate (German)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Achievements
Translate-URL: https://translate.habitica.com/projects/habitica/achievements/de/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (207 of 207 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/pt_BR/

Translated using Weblate (Spanish)

Currently translated at 100.0% (207 of 207 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/es/

Translated using Weblate (German)

Currently translated at 100.0% (207 of 207 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/de/

Translated using Weblate (German)

Currently translated at 100.0% (473 of 473 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/

Translated using Weblate (German)

Currently translated at 100.0% (473 of 473 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/
2019-10-08 22:39:59 +02:00
Sabe Jones
54e088a097 Merge branch 'release' into develop 2019-10-08 15:36:55 -05:00
Sabe Jones
7eb5efb571 4.116.3 2019-10-08 15:36:31 -05:00
Sabe Jones
e47c3211b0 feat(content): enable Fall customizations 2019-10-08 15:36:24 -05:00
Matteo Pagliazzi
85fb5f33aa fix test lint 2019-10-08 20:45:38 +02:00
Matteo Pagliazzi
e37f4467f8 fix linting of scripts 2019-10-08 18:41:41 +02:00
Matteo Pagliazzi
20f2cf7d27 fix linting of scripts 2019-10-08 18:41:20 +02:00
Matteo Pagliazzi
0d90a1db4c fix linting of migrations 2019-10-08 18:36:55 +02:00
Matteo Pagliazzi
621787915c start upgrading eslint 2019-10-08 16:57:10 +02:00
Matteo Pagliazzi
90c917f69e fix duplicates in code 2019-10-08 15:05:48 +02:00
negue
7864ba75c7 [Stlye] fix yesterdaily modal (#11352)
* fix yesterdaily style

* use rem

* unneeded height prop

* fix task-wrapper margin

* fix the modal backgrounds + update package-lock
2019-10-07 20:10:12 +02:00
Matteo Pagliazzi
90f732f545 Revert "Revert "Fix: Antidotes to Avatar Transformation Items should be added to Rewards by API (#11353)" (#11406)"
This reverts commit 50cae0165c.
2019-10-07 16:55:55 +02:00
Matteo Pagliazzi
50cae0165c Revert "Fix: Antidotes to Avatar Transformation Items should be added to Rewards by API (#11353)" (#11406)
This reverts commit 5b57d91a9b.
2019-10-07 16:55:44 +02:00
Aleksey
5b57d91a9b Fix: Antidotes to Avatar Transformation Items should be added to Rewards by API (#11353)
* Fix: moved debuffPotions from vue component

- Move logic of choosing proper debuf potion from vue component to website commons
- introduce new function to get debuffSpellItems

* Fix: move debuffPotions to server

* Refactoring: move setting of debuff potion to func

* Fix: sanity

* Refactoring & Tests:

- Create test case for get and set DebuffPotionItems functions
- Fix setDebuffPotionItems function to not create duplicated debuff items
- Make debuff potion type of items unpinnable
- Move list of debuffs to constant to reuse it in tests and functions

* Fix: typo in test describe

* Fix: translation of unpin

* Fix: setDebuffPotionItems on cron buffs reset

* Fix: use full path for debuff potions
2019-10-06 18:41:39 +02:00
citrusella
85eab76a71 fix dark-on-dark in quest modal tooltip (#11397) 2019-10-06 17:58:28 +02:00
Mark Kop
e1246ff99f fix(chat): change class name because of active route (#11405) 2019-10-06 17:49:51 +02:00
Matteo Pagliazzi
16c8825b2b Hall Fixes (#11403)
* fix(hall): correctly casts owned gear and mounts

* typo
2019-10-06 17:08:11 +02:00
cheng-shiqi
ca7399f6c1 Repair negative quest scrolls on (gem)purchase (#11399)
* Fix: Reset negative quest scrolls number to zero on purchase(gem)

* Refactor: rename website/common/script/ops/buy/buyQuest.js to website/common/script/ops/buy/buyQuestGold.js and update related files

* Test: add two tests related to negative quest scrolls
2019-10-06 17:06:02 +02:00
Matteo Pagliazzi
20ef27028e misc test 2019-10-04 19:50:52 +02:00
Sabe Jones
916ebcacff 4.116.2 2019-10-03 14:05:37 -05:00
Sabe Jones
df0a633b09 Merge branch 'develop' into release 2019-10-03 14:05:28 -05:00
Matteo Pagliazzi
2a4e103812 fix integration tests and paths for client tests 2019-10-03 17:40:38 +02:00
Matteo Pagliazzi
d19b3857ee fix unit tests 2019-10-03 17:24:17 +02:00
Matteo Pagliazzi
3a6a4092f9 fix content tests 2019-10-03 16:35:56 +02:00
Matteo Pagliazzi
17c7a2bad1 fix common tests 2019-10-03 16:27:44 +02:00
Matteo Pagliazzi
5b406ba70f remove need for babel register in clientside 2019-10-02 23:19:24 +02:00
Matteo Pagliazzi
e021328067 use right babel package 2019-10-02 21:49:29 +02:00
Matteo Pagliazzi
db02712c98 fix babel and remove unused deps 2019-10-02 20:09:26 +02:00
Matteo Pagliazzi
45f7cf04ab remove old module.exports from server aswell 2019-10-02 19:45:27 +02:00
Matteo Pagliazzi
e0a2528a4f Merge branch 'develop' into client-monorepo 2019-10-02 18:40:24 +02:00
Matteo Pagliazzi
9a2bb981a9 avoid loading moment locales 2019-10-02 18:30:41 +02:00
Matteo Pagliazzi
823a1034e0 fix svgs 2019-10-02 16:40:04 +02:00
Sabe Jones
03f7adf596 Merge branch 'release' into develop 2019-10-02 06:26:49 -05:00
Matteo Pagliazzi
211da982b3 fix env vars 2019-10-02 11:16:31 +02:00
Melior
9c93daf542 Merge branch 'origin/develop' into Weblate. 2019-10-02 02:09:27 +02:00
Melior
f933cb624c Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.0% (1876 of 1953 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (German)

Currently translated at 99.2% (1938 of 1953 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (329 of 329 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/en_GB/

Translated using Weblate (Dutch)

Currently translated at 100.0% (137 of 137 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/nl/

Translated using Weblate (Turkish)

Currently translated at 98.0% (203 of 207 strings)

Translation: Habitica/Settings
Translate-URL: https://translate.habitica.com/projects/habitica/settings/tr/
2019-10-02 02:08:24 +02:00
Sabe Jones
8308f88865 Merge branch 'release' into develop 2019-10-01 19:02:49 -05:00
Matteo Pagliazzi
86dbc23f3c fix server 2019-10-01 17:57:42 +02:00
Matteo Pagliazzi
cca5b8492b fix exports 2019-10-01 17:53:48 +02:00
Matteo Pagliazzi
4faa06f37d fix esling 2019-10-01 16:31:13 +02:00
Matteo Pagliazzi
33b26a69b8 config fixes 2019-10-01 16:23:09 +02:00
Matteo Pagliazzi
b466d12263 migrate remaining paths 2019-10-01 16:00:06 +02:00
Matteo Pagliazzi
e69275663b rewrite paths, add deps 2019-10-01 15:38:48 +02:00
Phillip Thelen
e2781964bb Fix lint error 2019-10-01 13:26:42 +02:00
Phillip Thelen
2d3f2500e8 Improve handling for sending mention notifications 2019-10-01 13:26:38 +02:00
Phillip Thelen
77b188833e Merge branch 'develop' of https://github.com/HabitRPG/habitica into autocomplete-username
# Conflicts:
#	website/server/controllers/api-v3/chat.js
#	website/server/libs/pushNotifications.js
#	website/server/models/user/schema.js
2019-10-01 12:55:41 +02:00
Matteo Pagliazzi
b44fbdcb14 old client structure 2019-10-01 11:44:38 +02:00
Matteo Pagliazzi
5b61f65711 move tests 2019-09-30 23:19:18 +02:00
Matteo Pagliazzi
46e4036c01 move remaining files 2019-09-30 23:14:31 +02:00
Matteo Pagliazzi
dadcf5db07 remove automatically generated files 2019-09-30 23:12:46 +02:00
Matteo Pagliazzi
b21a07aa66 start moving files 2019-09-30 23:02:24 +02:00
Matteo Pagliazzi
c6be804723 remove old e2e packages 2019-09-30 22:32:11 +02:00
Matteo Pagliazzi
a8846b17c0 Start implementing new client structure 2019-09-30 22:23:09 +02:00
Melior
e6ca63cc36 Merge branch 'origin/develop' into Weblate. 2019-09-30 20:29:48 +02:00
Melior
dd9f459bbf Translated using Weblate (Ukrainian)
Currently translated at 99.5% (210 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/uk/

Translated using Weblate (Swedish)

Currently translated at 99.5% (210 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/sv/

Translated using Weblate (Serbian)

Currently translated at 99.5% (210 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/sr/

Translated using Weblate (Romanian)

Currently translated at 99.5% (210 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/ro/

Translated using Weblate (Portuguese)

Currently translated at 99.5% (210 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/pt/

Translated using Weblate (Italian)

Currently translated at 98.1% (207 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/it/

Translated using Weblate (Indonesian)

Currently translated at 99.5% (210 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/id/

Translated using Weblate (Hungarian)

Currently translated at 99.5% (210 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/hu/

Translated using Weblate (Spanish (Latin America))

Currently translated at 99.5% (210 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/es_419/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (225 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hant/

Translated using Weblate (Ukrainian)

Currently translated at 95.1% (214 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/uk/

Translated using Weblate (Bulgarian)

Currently translated at 99.5% (210 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/bg/

Translated using Weblate (Romanian)

Currently translated at 95.1% (214 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ro/

Translated using Weblate (Spanish (Latin America))

Currently translated at 95.1% (214 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/es_419/

Translated using Weblate (Czech)

Currently translated at 95.1% (214 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/cs/

Translated using Weblate (Bulgarian)

Currently translated at 95.1% (214 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/bg/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (170 of 170 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 92.8% (157 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hant/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (482 of 482 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hant/

Translated using Weblate (Russian)

Currently translated at 98.8% (1921 of 1943 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 96.3% (1872 of 1943 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 85.7% (54 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/pt_BR/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (352 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hant/

Translated using Weblate (Russian)

Currently translated at 100.0% (352 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/ru/

Translated using Weblate (Dutch)

Currently translated at 100.0% (137 of 137 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/nl/

Translated using Weblate (Japanese)

Currently translated at 100.0% (137 of 137 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/ja/

Translated using Weblate (Dutch)

Currently translated at 99.5% (210 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/nl/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (211 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 98.8% (169 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/en@pirate/

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.5% (480 of 482 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 96.0% (1866 of 1943 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/fr/

Translated using Weblate (French)

Currently translated at 100.0% (333 of 333 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/fr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 68.2% (43 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 82.5% (52 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/pt_BR/

Translated using Weblate (English (Pirate))

Currently translated at 96.8% (61 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/en@pirate/

Translated using Weblate (Czech)

Currently translated at 90.4% (57 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/cs/

Translated using Weblate (English (Pirate))

Currently translated at 91.3% (610 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/en@pirate/

Translated using Weblate (French)

Currently translated at 100.0% (352 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/fr/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/en@pirate/

Translated using Weblate (Japanese)

Currently translated at 100.0% (137 of 137 strings)

Translation: Habitica/Challenge
Translate-URL: https://translate.habitica.com/projects/habitica/challenge/ja/

Translated using Weblate (Dutch)

Currently translated at 100.0% (459 of 459 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/nl/

Translated using Weblate (Italian)

Currently translated at 96.0% (216 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/it/

Translated using Weblate (French)

Currently translated at 100.0% (225 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/

Translated using Weblate (French)

Currently translated at 100.0% (31 of 31 strings)

Translation: Habitica/Maintenance
Translate-URL: https://translate.habitica.com/projects/habitica/maintenance/fr/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/fr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.3% (479 of 482 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% (482 of 482 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 95.2% (1850 of 1943 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (1943 of 1943 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/

Translated using Weblate (German)

Currently translated at 98.9% (1922 of 1943 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/fr/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 69.8% (44 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/pt_BR/

Translated using Weblate (Italian)

Currently translated at 65.0% (41 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/it/

Translated using Weblate (Japanese)

Currently translated at 90.1% (602 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (352 of 352 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% (352 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/pt_BR/

Translated using Weblate (Italian)

Currently translated at 90.9% (320 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/it/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (466 of 466 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt_BR/

Translated using Weblate (Spanish (Latin America))

Currently translated at 87.4% (584 of 668 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% (225 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/

Translated using Weblate (Spanish (Latin America))

Currently translated at 63.4% (40 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 99.2% (125 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/es_419/

Translated using Weblate (Spanish (Latin America))

Currently translated at 97.6% (455 of 466 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es_419/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ru/

Translated using Weblate (German)

Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/de/

Translated using Weblate (German)

Currently translated at 100.0% (169 of 169 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/de/

Translated using Weblate (Russian)

Currently translated at 98.3% (474 of 482 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ru/

Translated using Weblate (French)

Currently translated at 100.0% (482 of 482 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/fr/

Translated using Weblate (German)

Currently translated at 100.0% (482 of 482 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/de/

Translated using Weblate (Russian)

Currently translated at 98.3% (1911 of 1943 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/

Translated using Weblate (German)

Currently translated at 98.4% (1912 of 1943 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/

Translated using Weblate (German)

Currently translated at 100.0% (296 of 296 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/de/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (329 of 329 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/en@pirate/

Translated using Weblate (Chinese (Simplified))

Currently translated at 47.6% (30 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 50.7% (32 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/ru/

Translated using Weblate (French)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/fr/

Translated using Weblate (German)

Currently translated at 100.0% (63 of 63 strings)

Translation: Habitica/Defaulttasks
Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/de/

Translated using Weblate (Japanese)

Currently translated at 89.6% (599 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (352 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hans/

Translated using Weblate (French)

Currently translated at 100.0% (352 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/fr/

Translated using Weblate (German)

Currently translated at 100.0% (352 of 352 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/de/

Translated using Weblate (Dutch)

Currently translated at 98.6% (453 of 459 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/nl/
2019-09-30 20:27:51 +02:00
Sabe Jones
a715ec1a0f Merge branch 'release' into develop 2019-09-30 13:25:44 -05:00
Phillip Thelen
bbbe0cca09 Add push notification for party activity (#11319)
* Add push notification for party activity

* Improve inbox notifications

* move sendChatPushNotifications method

* Fix import

* Fix failing test

* Improve notification display on iOS

* correctly set push notification environment
2019-09-30 19:36:22 +02:00
Phillip Thelen
0072a3968d Send push notifications on mentions 2019-09-30 15:10:20 +02:00
negue
f3fb09f4f9 remove obsolete z-index override (#11384) 2019-09-29 18:53:17 +02:00
Phillip Thelen
c4f44fce4c Add missing translations from transifex (#11367)
* Add missing translations from transifex

* update i18n tests

* fix lint error
2019-09-29 18:46:01 +02:00
negue
e1abeeb78a load user info per conversation.id - 2nd try (#11374)
* load user info per conversation.id

* fix projection

* load user data based on / from conversations

* fix tests

* remove unneeded properties of 2nd query
2019-09-29 18:45:46 +02:00
Phillip Thelen
17e8b0a0fd Improve wording for push notifications (#11378) 2019-09-29 18:45:30 +02:00
Sabe Jones
b142225a5a Merge branch 'release' into develop 2019-09-26 18:22:47 -05:00
Melior
1efb21709b Merge branch 'origin/develop' into Weblate. 2019-09-26 21:51:06 +02:00
Melior
f184384175 Translated using Weblate (French)
Currently translated at 98.8% (165 of 167 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/fr/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (329 of 329 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/en@pirate/

Translated using Weblate (Portuguese)

Currently translated at 99.5% (210 of 211 strings)

Translation: Habitica/Tasks
Translate-URL: https://translate.habitica.com/projects/habitica/tasks/pt/

Translated using Weblate (Russian)

Currently translated at 100.0% (225 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (225 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (225 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pt_BR/

Translated using Weblate (German)

Currently translated at 100.0% (225 of 225 strings)

Translation: Habitica/Subscriber
Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/de/

Translated using Weblate (Russian)

Currently translated at 100.0% (28 of 28 strings)

Translation: Habitica/Rebirth
Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (146 of 146 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/ru/

Translated using Weblate (Portuguese)

Currently translated at 98.6% (144 of 146 strings)

Translation: Habitica/Pets
Translate-URL: https://translate.habitica.com/projects/habitica/pets/pt/

Translated using Weblate (Turkish)

Currently translated at 98.2% (168 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/tr/

Translated using Weblate (Russian)

Currently translated at 100.0% (171 of 171 strings)

Translation: Habitica/Npc
Translate-URL: https://translate.habitica.com/projects/habitica/npc/ru/

Translated using Weblate (Turkish)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/tr/

Translated using Weblate (Russian)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/ru/

Translated using Weblate (Spanish (Latin America))

Currently translated at 96.3% (449 of 466 strings)

Translation: Habitica/Backgrounds
Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es_419/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (167 of 167 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (167 of 167 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (167 of 167 strings)

Translation: Habitica/Limited
Translate-URL: https://translate.habitica.com/projects/habitica/limited/pt_BR/

Translated using Weblate (Russian)

Currently translated at 100.0% (482 of 482 strings)

Translation: Habitica/Groups
Translate-URL: https://translate.habitica.com/projects/habitica/groups/ru/

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.5% (1915 of 1943 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 98.2% (1909 of 1943 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 94.9% (1845 of 1943 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/

Translated using Weblate (English (Pirate))

Currently translated at 90.8% (1766 of 1943 strings)

Translation: Habitica/Gear
Translate-URL: https://translate.habitica.com/projects/habitica/gear/en@pirate/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (295 of 295 strings)

Translation: Habitica/Generic
Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hant/

Translated using Weblate (Russian)

Currently translated at 100.0% (329 of 329 strings)

Translation: Habitica/Front
Translate-URL: https://translate.habitica.com/projects/habitica/front/ru/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hans/

Translated using Weblate (Turkish)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/tr/

Translated using Weblate (Russian)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/ru/

Translated using Weblate (Portuguese)

Currently translated at 100.0% (56 of 56 strings)

Translation: Habitica/Faq
Translate-URL: https://translate.habitica.com/projects/habitica/faq/pt/

Translated using Weblate (Russian)

Currently translated at 100.0% (15 of 15 strings)

Translation: Habitica/Death
Translate-URL: https://translate.habitica.com/projects/habitica/death/ru/

Translated using Weblate (Japanese)

Currently translated at 89.2% (596 of 668 strings)

Translation: Habitica/Questscontent
Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/ja/

Translated using Weblate (Russian)

Currently translated at 100.0% (126 of 126 strings)

Translation: Habitica/Communityguidelines
Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (70 of 70 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/ru/

Translated using Weblate (English (Pirate))

Currently translated at 100.0% (70 of 70 strings)

Translation: Habitica/Contrib
Translate-URL: https://translate.habitica.com/projects/habitica/contrib/en@pirate/

Translated using Weblate (English (Pirate))

Currently translated at 94.3% (331 of 351 strings)

Translation: Habitica/Content
Translate-URL: https://translate.habitica.com/projects/habitica/content/en@pirate/

Translated using Weblate (Russian)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/ru/

Translated using Weblate (German)

Currently translated at 100.0% (230 of 230 strings)

Translation: Habitica/Character
Translate-URL: https://translate.habitica.com/projects/habitica/character/de/

Translated using Weblate (German)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/de/

Translated using Weblate (German)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/de/

Translated using Weblate (German)

Currently translated at 100.0% (8 of 8 strings)

Translation: Habitica/Overview
Translate-URL: https://translate.habitica.com/projects/habitica/overview/de/
2019-09-26 21:50:44 +02:00
Mark Kop
6ab6fdf1f0 fix(settings): other extensions description 2019-09-22 18:10:25 -03:00
Mark Kop
5653030c64 add firefox chat extension 2019-09-22 18:00:31 -03:00
Phillip Thelen
ed266adfc2 remove old code 2019-09-19 16:32:17 +02:00
Phillip Thelen
a629ec510f Fix merge issue 2019-09-19 16:22:28 +02:00
Phillip Thelen
6523b6b342 Merge branch 'develop' of https://github.com/HabitRPG/habitica into autocomplete-username
# Conflicts:
#	package.json
#	website/client/components/chat/autoComplete.vue
#	website/client/components/chat/chatCard.vue
#	website/client/components/groups/chat.vue
#	website/server/controllers/api-v3/chat.js
#	website/server/controllers/api-v3/members.js
#	website/server/controllers/api-v4/members.js
2019-09-19 16:08:13 +02:00
Xaz16
3ce74a3fd1 Merge remote-tracking branch 'upstream/develop' into develop 2019-09-05 17:12:50 +03:00
Xaz16
907dd406f3 Merge remote-tracking branch 'upstream/develop' into develop 2019-09-04 22:12:04 +03:00
Xaz16
42687335af Fix: reset habits by another keys (counterDown/counterUp):
- Fix test for correct way of reseting habits
- Use another keys for reseting habits
2019-09-04 17:52:38 +03:00
Xaz16
3797d29835 Fix: reset streak for habits after rebirth
- Modify current test of reseting streaks
- Add new if branch for task with "habit" type
2019-09-04 12:22:24 +03:00
Phillip Thelen
2dca2148f4 improve username autocomplete 2019-04-22 09:07:28 +02:00
Phillip Thelen
51f66af320 Improve auto completing 2019-03-06 12:59:57 +01:00
Sabe Jones
4a66e2fbe0 fix(mentioning): change default, adapt settings control to checkbox 2019-03-01 07:05:06 -06:00
Phillip Thelen
5e50e98738 limit autocomplete results to 5 2019-02-28 16:22:25 +01:00
Phillip Thelen
601811eac6 fix lint error 2019-02-28 15:30:33 +01:00
Phillip Thelen
071dffe8f2 Add check to make sure users don’t search for parties/guilds they are not part of 2019-02-28 15:27:58 +01:00
Phillip Thelen
1173a9b586 Correctly handle autocomplete for public and private guilds 2019-02-15 15:56:18 +01:00
Phillip Thelen
af510ce86f Fix non-profile urls not being usable. 2019-02-14 21:20:02 +01:00
Phillip Thelen
076e1b851e Merge branch 'develop' into phillip/autocomplete-username 2019-02-14 18:02:19 +01:00
Phillip Thelen
718ea926d8 add optional parameters to limit autocompletion to specific group 2019-02-14 17:59:51 +01:00
Phillip Thelen
328ecb22d8 Fix lint error 2019-02-12 15:36:49 +01:00
Phillip Thelen
be5137d14d Merge branch 'develop' into phillip/autocomplete-username 2019-02-12 14:40:47 +01:00
Phillip Thelen
3fec6fca0e optimize autocomplete regex 2019-02-12 14:38:45 +01:00
Phillip Thelen
bb674d1539 Cache username autocomplete requests 2019-02-12 14:31:30 +01:00
Phillip Thelen
59dbd12576 Fix sending private messages 2019-02-08 17:40:27 +01:00
Phillip Thelen
e9d5123f8a fix failing tests 2019-02-07 18:02:23 +01:00
Phillip Thelen
82863bd947 optimize mention highlighting 2019-02-06 15:00:41 +01:00
Phillip Thelen
8618913a75 Merge branch 'develop' of https://github.com/HabitRPG/habitica into autocomplete-username
# Conflicts:
#	package.json
2019-02-05 16:48:06 +01:00
Phillip Thelen
59f08bc0db Debounce autocomplete calls 2019-02-05 14:40:15 +01:00
Phillip Thelen
548c68f878 correctly name event variable 2019-02-05 14:39:57 +01:00
Phillip Thelen
c3d9ac6c4e Move tier icons import to index 2019-02-05 14:39:48 +01:00
Phillip Thelen
8641a98107 Merge branch 'develop' into phillip/autocomplete-username 2018-11-28 14:02:35 +01:00
Phillip Thelen
664a457b47 Merge branch 'develop' into phillip/autocomplete-username 2018-11-27 15:47:00 +01:00
Phillip Thelen
024e93e89b Fix test errors 2018-11-27 15:43:52 +01:00
Phillip Thelen
cde279e489 Improve chat input design 2018-11-27 15:43:52 +01:00
Sabe Jones
0e262dca68 4.73.2 2018-11-27 15:42:28 +01:00
Sabe Jones
b355b3d7f3 chore(i18n): update locales 2018-11-27 15:42:28 +01:00
Sabe Jones
8c1208031d chore(event): end Thanksgiving tweaks 2018-11-27 15:42:28 +01:00
Phillip Thelen
aac23f30cf Attach client to chat messages (#10845)
* Attach client to chat messages

* Word

* Design tweaks

* Fix potential error
2018-11-27 15:42:28 +01:00
Nathan Zimmerman
03763f46c9 Fixes issue #10857 ("Tags have extra space at the bottom when they should be centered") (#10861)
* Fix for #10857 centered category tag text

* Fixes #10857 and #10856 display tag markdown.
2018-11-27 15:41:43 +01:00
Matteo Pagliazzi
a0b1732f7e feat(footer): always show expanded footer (#10862) 2018-11-27 15:41:43 +01:00
Sabe Jones
80ef4a3297 4.73.1 2018-11-27 15:41:43 +01:00
Sabe Jones
46a4948f02 chore(i18n): update locales 2018-11-27 15:41:43 +01:00
Sabe Jones
f9fdab782a 4.73.0 2018-11-27 15:41:43 +01:00
Sabe Jones
2066f1288f chore(i18n): update locales 2018-11-27 15:41:43 +01:00
Sabe Jones
be9203801e chore(sprites): compile 2018-11-27 15:41:42 +01:00
Sabe Jones
916d930a83 feat(content): Turkey Day 2018 2018-11-27 15:41:42 +01:00
negue
1562c6944b more checks on the item.klass, also added the specialClass checks (#10859) 2018-11-27 15:41:42 +01:00
Alys
21f14d55b7 add two slurs - TRIGGER / CONTENT WARNING: assault, slurs, swearwords, etc 2018-11-27 15:41:42 +01:00
Matteo Pagliazzi
4417787dfe fix(stable): remove progress number from petItem 2018-11-27 15:41:42 +01:00
Sabe Jones
bfa3f9a314 4.72.0 2018-11-27 15:41:42 +01:00
Sabe Jones
6f86600b46 chore(i18n): update locales 2018-11-27 15:41:42 +01:00
Sabe Jones
d3f964c96e chore(sprites): compile 2018-11-27 15:41:42 +01:00
Sabe Jones
d661c7260e feat(content): Frost Hatching Potions 2018-11-27 15:41:41 +01:00
negue
b2095bdb0e move computed-props to methods - refactor mountItem to use the states inside (#10853) 2018-11-27 15:41:41 +01:00
Matteo Pagliazzi
1ccb700b3f Fix for #10814, prevent ParallelSave errors (#10852)
* fix(group leave): prevent ParallelSave errors while leaving a group with multiple group or challenge tasks

* fix typo
2018-11-27 15:41:41 +01:00
Matteo Pagliazzi
42a4bbeab7 fix(chat): prevent duplicate messages, closes #10823 2018-11-27 15:41:41 +01:00
greenkeeper[bot]
e0b78a3cf4 Update superagent to the latest version 🚀 (#10848)
* fix(package): update superagent to version 4.0.0

* chore(package): update lockfile package-lock.json
2018-11-27 15:40:41 +01:00
Dimini
5028b271fb Very large Guild member counts overflow the badge #10753 (#10812) 2018-11-27 15:40:41 +01:00
Ian Oxley
f5b6291abf Set width on .custom-control-label (#10840)
Set `width: 100%` on the `.custom-control-label`.

Although `overflow-wrap: break-word` is set on the parent `.checklist-item` element, it doesn't seem to take effect unless a width is set on the label.
2018-11-27 15:40:41 +01:00
Nathanael Farley
f5a2cf6726 groupChatReceived webhook fix (#10802)
* Moved sendGroupChatReceivedWebhooks to group.sendChat function.

* Added test for new functionality.
2018-11-27 15:40:41 +01:00
Sabe Jones
15e2e2ab07 4.71.0 2018-11-27 15:40:41 +01:00
Sabe Jones
999477024b chore(i18n): update locales 2018-11-27 15:40:41 +01:00
Sabe Jones
b49d2e4d2e chore(sprites): compile 2018-11-27 15:40:40 +01:00
Sabe Jones
62bcd878a0 feat(content): Oddballs Bundle
Also includes one more tweak to @mention text highlighting
2018-11-27 15:40:40 +01:00
Sabe Jones
d0b72d5dd4 fix(chat): more width tweakage 2018-11-27 15:40:40 +01:00
Sabe Jones
d031a4c9aa fix(chat): less intrusive highlight and better margins 2018-11-27 15:40:40 +01:00
Sabe Jones
793af2a10d 4.70.0 2018-11-27 15:40:40 +01:00
Sabe Jones
2598a6001e chore(i18n): update locales 2018-11-27 15:40:40 +01:00
Sabe Jones
e548074bc1 chore(news): Bailey 2018-11-27 15:40:40 +01:00
Sabe Jones
662e642729 fix(tests): linting & more expects
Also one more tweak for invite validation responsiveness
2018-11-27 15:40:40 +01:00
SabreCat
dd2c2f62b8 fix(tests): correct expects 2018-11-27 15:40:39 +01:00
Matteo Pagliazzi
577ff4cab9 use lean and .update 2018-11-27 15:40:39 +01:00
Matteo Pagliazzi
e8b7dbb4d2 select more fields 2018-11-27 15:40:39 +01:00
Matteo Pagliazzi
8d93d6bd16 fixes 2018-11-27 15:40:39 +01:00
Matteo Pagliazzi
0b7a60e3de rewrite mongoose migration to avoid using recursion 2018-11-27 15:40:39 +01:00
Phillip Thelen
a450ac3652 Improve chat input design 2018-11-27 15:25:41 +01:00
Phillip Thelen
30ebdcaa4f remove old autocomplete component 2018-11-27 14:01:43 +01:00
Phillip Thelen
ffa2ea4bb4 Correctly update message text when using autocomplete 2018-11-27 13:21:07 +01:00
Phillip Thelen
f65240c217 Fix issue with username highlighting 2018-11-27 13:20:45 +01:00
Phillip Thelen
0271d98b91 Add Test to opt out of username being searchable 2018-11-27 13:20:26 +01:00
Phillip Thelen
e9c86622c5 Begin adding server-side autocomplete to web client 2018-11-26 15:47:22 +01:00
Phillip Thelen
aae2fb1cb9 Create links to users profile in chat messages 2018-11-15 14:27:14 +01:00
Phillip Thelen
39761bdc04 Add API Call to retrieve auto-complete options for usernames 2018-11-15 12:01:26 +01:00
Matteo Pagliazzi
7d29ae44ba move the update username route to v3 (#10836) 2018-11-14 13:32:21 +01:00
5245 changed files with 484162 additions and 151899 deletions

View File

@@ -1,6 +1,12 @@
{
"plugins": [
"transform-es2015-modules-commonjs",
"syntax-object-rest-spread",
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": true
}
}
]
]
}
}

View File

@@ -1,3 +1,2 @@
node_modules
.git
website

View File

@@ -3,11 +3,14 @@ coverage/
database_reports/
website/build/
website/transpiled-babel/
# Has its own linter
website/client/
website/common/transpiled-babel/
dist/
dist-client/
apidoc_build/
content_cache/
i18n_cache/
node_modules/
# Old migrations, disabled

View File

@@ -1,10 +0,0 @@
{
"root": true,
"env": {
"node": true,
},
"extends": [
"habitrpg",
"habitrpg/esnext"
],
}

6
.eslintrc.js Normal file
View File

@@ -0,0 +1,6 @@
module.exports = {
root: true,
extends: [
'habitrpg/lib/node'
],
}

View File

@@ -8,13 +8,8 @@
# Requesting a feature
Habitica uses [Trello](https://trello.com/b/EpoYEYod/habitica) to track feature requests. [Read more](https://trello.com/c/odmhIqyW/440-read-first-table-of-contents).
Habitica uses [this Google form](https://docs.google.com/forms/d/e/1FAIpQLScPhrwq_7P1C6PTrI3lbvTsvqGyTNnGzp1ugi1Ml0PFee_p5g/viewform?usp=sf_link) to track feature requests. Please post there rather than creating an issue.
# Contributing Code
See [Contributing to Habitica](http://habitica.fandom.com/wiki/Contributing_to_Habitica#Coders_.28Web_.26_Mobile.29)
## Issue Triage [![Open Source Helpers](https://www.codetriage.com/habitrpg/habitica/badges/users.svg)](https://www.codetriage.com/habitrpg/habitica)
You can triage issues which may include reproducing bug reports or asking for vital information, such as version numbers or reproduction instructions. If you would like to start triaging issues, one easy way to get started is to [subscribe to habitrpg on CodeTriage](https://www.codetriage.com/habitrpg/habitica).

View File

@@ -1,7 +1,7 @@
[//]: # (Note: See http://habitica.fandom.com/wiki/Using_Your_Local_Install_to_Modify_Habitica%27s_Website_and_API for more info)
[//]: # (Put Issue # here, if applicable. This will automatically close the issue if your PR is merged in)
Fixes put_#_and_issue_numer_here
Fixes put_#_and_issue_number_here
### Changes
[//]: # (Describe the changes that were made in detail here. Include pictures if necessary)

198
.github/workflows/test.yml vendored Normal file
View File

@@ -0,0 +1,198 @@
name: Test
on: [push, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: cp config.json.example config.json
- name: npm install
run: |
npm ci
env:
CI: true
- run: npm run lint-no-fix
apidoc:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: cp config.json.example config.json
- name: npm install
run: |
npm ci
env:
CI: true
- run: npm run apidoc
sanity:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: cp config.json.example config.json
- name: npm install
run: |
npm ci
env:
CI: true
- run: npm run test:sanity
common:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: cp config.json.example config.json
- name: npm install
run: |
npm ci
env:
CI: true
- run: npm run test:common
content:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: cp config.json.example config.json
- name: npm install
run: |
npm ci
env:
CI: true
- run: npm run test:content
api-unit:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: sudo docker run --name mongo -d -p 27017:27017 mongo
- run: cp config.json.example config.json
- name: npm install
run: |
npm ci
env:
CI: true
- run: npm run test:api:unit
env:
REQUIRES_SERVER=true: true
api-v3-integration:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: sudo docker run --name mongo -d -p 27017:27017 mongo
- run: cp config.json.example config.json
- name: npm install
run: |
npm ci
env:
CI: true
- run: npm run test:api-v3:integration
env:
REQUIRES_SERVER=true: true
api-v4-integration:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: sudo docker run --name mongo -d -p 27017:27017 mongo
- run: cp config.json.example config.json
- name: npm install
run: |
npm ci
env:
CI: true
- run: npm run test:api-v4:integration
env:
REQUIRES_SERVER=true: true
client-unit:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: cp config.json.example config.json
- name: npm install
run: |
npm ci
env:
CI: true
- run: npm run test:unit
working-directory: ./website/client

16
.gitignore vendored
View File

@@ -1,22 +1,16 @@
.DS_Store
website/client-old/gen
website/client-old/common
website/client-old/apidoc
website/build
website/client-old/js/habitrpg-shared.js*
website/client-old/css/habitrpg-shared.css
website/transpiled-babel/
website/common/transpiled-babel/
node_modules
content_cache
i18n_cache
apidoc_build
*.swp
.idea*
config.json
npm-debug.log*
lib
website/client-old/bower_components
website/client-old/new-stuff.html
newrelic_agent.log
.bower-tmp
.bower-registry
@@ -27,15 +21,13 @@ TODO
*.log
src/*/*.map
src/*/*/*.map
test/*.js
test/*.map
website/client-old/docs
*.sublime-workspace
coverage
coverage.html
common/dist/scripts/*
dist
dist-client
website/client/dist
test/client/unit/coverage
test/client/e2e/reports
test/client-old/spec/mocks/translations.js
@@ -46,3 +38,7 @@ yarn.lock
.elasticbeanstalk/*
!.elasticbeanstalk/*.cfg.yml
!.elasticbeanstalk/*.global.yml
/.vscode
# webstorm fake webpack for path intellisense
webpack.webstorm.config

View File

@@ -1,20 +1,12 @@
node_modules/**
.bower-cache/**
.bower-tmp/**
.bower-registry/**
website/client-old/**
content_cache
content_cache/**
website/client/**
website/client/store/**
website/views/**
website/build/**
dist/**
test/**
.git/**
Gruntfile.js
CHANGELOG.md
.idea*
*.log
newrelic_agent.log
*.swp
*.swx
website/raw_sprites/**
content_cache/**

View File

@@ -1,29 +0,0 @@
language: node_js
node_js:
- '12'
services:
- mongodb
cache:
directories:
- 'node_modules'
addons:
chrome: stable
before_script:
- npm run test:build
- cp config.json.example config.json
- sleep 5
script:
- npm run $TEST
env:
global:
- DISABLE_REQUEST_LOGGING=true
matrix:
- TEST="lint"
- TEST="test:api:unit" REQUIRES_SERVER=true COVERAGE=true
- TEST="test:api-v3:integration" REQUIRES_SERVER=true COVERAGE=true
- TEST="test:api-v4:integration" REQUIRES_SERVER=true COVERAGE=true
- TEST="test:sanity"
- TEST="test:content" COVERAGE=true
- TEST="test:common" COVERAGE=true
- TEST="client:unit" COVERAGE=true
- TEST="apidoc"

View File

@@ -1,6 +1,7 @@
FROM node:12
ENV ADMIN_EMAIL admin@habitica.com
ENV EMAILS_COMMUNITY_MANAGER_EMAIL admin@habitica.com
ENV AMAZON_PAYMENTS_CLIENT_ID amzn1.application-oa2-client.68ed9e6904ef438fbc1bf86bf494056e
ENV AMAZON_PAYMENTS_SELLER_ID AMQ3SB4SG5E91
ENV AMPLITUDE_KEY e8d4c24b3d6ef3ee73eeba715023dd43
@@ -11,6 +12,7 @@ ENV GOOGLE_CLIENT_ID 1035232791481-32vtplgnjnd1aufv3mcu1lthf31795fq.apps.googleu
ENV LOGGLY_CLIENT_TOKEN ab5663bf-241f-4d14-8783-7d80db77089a
ENV NODE_ENV production
ENV STRIPE_PUB_KEY pk_85fQ0yMECHNfHTSsZoxZXlPSwSNfA
ENV APPLE_AUTH_CLIENT_ID 9Q9SMRMCNN.com.habitrpg.ios.Habitica
# Install global packages
RUN npm install -g gulp-cli mocha
@@ -19,12 +21,9 @@ RUN npm install -g gulp-cli mocha
RUN mkdir -p /usr/src/habitrpg
WORKDIR /usr/src/habitrpg
RUN git clone --branch release --depth 1 https://github.com/HabitRPG/habitica.git /usr/src/habitrpg
RUN npm set unsafe-perm true
RUN npm install
RUN gulp build:prod --force
# Create Build dir
RUN mkdir -p ./website/build
# Start Habitica
EXPOSE 3000
EXPOSE 80 8080 36612
CMD ["node", "./website/transpiled-babel/index.js"]

View File

@@ -1,5 +1,14 @@
FROM node:12
WORKDIR /code
COPY package*.json /code/
RUN npm install
RUN npm install -g gulp-cli mocha
FROM node:12
# Install global packages
RUN npm install -g gulp-cli mocha
# Copy package.json and package-lock.json into image, then install
# dependencies.
WORKDIR /usr/src/habitica
COPY ["package.json", "package-lock.json", "./"]
RUN npm install
# Copy the remaining source files in.
COPY . /usr/src/habitica
RUN npm run postinstall

View File

@@ -1,6 +1,6 @@
* Code is GPL v3 licensed:
This Source Code is subject to the terms of the GNU General Public License, v. 3.0.
If a copy of the GPL was not distributed with this file, You can obtain one at http://www.gnu.org/licenses/gpl-3.0.txt
If a copy of the GPL was not distributed with this file, you can obtain one at http://www.gnu.org/licenses/gpl-3.0.txt
* Assets and content designed for Mozilla BrowserQuest are licensed under CC-BY-SA 3.0:
http://creativecommons.org/licenses/by-sa/3.0/

View File

@@ -1,8 +1,6 @@
Habitica [![Build Status](https://travis-ci.org/HabitRPG/habitica.svg?branch=develop)](https://travis-ci.org/HabitRPG/habitica) [![Code Climate](https://codeclimate.com/github/HabitRPG/habitrpg.svg)](https://codeclimate.com/github/HabitRPG/habitrpg) [![Bountysource](https://api.bountysource.com/badge/tracker?tracker_id=68393)](https://www.bountysource.com/trackers/68393-habitrpg?utm_source=68393&utm_medium=shield&utm_campaign=TRACKER_BADGE) [![Open Source Helpers](https://www.codetriage.com/habitrpg/habitica/badges/users.svg)](https://www.codetriage.com/habitrpg/habitica)
Habitica ![Build Status](https://github.com/HabitRPG/habitica/workflows/Test/badge.svg) [![Code Climate](https://codeclimate.com/github/HabitRPG/habitrpg.svg)](https://codeclimate.com/github/HabitRPG/habitrpg) [![Bountysource](https://api.bountysource.com/badge/tracker?tracker_id=68393)](https://www.bountysource.com/trackers/68393-habitrpg?utm_source=68393&utm_medium=shield&utm_campaign=TRACKER_BADGE)
===============
[![Greenkeeper badge](https://badges.greenkeeper.io/HabitRPG/habitica.svg)](https://greenkeeper.io/)
[Habitica](https://habitica.com) is an open source habit building program which treats your life like a Role Playing Game. Level up as you succeed, lose HP as you fail, earn money to buy weapons and armor.
**We need more programmers!** Your assistance will be greatly appreciated. The wiki pages below and the additional pages they link to will tell you how to get started on contributing code and where you can go to seek further help or ask questions:

View File

@@ -1,11 +0,0 @@
# Vagrant #
Vagrant is a system to create reproducible and portable development
environments. Because of the variety of systems used for Habitica
development and the various issues developers may encounter setting up
Habitica on them, vagrant provides a single development enviroment with
minimal dependencies on the developer's local platform. It can be used
on a variety of systems including Windows, Mac OS X, and Linux.
Instructions for using the Habitica Vagrant environment are in
[Setting up Habitica Locally](http://habitica.fandom.com/wiki/Setting_up_Habitica_Locally).

View File

@@ -1,22 +0,0 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.provider "virtualbox" do |v|
v.memory = 4096
v.cpus = 1
v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant", "1"]
end
config.vm.box = "thepeopleseason/habitrpg"
config.ssh.forward_agent = true
config.vm.hostname = "habitrpg"
config.vm.network "forwarded_port", guest: 3000, host: 3000, auto_correct: true
config.vm.usable_port_range = (3000..3050)
config.vm.network "forwarded_port", guest: 8080, host: 8080, auto_correct: true
config.vm.usable_port_range = (8080..8130)
config.vm.provision :shell, :path => "vagrant_scripts/vagrant.sh"
end

View File

@@ -32,7 +32,8 @@
"LOGGLY_SUBDOMAIN": "example-subdomain",
"LOGGLY_TOKEN": "example-token",
"MAINTENANCE_MODE": "false",
"NODE_DB_URI": "mongodb://localhost/habitrpg",
"NODE_DB_URI": "mongodb://localhost:27017/habitrpg",
"MONGODB_POOL_SIZE": "10",
"NODE_ENV": "development",
"PATH": "bin:node_modules/.bin:/usr/local/bin:/usr/bin:/bin",
"PAYPAL_BILLING_PLANS_basic_12mo": "basic_12mo",
@@ -69,9 +70,15 @@
"SLACK_URL": "https://hooks.slack.com/services/some-url",
"STRIPE_API_KEY": "aaaabbbbccccddddeeeeffff00001111",
"STRIPE_PUB_KEY": "22223333444455556666777788889999",
"TEST_DB_URI": "mongodb://localhost/habitrpg_test",
"TEST_DB_URI": "mongodb://localhost:27017/habitrpg_test",
"TRANSIFEX_SLACK_CHANNEL": "transifex",
"WEB_CONCURRENCY": 1,
"SKIP_SSL_CHECK_KEY": "key",
"ENABLE_STACKDRIVER_TRACING": "false"
"ENABLE_STACKDRIVER_TRACING": "false",
"APPLE_AUTH_PRIVATE_KEY": "",
"APPLE_TEAM_ID": "",
"APPLE_AUTH_CLIENT_ID": "",
"APPLE_AUTH_KEY_ID": "",
"BLOCKED_IPS": "",
"LOG_AMPLITUDE_EVENTS": "false"
}

View File

@@ -15,8 +15,9 @@ services:
ports:
- "8080:8080"
volumes:
- .:/code
- /code/node_modules
- .:/usr/src/habitica
- /usr/src/habitica/node_modules
- /usr/src/habitica/website/client/node_modules
server:
build:
context: .
@@ -32,10 +33,10 @@ services:
ports:
- "3000:3000"
volumes:
- .:/code
- /code/node_modules
- .:/usr/src/habitica
- /usr/src/habitica/node_modules
mongo:
image: mongo:3.4
image: mongo:3.6
networks:
- habitica
ports:

View File

@@ -25,7 +25,7 @@ services:
- mongo
mongo:
image: mongo:3.4
image: mongo:3.6
ports:
- "27017:27017"
networks:

View File

@@ -4,12 +4,12 @@ import apidoc from 'apidoc';
const APIDOC_DEST_PATH = './apidoc_build';
const APIDOC_SRC_PATH = './website/server';
gulp.task('apidoc:clean', (done) => {
gulp.task('apidoc:clean', done => {
clean(APIDOC_DEST_PATH, done);
});
gulp.task('apidoc', gulp.series('apidoc:clean', (done) => {
let result = apidoc.createDoc({
gulp.task('apidoc', gulp.series('apidoc:clean', done => {
const result = apidoc.createDoc({
src: APIDOC_SRC_PATH,
dest: APIDOC_DEST_PATH,
});
@@ -21,6 +21,4 @@ gulp.task('apidoc', gulp.series('apidoc:clean', (done) => {
}
}));
gulp.task('apidoc:watch', gulp.series('apidoc', (done) => {
return gulp.watch(`${APIDOC_SRC_PATH}/**/*.js`, gulp.series('apidoc', done));
}));
gulp.task('apidoc:watch', gulp.series('apidoc', done => gulp.watch(`${APIDOC_SRC_PATH}/**/*.js`, gulp.series('apidoc', done))));

View File

@@ -1,43 +1,35 @@
import gulp from 'gulp';
import babel from 'gulp-babel';
import webpackProductionBuild from '../webpack/build';
gulp.task('build:src', () => {
return gulp.src('website/server/**/*.js')
.pipe(babel())
.pipe(gulp.dest('website/transpiled-babel/'));
});
gulp.task('build:babel:server', () => gulp.src('website/server/**/*.js')
.pipe(babel())
.pipe(gulp.dest('website/transpiled-babel/')));
gulp.task('build:common', () => {
return gulp.src('website/common/script/**/*.js')
.pipe(babel())
.pipe(gulp.dest('website/common/transpiled-babel/'));
});
gulp.task('build:babel:common', () => gulp.src('website/common/script/**/*.js')
.pipe(babel())
.pipe(gulp.dest('website/common/transpiled-babel/')));
gulp.task('build:server', gulp.series('build:src', 'build:common', done => done()));
gulp.task('build:babel', gulp.parallel('build:babel:server', 'build:babel:common', done => done()));
// Client Production Build
gulp.task('build:client', (done) => {
webpackProductionBuild((err, output) => {
if (err) return done(err);
console.log(output); // eslint-disable-line no-console
done();
});
});
gulp.task('build:prod', gulp.series(
'build:server',
'build:client',
'apidoc',
done => done()
gulp.task('build:cache', gulp.parallel(
'cache:content',
'cache:i18n',
done => done(),
));
let buildArgs = [];
gulp.task('build:prod', gulp.series(
'build:babel',
'apidoc',
'build:cache',
done => done(),
));
const buildArgs = [];
if (process.env.NODE_ENV === 'production') { // eslint-disable-line no-process-env
buildArgs.push('build:prod');
}
gulp.task('build', gulp.series(buildArgs, (done) => {
gulp.task('build', gulp.series(buildArgs, done => {
done();
}));
}));

63
gulp/gulp-cache.js Normal file
View File

@@ -0,0 +1,63 @@
import gulp from 'gulp';
import fs from 'fs';
// TODO parallelize, use gulp file helpers
gulp.task('cache:content', done => {
// Requiring at runtime because these files access `common`
// code which in production works only if transpiled so after
// gulp build:babel:common has run
const { CONTENT_CACHE_PATH, getLocalizedContentResponse } = require('../website/server/libs/content'); // eslint-disable-line global-require
const { langCodes } = require('../website/server/libs/i18n'); // eslint-disable-line global-require
try {
// create the cache folder (if it doesn't exist)
try {
fs.mkdirSync(CONTENT_CACHE_PATH);
} catch (err) {
if (err.code !== 'EEXIST') throw err;
}
// clone the content for each language and save
// localize it
// save the result
langCodes.forEach(langCode => {
fs.writeFileSync(
`${CONTENT_CACHE_PATH}${langCode}.json`,
getLocalizedContentResponse(langCode),
'utf8',
);
});
done();
} catch (err) {
done(err);
}
});
gulp.task('cache:i18n', done => {
// Requiring at runtime because these files access `common`
// code which in production works only if transpiled so after
// gulp build:babel:common has run
const { BROWSER_SCRIPT_CACHE_PATH, geti18nBrowserScript } = require('../website/server/libs/i18n'); // eslint-disable-line global-require
const { langCodes } = require('../website/server/libs/i18n'); // eslint-disable-line global-require
try {
// create the cache folder (if it doesn't exist)
try {
fs.mkdirSync(BROWSER_SCRIPT_CACHE_PATH);
} catch (err) {
if (err.code !== 'EEXIST') throw err;
}
// create and save the i18n browser script for each language
langCodes.forEach(languageCode => {
fs.writeFileSync(
`${BROWSER_SCRIPT_CACHE_PATH}${languageCode}.js`,
geti18nBrowserScript(languageCode),
'utf8',
);
});
done();
} catch (err) {
done(err);
}
});

View File

@@ -1,26 +1,30 @@
import mongoose from 'mongoose';
import logger from '../website/server/libs/logger';
import nconf from 'nconf';
import repl from 'repl';
import gulp from 'gulp';
import nconf from 'nconf';
import repl from 'repl';
import gulp from 'gulp';
import logger from '../website/server/libs/logger';
// Add additional properties to the repl's context
let improveRepl = (context) => {
const improveRepl = context => {
// Let "exit" and "quit" terminate the console
['exit', 'quit'].forEach((term) => {
Object.defineProperty(context, term, { get () {
process.exit();
}});
['exit', 'quit'].forEach(term => {
Object.defineProperty(context, term, {
get () { // eslint-disable-line getter-return
process.exit();
},
});
});
// "clear" clears the screen
Object.defineProperty(context, 'clear', { get () {
process.stdout.write('\u001B[2J\u001B[0;0f');
}});
Object.defineProperty(context, 'clear', {
get () { // eslint-disable-line getter-return
process.stdout.write('\u001B[2J\u001B[0;0f');
},
});
context.Challenge = require('../website/server/models/challenge').model; // eslint-disable-line global-require
context.Group = require('../website/server/models/group').model; // eslint-disable-line global-require
context.User = require('../website/server/models/user').model; // eslint-disable-line global-require
context.Group = require('../website/server/models/group').model; // eslint-disable-line global-require
context.User = require('../website/server/models/user').model; // eslint-disable-line global-require
const isProd = nconf.get('NODE_ENV') === 'production';
const mongooseOptions = !isProd ? {} : {
@@ -30,14 +34,14 @@ let improveRepl = (context) => {
mongoose.connect(
nconf.get('NODE_DB_URI'),
mongooseOptions,
(err) => {
err => {
if (err) throw err;
logger.info('Connected with Mongoose');
}
},
);
};
gulp.task('console', (done) => {
gulp.task('console', done => {
improveRepl(repl.start({
prompt: 'Habitica > ',
}).context);

View File

@@ -4,29 +4,29 @@ import spritesmith from 'gulp.spritesmith';
import clean from 'rimraf';
import sizeOf from 'image-size';
import mergeStream from 'merge-stream';
import {basename} from 'path';
import {sync} from 'glob';
import {each} from 'lodash';
import { basename } from 'path';
import { sync } from 'glob';
import { each } from 'lodash';
import vinylBuffer from 'vinyl-buffer';
// https://github.com/Ensighten/grunt-spritesmith/issues/67#issuecomment-34786248
const MAX_SPRITESHEET_SIZE = 1024 * 1024 * 3;
const IMG_DIST_PATH = 'website/client/assets/images/sprites/';
const CSS_DIST_PATH = 'website/client/assets/css/sprites/';
const IMG_DIST_PATH = 'website/client/src/assets/images/sprites/';
const CSS_DIST_PATH = 'website/client/src/assets/css/sprites/';
function checkForSpecialTreatment (name) {
let regex = /^hair|skin|beard|mustach|shirt|flower|^headAccessory_special_\w+Ears|^eyewear_special_\w+TopFrame|^eyewear_special_\w+HalfMoon/;
const regex = /^hair|skin|beard|mustach|shirt|flower|^headAccessory_special_\w+Ears|^eyewear_special_\w+TopFrame|^eyewear_special_\w+HalfMoon/;
return name.match(regex) || name === 'head_0';
}
function calculateImgDimensions (img, addPadding) {
let dims = sizeOf(img);
let requiresSpecialTreatment = checkForSpecialTreatment(img);
const requiresSpecialTreatment = checkForSpecialTreatment(img);
if (requiresSpecialTreatment) {
let newWidth = dims.width < 90 ? 90 : dims.width;
let newHeight = dims.height < 90 ? 90 : dims.height;
const newWidth = dims.width < 90 ? 90 : dims.width;
const newHeight = dims.height < 90 ? 90 : dims.height;
dims = {
width: newWidth,
height: newHeight,
@@ -41,17 +41,17 @@ function calculateImgDimensions (img, addPadding) {
if (!dims.width || !dims.height) console.error('MISSING DIMENSIONS:', dims); // eslint-disable-line no-console
let totalPixelSize = dims.width * dims.height + padding;
const totalPixelSize = dims.width * dims.height + padding;
return totalPixelSize;
}
function calculateSpritesheetsSrcIndicies (src) {
let totalPixels = 0;
let slices = [0];
const slices = [0];
each(src, (img, index) => {
let imageSize = calculateImgDimensions(img, true);
const imageSize = calculateImgDimensions(img, true);
totalPixels += imageSize;
if (totalPixels > MAX_SPRITESHEET_SIZE) {
@@ -64,37 +64,35 @@ function calculateSpritesheetsSrcIndicies (src) {
}
function cssVarMap (sprite) {
// For hair, skins, beards, etc. we want to output a '.customize-options.WHATEVER' class, which works as a
// 60x60 image pointing at the proper part of the 90x90 sprite.
// For hair, skins, beards, etc. we want to output a '.customize-options.WHATEVER' class,
// which works as a 60x60 image pointing at the proper part of the 90x90 sprite.
// We set up the custom info here, and the template makes use of it.
let requiresSpecialTreatment = checkForSpecialTreatment(sprite.name);
const requiresSpecialTreatment = checkForSpecialTreatment(sprite.name);
if (requiresSpecialTreatment) {
sprite.custom = {
px: {
offsetX: `-${ sprite.x + 25 }px`,
offsetY: `-${ sprite.y + 15 }px`,
offsetX: `-${sprite.x + 25}px`,
offsetY: `-${sprite.y + 15}px`,
width: '60px',
height: '60px',
},
};
}
if (sprite.name.indexOf('shirt') !== -1)
sprite.custom.px.offsetY = `-${ sprite.y + 35 }px`; // even more for shirts
if (sprite.name.indexOf('shirt') !== -1) sprite.custom.px.offsetY = `-${sprite.y + 35}px`; // even more for shirts
if (sprite.name.indexOf('hair_base') !== -1) {
let styleArray = sprite.name.split('_').slice(2, 3);
if (Number(styleArray[0]) > 14)
sprite.custom.px.offsetY = `-${ sprite.y }px`; // don't crop updos
const styleArray = sprite.name.split('_').slice(2, 3);
if (Number(styleArray[0]) > 14) sprite.custom.px.offsetY = `-${sprite.y}px`; // don't crop updos
}
}
function createSpritesStream (name, src) {
let spritesheetSliceIndicies = calculateSpritesheetsSrcIndicies(src);
let stream = mergeStream();
const spritesheetSliceIndicies = calculateSpritesheetsSrcIndicies(src);
const stream = mergeStream();
each(spritesheetSliceIndicies, (start, index) => {
let slicedSrc = src.slice(start, spritesheetSliceIndicies[index + 1]);
const slicedSrc = src.slice(start, spritesheetSliceIndicies[index + 1]);
let spriteData = gulp.src(slicedSrc)
const spriteData = gulp.src(slicedSrc)
.pipe(spritesmith({
imgName: `spritesmith-${name}-${index}.png`,
cssName: `spritesmith-${name}-${index}.css`,
@@ -104,12 +102,12 @@ function createSpritesStream (name, src) {
cssVarMap,
}));
let imgStream = spriteData.img
const imgStream = spriteData.img
.pipe(vinylBuffer())
.pipe(imagemin())
.pipe(gulp.dest(IMG_DIST_PATH));
let cssStream = spriteData.css
const cssStream = spriteData.css
.pipe(gulp.dest(CSS_DIST_PATH));
stream.add(imgStream);
@@ -120,32 +118,32 @@ function createSpritesStream (name, src) {
}
gulp.task('sprites:main', () => {
let mainSrc = sync('website/raw_sprites/spritesmith/**/*.png');
const mainSrc = sync('website/raw_sprites/spritesmith/**/*.png');
return createSpritesStream('main', mainSrc);
});
gulp.task('sprites:largeSprites', () => {
let largeSrc = sync('website/raw_sprites/spritesmith_large/**/*.png');
const largeSrc = sync('website/raw_sprites/spritesmith_large/**/*.png');
return createSpritesStream('largeSprites', largeSrc);
});
gulp.task('sprites:clean', (done) => {
gulp.task('sprites:clean', done => {
clean(`${IMG_DIST_PATH}spritesmith*,${CSS_DIST_PATH}spritesmith*}`, done);
});
gulp.task('sprites:checkCompiledDimensions', gulp.series('sprites:main', 'sprites:largeSprites', (done) => {
gulp.task('sprites:checkCompiledDimensions', gulp.series('sprites:main', 'sprites:largeSprites', done => {
console.log('Verifiying that images do not exceed max dimensions'); // eslint-disable-line no-console
let numberOfSheetsThatAreTooBig = 0;
let distSpritesheets = sync(`${IMG_DIST_PATH}*.png`);
const distSpritesheets = sync(`${IMG_DIST_PATH}*.png`);
each(distSpritesheets, (img) => {
let spriteSize = calculateImgDimensions(img);
each(distSpritesheets, img => {
const spriteSize = calculateImgDimensions(img);
if (spriteSize > MAX_SPRITESHEET_SIZE) {
numberOfSheetsThatAreTooBig++;
let name = basename(img, '.png');
numberOfSheetsThatAreTooBig += 1;
const name = basename(img, '.png');
console.error(`WARNING: ${name} might be too big - ${spriteSize} > ${MAX_SPRITESHEET_SIZE}`); // eslint-disable-line no-console
}
});
@@ -155,11 +153,12 @@ gulp.task('sprites:checkCompiledDimensions', gulp.series('sprites:main', 'sprite
console.error( // eslint-disable-line no-console
`${numberOfSheetsThatAreTooBig} sheets might too big for mobile Safari to be able to handle
them, but there is a margin of error in these calculations so it is probably okay. Mention
this to an admin so they can test a staging site on mobile Safari after your PR is merged.`);
this to an admin so they can test a staging site on mobile Safari after your PR is merged.`,
);
} else {
console.log('All images are within the correct dimensions'); // eslint-disable-line no-console
}
done();
}));
gulp.task('sprites:compile', gulp.series('sprites:clean', 'sprites:main', 'sprites:largeSprites', 'sprites:checkCompiledDimensions', done => done()));
gulp.task('sprites:compile', gulp.series('sprites:clean', 'sprites:checkCompiledDimensions', done => done()));

View File

@@ -1,16 +1,11 @@
import gulp from 'gulp';
import nodemon from 'gulp-nodemon';
let pkg = require('../package.json');
import pkg from '../package.json';
gulp.task('nodemon', (done) => {
gulp.task('nodemon', done => {
nodemon({
script: pkg.main,
ignore: [
'website/client-old/*',
'website/views/*',
'common/dist/script/content/*',
],
});
done();
});

View File

@@ -1,60 +1,59 @@
import mongoose from 'mongoose';
import { exec } from 'child_process';
import gulp from 'gulp';
import os from 'os';
import nconf from 'nconf';
import {
pipe,
} from './taskHelper';
import mongoose from 'mongoose';
import { exec } from 'child_process';
import gulp from 'gulp';
import os from 'os';
import nconf from 'nconf';
} from './taskHelper';
// TODO rewrite
const TEST_SERVER_PORT = 3003;
const TEST_SERVER_PORT = 3003;
let server;
const TEST_DB_URI = nconf.get('TEST_DB_URI');
const TEST_DB_URI = nconf.get('TEST_DB_URI');
const SANITY_TEST_COMMAND = 'npm run test:sanity';
const COMMON_TEST_COMMAND = 'npm run test:common';
const CONTENT_TEST_COMMAND = 'npm run test:content';
const CONTENT_OPTIONS = {maxBuffer: 1024 * 500};
const CONTENT_OPTIONS = { maxBuffer: 1024 * 500 };
/* Helper methods for reporting test summary */
let testResults = [];
let testCount = (stdout, regexp) => {
let match = stdout.match(regexp);
return parseInt(match && match[1] || 0, 10);
const testResults = [];
const testCount = (stdout, regexp) => {
const match = stdout.match(regexp);
return parseInt(match && (match[1] || 0), 10);
};
let testBin = (string, additionalEnvVariables = '') => {
const testBin = (string, additionalEnvVariables = '') => {
if (os.platform() === 'win32') {
if (additionalEnvVariables !== '') {
additionalEnvVariables = additionalEnvVariables.split(' ').join('&&set ');
additionalEnvVariables = `set ${additionalEnvVariables}&&`;
additionalEnvVariables = additionalEnvVariables.split(' ').join('&&set '); // eslint-disable-line no-param-reassign
additionalEnvVariables = `set ${additionalEnvVariables}&&`; // eslint-disable-line no-param-reassign
}
return `set NODE_ENV=test&&${additionalEnvVariables}${string}`;
} else {
return `NODE_ENV=test ${additionalEnvVariables} ${string}`;
}
return `NODE_ENV=test ${additionalEnvVariables} ${string}`;
};
gulp.task('test:nodemon', gulp.series(function setupNodemon (done) {
gulp.task('test:nodemon', gulp.series(done => {
process.env.PORT = TEST_SERVER_PORT; // eslint-disable-line no-process-env
process.env.NODE_DB_URI = TEST_DB_URI; // eslint-disable-line no-process-env
done();
}, 'nodemon'));
gulp.task('test:prepare:mongo', (cb) => {
mongoose.connect(TEST_DB_URI, (err) => {
gulp.task('test:prepare:mongo', cb => {
mongoose.connect(TEST_DB_URI, err => {
if (err) return cb(`Unable to connect to mongo database. Are you sure it's running? \n\n${err}`);
mongoose.connection.dropDatabase((err2) => {
return mongoose.connection.dropDatabase(err2 => {
if (err2) return cb(err2);
mongoose.connection.close(cb);
return mongoose.connection.close(cb);
});
});
});
gulp.task('test:prepare:server', gulp.series('test:prepare:mongo', (done) => {
gulp.task('test:prepare:server', gulp.series('test:prepare:mongo', done => {
if (!server) {
server = exec(testBin('node ./website/server/index.js', `NODE_DB_URI=${TEST_DB_URI} PORT=${TEST_SERVER_PORT}`), (error, stdout, stderr) => {
if (error) {
@@ -73,45 +72,43 @@ gulp.task('test:prepare:build', gulp.series('build', done => done()));
gulp.task('test:prepare', gulp.series(
'test:prepare:build',
'test:prepare:mongo',
done => done()
done => done(),
));
gulp.task('test:sanity', (cb) => {
let runner = exec(
gulp.task('test:sanity', cb => {
const runner = exec(
testBin(SANITY_TEST_COMMAND),
(err) => {
err => {
if (err) {
process.exit(1);
}
cb();
}
},
);
pipe(runner);
});
gulp.task('test:common', gulp.series('test:prepare:build', (cb) => {
let runner = exec(
gulp.task('test:common', gulp.series('test:prepare:build', cb => {
const runner = exec(
testBin(COMMON_TEST_COMMAND),
(err) => {
err => {
if (err) {
process.exit(1);
}
cb();
}
},
);
pipe(runner);
}));
gulp.task('test:common:clean', (cb) => {
gulp.task('test:common:clean', cb => {
pipe(exec(testBin(COMMON_TEST_COMMAND), () => cb()));
});
gulp.task('test:common:watch', gulp.series('test:common:clean', () => {
return gulp.watch(['common/script/**/*', 'test/common/**/*'], gulp.series('test:common:clean', done => done()));
}));
gulp.task('test:common:watch', gulp.series('test:common:clean', () => gulp.watch(['common/script/**/*', 'test/common/**/*'], gulp.series('test:common:clean', done => done()))));
gulp.task('test:common:safe', gulp.series('test:prepare:build', (cb) => {
let runner = exec(
gulp.task('test:common:safe', gulp.series('test:prepare:build', cb => {
const runner = exec(
testBin(COMMON_TEST_COMMAND),
(err, stdout) => { // eslint-disable-line handle-callback-err
testResults.push({
@@ -121,38 +118,36 @@ gulp.task('test:common:safe', gulp.series('test:prepare:build', (cb) => {
pend: testCount(stdout, /(\d+) pending/),
});
cb();
}
},
);
pipe(runner);
}));
gulp.task('test:content', gulp.series('test:prepare:build', (cb) => {
let runner = exec(
gulp.task('test:content', gulp.series('test:prepare:build', cb => {
const runner = exec(
testBin(CONTENT_TEST_COMMAND),
CONTENT_OPTIONS,
(err) => {
err => {
if (err) {
process.exit(1);
}
cb();
}
},
);
pipe(runner);
}));
gulp.task('test:content:clean', (cb) => {
gulp.task('test:content:clean', cb => {
pipe(exec(testBin(CONTENT_TEST_COMMAND), CONTENT_OPTIONS, () => cb()));
});
gulp.task('test:content:watch', gulp.series('test:content:clean', () => {
return gulp.watch(['common/script/content/**', 'test/**'], gulp.series('test:content:clean', done => done()));
}));
gulp.task('test:content:watch', gulp.series('test:content:clean', () => gulp.watch(['common/script/content/**', 'test/**'], gulp.series('test:content:clean', done => done()))));
gulp.task('test:content:safe', gulp.series('test:prepare:build', (cb) => {
let runner = exec(
gulp.task('test:content:safe', gulp.series('test:prepare:build', cb => {
const runner = exec(
testBin(CONTENT_TEST_COMMAND),
CONTENT_OPTIONS,
(err, stdout) => { // eslint-disable-line handle-callback-err
(err, stdout) => { // eslint-disable-line handle-callback-err
testResults.push({
suite: 'Content Specs\t',
pass: testCount(stdout, /(\d+) passing/),
@@ -160,81 +155,77 @@ gulp.task('test:content:safe', gulp.series('test:prepare:build', (cb) => {
pend: testCount(stdout, /(\d+) pending/),
});
cb();
}
},
);
pipe(runner);
}));
gulp.task('test:api:unit', (done) => {
let runner = exec(
gulp.task('test:api:unit', done => {
const runner = exec(
testBin('istanbul cover --dir coverage/api-unit node_modules/mocha/bin/_mocha -- test/api/unit --recursive --require ./test/helpers/start-server'),
(err) => {
err => {
if (err) {
process.exit(1);
}
done();
}
},
);
pipe(runner);
});
gulp.task('test:api:unit:watch', () => {
return gulp.watch(['website/server/libs/*', 'test/api/unit/**/*', 'website/server/controllers/**/*'], gulp.series('test:api:unit', done => done()));
});
gulp.task('test:api:unit:watch', () => gulp.watch(['website/server/libs/*', 'test/api/unit/**/*', 'website/server/controllers/**/*'], gulp.series('test:api:unit', done => done())));
gulp.task('test:api-v3:integration', (done) => {
let runner = exec(
gulp.task('test:api-v3:integration', done => {
const runner = exec(
testBin('istanbul cover --dir coverage/api-v3-integration --report lcovonly node_modules/mocha/bin/_mocha -- test/api/v3/integration --recursive --require ./test/helpers/start-server'),
{maxBuffer: 500 * 1024},
(err) => {
{ maxBuffer: 500 * 1024 },
err => {
if (err) {
process.exit(1);
}
done();
}
},
);
pipe(runner);
});
gulp.task('test:api-v3:integration:watch', () => {
return gulp.watch([
'website/server/controllers/api-v3/**/*', 'common/script/ops/*', 'website/server/libs/*.js',
'test/api/v3/integration/**/*',
], gulp.series('test:api-v3:integration', done => done()));
});
gulp.task('test:api-v3:integration:watch', () => gulp.watch([
'website/server/controllers/api-v3/**/*', 'common/script/ops/*', 'website/server/libs/*.js',
'test/api/v3/integration/**/*',
], gulp.series('test:api-v3:integration', done => done())));
gulp.task('test:api-v3:integration:separate-server', (done) => {
let runner = exec(
gulp.task('test:api-v3:integration:separate-server', done => {
const runner = exec(
testBin('mocha test/api/v3/integration --recursive --require ./test/helpers/start-server', 'LOAD_SERVER=0'),
{maxBuffer: 500 * 1024},
(err) => done(err)
{ maxBuffer: 500 * 1024 },
err => done(err),
);
pipe(runner);
});
gulp.task('test:api-v4:integration', (done) => {
let runner = exec(
gulp.task('test:api-v4:integration', done => {
const runner = exec(
testBin('istanbul cover --dir coverage/api-v4-integration --report lcovonly node_modules/mocha/bin/_mocha -- test/api/v4 --recursive --require ./test/helpers/start-server'),
{maxBuffer: 500 * 1024},
(err) => {
{ maxBuffer: 500 * 1024 },
err => {
if (err) {
process.exit(1);
}
done();
}
},
);
pipe(runner);
});
gulp.task('test:api-v4:integration:separate-server', (done) => {
let runner = exec(
gulp.task('test:api-v4:integration:separate-server', done => {
const runner = exec(
testBin('mocha test/api/v4 --recursive --require ./test/helpers/start-server', 'LOAD_SERVER=0'),
{maxBuffer: 500 * 1024},
(err) => done(err)
{ maxBuffer: 500 * 1024 },
err => done(err),
);
pipe(runner);
@@ -247,11 +238,11 @@ gulp.task('test', gulp.series(
'test:api:unit',
'test:api-v3:integration',
'test:api-v4:integration',
done => done()
done => done(),
));
gulp.task('test:api-v3', gulp.series(
'test:api:unit',
'test:api-v3:integration',
done => done()
done => done(),
));

View File

@@ -1,6 +1,6 @@
import fs from 'fs';
import _ from 'lodash';
import gulp from 'gulp';
import fs from 'fs';
import _ from 'lodash';
import gulp from 'gulp';
import { postToSlack, conf } from './taskHelper';
const SLACK_CONFIG = {
@@ -14,7 +14,7 @@ const ENGLISH_LOCALE = `${LOCALES}en/`;
function getArrayOfLanguages () {
let languages = fs.readdirSync(LOCALES);
const languages = fs.readdirSync(LOCALES);
languages.shift(); // Remove README.md from array of languages
return languages;
@@ -23,18 +23,16 @@ function getArrayOfLanguages () {
const ALL_LANGUAGES = getArrayOfLanguages();
function stripOutNonJsonFiles (collection) {
let onlyJson = _.filter(collection, (file) => {
return file.match(/[a-zA-Z]*\.json/);
});
const onlyJson = _.filter(collection, file => file.match(/[a-zA-Z]*\.json/));
return onlyJson;
}
function eachTranslationFile (languages, cb) {
let jsonFiles = stripOutNonJsonFiles(fs.readdirSync(ENGLISH_LOCALE));
const jsonFiles = stripOutNonJsonFiles(fs.readdirSync(ENGLISH_LOCALE));
_.each(languages, (lang) => {
_.each(jsonFiles, (filename) => {
_.each(languages, lang => {
_.each(jsonFiles, filename => {
let parsedTranslationFile;
try {
const translationFile = fs.readFileSync(`${LOCALES}${lang}/${filename}`);
@@ -43,10 +41,10 @@ function eachTranslationFile (languages, cb) {
return cb(err);
}
let englishFile = fs.readFileSync(ENGLISH_LOCALE + filename);
let parsedEnglishFile = JSON.parse(englishFile);
const englishFile = fs.readFileSync(ENGLISH_LOCALE + filename);
const parsedEnglishFile = JSON.parse(englishFile);
cb(null, lang, filename, parsedEnglishFile, parsedTranslationFile);
return cb(null, lang, filename, parsedEnglishFile, parsedTranslationFile);
});
});
}
@@ -71,9 +69,9 @@ function formatMessageForPosting (msg, items) {
}
function getStringsWith (json, interpolationRegex) {
let strings = {};
const strings = {};
_.each(json, (fileName) => {
_.each(json, fileName => {
const rawFile = fs.readFileSync(ENGLISH_LOCALE + fileName);
const parsedJson = JSON.parse(rawFile);
@@ -93,66 +91,69 @@ const malformedStringExceptions = {
feedPet: true,
};
gulp.task('transifex:missingFiles', (done) => {
let missingStrings = [];
gulp.task('transifex:missingFiles', done => {
const missingStrings = [];
eachTranslationFile(ALL_LANGUAGES, (error) => {
eachTranslationFile(ALL_LANGUAGES, error => {
if (error) {
missingStrings.push(error.path);
}
});
if (!_.isEmpty(missingStrings)) {
let message = 'the following files were missing from the translations folder';
let formattedMessage = formatMessageForPosting(message, missingStrings);
const message = 'the following files were missing from the translations folder';
const formattedMessage = formatMessageForPosting(message, missingStrings);
postToSlack(formattedMessage, SLACK_CONFIG);
}
done();
});
gulp.task('transifex:missingStrings', (done) => {
let missingStrings = [];
gulp.task('transifex:missingStrings', done => {
const missingStrings = [];
eachTranslationString(ALL_LANGUAGES, (language, filename, key, englishString, translationString) => {
eachTranslationString(ALL_LANGUAGES, (lang, filename, key, englishString, translationString) => {
if (!translationString) {
let errorString = `${language} - ${filename} - ${key} - ${englishString}`;
const errorString = `${lang} - ${filename} - ${key} - ${englishString}`;
missingStrings.push(errorString);
}
});
if (!_.isEmpty(missingStrings)) {
let message = 'The following strings are not translated';
let formattedMessage = formatMessageForPosting(message, missingStrings);
const message = 'The following strings are not translated';
const formattedMessage = formatMessageForPosting(message, missingStrings);
postToSlack(formattedMessage, SLACK_CONFIG);
}
done();
});
gulp.task('transifex:malformedStrings', (done) => {
let jsonFiles = stripOutNonJsonFiles(fs.readdirSync(ENGLISH_LOCALE));
let interpolationRegex = /<%= [a-zA-Z]* %>/g;
let stringsToLookFor = getStringsWith(jsonFiles, interpolationRegex);
gulp.task('transifex:malformedStrings', done => {
const jsonFiles = stripOutNonJsonFiles(fs.readdirSync(ENGLISH_LOCALE));
const interpolationRegex = /<%= [a-zA-Z]* %>/g;
const stringsToLookFor = getStringsWith(jsonFiles, interpolationRegex);
let stringsWithMalformedInterpolations = [];
let stringsWithIncorrectNumberOfInterpolations = [];
const stringsWithMalformedInterpolations = [];
const stringsWithIncorrectNumberOfInterpolations = [];
_.each(ALL_LANGUAGES, (lang) => {
_.each(ALL_LANGUAGES, lang => {
_.each(stringsToLookFor, (strings, filename) => {
let translationFile = fs.readFileSync(`${LOCALES}${lang}/${filename}`);
let parsedTranslationFile = JSON.parse(translationFile);
const translationFile = fs.readFileSync(`${LOCALES}${lang}/${filename}`);
const parsedTranslationFile = JSON.parse(translationFile);
_.each(strings, (value, key) => { // eslint-disable-line max-nested-callbacks
let translationString = parsedTranslationFile[key];
const translationString = parsedTranslationFile[key];
if (!translationString) return;
let englishOccurences = stringsToLookFor[filename][key];
let translationOccurences = translationString.match(interpolationRegex);
const englishOccurences = stringsToLookFor[filename][key];
const translationOccurences = translationString.match(interpolationRegex);
if (!translationOccurences) {
let malformedString = `${lang} - ${filename} - ${key} - ${translationString}`;
const malformedString = `${lang} - ${filename} - ${key} - ${translationString}`;
stringsWithMalformedInterpolations.push(malformedString);
} else if (englishOccurences.length !== translationOccurences.length && !malformedStringExceptions[key]) {
let missingInterpolationString = `${lang} - ${filename} - ${key} - ${translationString}`;
} else if (
englishOccurences.length !== translationOccurences.length
&& !malformedStringExceptions[key]
) {
const missingInterpolationString = `${lang} - ${filename} - ${key} - ${translationString}`;
stringsWithIncorrectNumberOfInterpolations.push(missingInterpolationString);
}
});
@@ -160,14 +161,17 @@ gulp.task('transifex:malformedStrings', (done) => {
});
if (!_.isEmpty(stringsWithMalformedInterpolations)) {
let message = 'The following strings have malformed or missing interpolations';
let formattedMessage = formatMessageForPosting(message, stringsWithMalformedInterpolations);
const message = 'The following strings have malformed or missing interpolations';
const formattedMessage = formatMessageForPosting(message, stringsWithMalformedInterpolations);
postToSlack(formattedMessage, SLACK_CONFIG);
}
if (!_.isEmpty(stringsWithIncorrectNumberOfInterpolations)) {
let message = 'The following strings have a different number of string interpolations';
let formattedMessage = formatMessageForPosting(message, stringsWithIncorrectNumberOfInterpolations);
const message = 'The following strings have a different number of string interpolations';
const formattedMessage = formatMessageForPosting(
message,
stringsWithIncorrectNumberOfInterpolations,
);
postToSlack(formattedMessage, SLACK_CONFIG);
}
done();
@@ -176,5 +180,5 @@ gulp.task('transifex:malformedStrings', (done) => {
gulp.task(
'transifex',
gulp.series('transifex:missingFiles', 'transifex:missingStrings', 'transifex:malformedStrings'),
(done) => done()
);
done => done(),
);

View File

@@ -1,11 +1,11 @@
import { exec } from 'child_process';
import psTree from 'ps-tree';
import nconf from 'nconf';
import net from 'net';
import { post } from 'superagent';
import { sync as glob } from 'glob';
import Mocha from 'mocha';
import { resolve } from 'path';
import { exec } from 'child_process';
import psTree from 'ps-tree';
import nconf from 'nconf';
import net from 'net';
import { post } from 'superagent';
import { sync as glob } from 'glob';
import Mocha from 'mocha'; // eslint-disable-line import/no-extraneous-dependencies
import { resolve } from 'path';
/*
* Get access to configruable values
@@ -19,15 +19,15 @@ export const conf = nconf;
* its tasks.
*/
export function kill (proc) {
let killProcess = (pid) => {
const killProcess = pid => {
psTree(pid, (_, pids) => {
if (pids.length) {
pids.forEach(kill); return;
}
try {
exec(/^win/.test(process.platform) ?
`taskkill /PID ${pid} /T /F` :
`kill -9 ${pid}`);
exec(/^win/.test(process.platform)
? `taskkill /PID ${pid} /T /F`
: `kill -9 ${pid}`);
} catch (e) {
console.log(e); // eslint-disable-line no-console
}
@@ -46,16 +46,15 @@ export function kill (proc) {
export function awaitPort (port, max = 60) {
return new Promise((rej, res) => {
let socket;
let timeout;
let interval;
timeout = setTimeout(() => {
const timeout = setTimeout(() => {
clearInterval(interval);
rej(`Timed out after ${max} seconds`);
}, max * 1000);
interval = setInterval(() => {
socket = net.connect({port}, () => {
socket = net.connect({ port }, () => {
clearInterval(interval);
clearTimeout(timeout);
socket.destroy();
@@ -71,10 +70,10 @@ export function awaitPort (port, max = 60) {
* Pipe the child's stdin and stderr to the parent process.
*/
export function pipe (child) {
child.stdout.on('data', (data) => {
child.stdout.on('data', data => {
process.stdout.write(data);
});
child.stderr.on('data', (data) => {
child.stderr.on('data', data => {
process.stderr.write(data);
});
}
@@ -83,7 +82,7 @@ export function pipe (child) {
* Post request to notify configured slack channel
*/
export function postToSlack (msg, config = {}) {
let slackUrl = nconf.get('SLACK_URL');
const slackUrl = nconf.get('SLACK_URL');
if (!slackUrl) {
console.error('No slack post url specified. Your message was:'); // eslint-disable-line no-console
@@ -99,7 +98,7 @@ export function postToSlack (msg, config = {}) {
text: msg,
icon_emoji: `:${config.emoji || 'gulp'}:`, // eslint-disable-line camelcase
})
.end((err) => {
.end(err => {
if (err) console.error('Unable to post to slack', err); // eslint-disable-line no-console
});
}
@@ -107,15 +106,15 @@ export function postToSlack (msg, config = {}) {
export function runMochaTests (files, server, cb) {
require('../test/helpers/globals.helper'); // eslint-disable-line global-require
let mocha = new Mocha({reporter: 'spec'});
let tests = glob(files);
const mocha = new Mocha({ reporter: 'spec' });
const tests = glob(files);
tests.forEach((test) => {
tests.forEach(test => {
delete require.cache[resolve(test)];
mocha.addFile(test);
});
mocha.run((numberOfFailures) => {
mocha.run(numberOfFailures => {
if (!process.env.RUN_INTEGRATION_TEST_FOREVER) { // eslint-disable-line no-process-env
if (server) kill(server);
process.exit(numberOfFailures);

View File

@@ -6,14 +6,23 @@
* directory, and it will automatically be included.
*/
require('babel-register');
/* eslint-disable import/no-commonjs */
require('@babel/register');
const gulp = require('gulp');
if (process.env.NODE_ENV === 'production') { // eslint-disable-line no-process-env
require('./gulp/gulp-apidoc'); // eslint-disable-line global-require
require('./gulp/gulp-cache'); // eslint-disable-line global-require
require('./gulp/gulp-build'); // eslint-disable-line global-require
} else {
require('glob').sync('./gulp/gulp-*').forEach(require); // eslint-disable-line global-require
require('./gulp/gulp-apidoc'); // eslint-disable-line global-require
require('./gulp/gulp-cache'); // eslint-disable-line global-require
require('./gulp/gulp-build'); // eslint-disable-line global-require
require('./gulp/gulp-console'); // eslint-disable-line global-require
require('./gulp/gulp-sprites'); // eslint-disable-line global-require
require('./gulp/gulp-start'); // eslint-disable-line global-require
require('./gulp/gulp-tests'); // eslint-disable-line global-require
require('./gulp/gulp-transifex-test'); // eslint-disable-line global-require
require('gulp').task('default', gulp.series('test')); // eslint-disable-line global-require
}

View File

@@ -1,7 +0,0 @@
{
"root": false,
"rules": {
"no-console": 0,
"no-use-before-define": ["error", { "functions": false }]
}
}

8
migrations/.eslintrc.js Normal file
View File

@@ -0,0 +1,8 @@
/* eslint-disable import/no-commonjs */
module.exports = {
root: false,
rules: {
'no-console': 0,
'no-use-before-define': ['error', { functions: false }]
}
}

View File

@@ -0,0 +1,82 @@
/* eslint-disable no-console */
const MIGRATION_NAME = '20191022_pet_color_achievements';
import { model as User } from '../../../website/server/models/user';
const progressCount = 1000;
let count = 0;
async function updateUser (user) {
count++;
let set = {
migration: MIGRATION_NAME,
};
if (user && user.items && user.items.pets) {
const pets = user.items.pets;
if (pets['Wolf-Zombie'] > 0
&& pets['TigerCub-Zombie'] > 0
&& pets['PandaCub-Zombie'] > 0
&& pets['LionCub-Zombie'] > 0
&& pets['Fox-Zombie'] > 0
&& pets['FlyingPig-Zombie'] > 0
&& pets['Dragon-Zombie'] > 0
&& pets['Cactus-Zombie'] > 0
&& pets['BearCub-Zombie'] > 0) {
set['achievements.monsterMagus'] = true;
}
}
if (user && user.items && user.items.mounts) {
const mounts = user.items.mounts;
if (mounts['Wolf-Zombie']
&& mounts['TigerCub-Zombie']
&& mounts['PandaCub-Zombie']
&& mounts['LionCub-Zombie']
&& mounts['Fox-Zombie']
&& mounts['FlyingPig-Zombie']
&& mounts['Dragon-Zombie']
&& mounts['Cactus-Zombie']
&& mounts['BearCub-Zombie'] ) {
set['achievements.undeadUndertaker'] = true;
}
}
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
return await User.update({ _id: user._id }, { $set: set }).exec();
}
module.exports = async function processUsers () {
let query = {
migration: { $ne: MIGRATION_NAME },
'auth.timestamps.loggedin': { $gt: new Date('2019-10-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]._id,
};
}
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
}
};

View File

@@ -0,0 +1,82 @@
/*
* Award Habitoween ladder items to participants in this month's Habitoween festivities
*/
/* eslint-disable no-console */
const MIGRATION_NAME = '20191031_habitoween_ladder'; // Update when running in future years
import { model as User } from '../../../website/server/models/user';
const progressCount = 1000;
let count = 0;
async function updateUser (user) {
count++;
const set = {};
const inc = {
'items.food.Candy_Skeleton': 1,
'items.food.Candy_Base': 1,
'items.food.Candy_CottonCandyBlue': 1,
'items.food.Candy_CottonCandyPink': 1,
'items.food.Candy_Shade': 1,
'items.food.Candy_White': 1,
'items.food.Candy_Golden': 1,
'items.food.Candy_Zombie': 1,
'items.food.Candy_Desert': 1,
'items.food.Candy_Red': 1,
};
set.migration = MIGRATION_NAME;
if (user && user.items && user.items.pets && user.items.pets['JackOLantern-Glow']) {
set['items.mounts.JackOLantern-Glow'] = true;
} else if (user && user.items && user.items.mounts && user.items.mounts['JackOLantern-Ghost']) {
set['items.pets.JackOLantern-Glow'] = 5;
} else if (user && user.items && user.items.pets && user.items.pets['JackOLantern-Ghost']) {
set['items.mounts.JackOLantern-Ghost'] = true;
} else if (user && user.items && user.items.mounts && user.items.mounts['JackOLantern-Base']) {
set['items.pets.JackOLantern-Ghost'] = 5;
} else if (user && user.items && user.items.pets && user.items.pets['JackOLantern-Base']) {
set['items.mounts.JackOLantern-Base'] = true;
} else {
set['items.pets.JackOLantern-Base'] = 5;
}
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
return await User.update({_id: user._id}, {$inc: inc, $set: set}).exec();
}
module.exports = async function processUsers () {
let query = {
migration: {$ne: MIGRATION_NAME},
'auth.timestamps.loggedin': {$gt: new Date('2019-10-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
}
};

View File

@@ -0,0 +1,109 @@
/*
* Award Onboarding Achievements for existing users
*/
/* eslint-disable no-console */
import { model as User } from '../../website/server/models/user';
const MIGRATION_NAME = '20191218_onboarding_achievements';
const progressCount = 1000;
let count = 0;
async function updateUser (user) {
count += 1;
const set = {};
set.migration = MIGRATION_NAME;
const hasPet = Object.keys(user.items.pets).find(petKey => {
const pet = user.items.pets[petKey];
if (pet >= 5) return true;
return false;
});
if (hasPet) {
set['achievements.hatchedPet'] = true;
}
const hasFedPet = Object.keys(user.items.pets).find(petKey => {
const pet = user.items.pets[petKey];
if (pet > 5) return true;
return false;
});
if (hasFedPet) {
set['achievements.fedPet'] = true;
}
const hasGear = Object.keys(user.items.gear.owned).find(gearKey => {
const gear = user.items.gear.owned[gearKey];
if (gear === true && gearKey.indexOf('_special_') === -1) return true;
return false;
});
if (hasGear) {
set['achievements.purchasedEquipment'] = true;
}
if (user.tasksOrder) {
const hasTask = Object.keys(user.tasksOrder).find(tasksOrderType => {
const order = user.tasksOrder[tasksOrderType];
if (order && order.length > 0) return true;
return false;
});
if (hasTask) {
set['achievements.createdTask'] = true;
}
const hasExperience = user.stats && user.stats.exp && user.stats.exp > 0;
if (hasTask && hasExperience) {
set['achievements.completedTask'] = true;
}
}
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
return User.update({ _id: user._id }, { $set: set }).exec();
}
module.exports = async function processUsers () { // eslint-disable-line import/no-commonjs
const query = {
migration: { $ne: MIGRATION_NAME },
};
const fields = {
_id: 1,
stats: 1,
items: 1,
achievements: 1,
tasksOrder: 1,
};
while (true) { // eslint-disable-line no-constant-condition
const users = await User // eslint-disable-line no-await-in-loop
.find(query)
.limit(100)
.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
}
};

View File

@@ -0,0 +1,126 @@
/* eslint-disable no-console */
const MIGRATION_NAME = '20191127_harvest_feast';
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 set = {};
let inc;
let push;
set.migration = MIGRATION_NAME;
if (typeof user.items.gear.owned.head_special_turkeyHelmGilded !== 'undefined') {
inc = {
'items.food.Pie_Base': 1,
'items.food.Pie_CottonCandyBlue': 1,
'items.food.Pie_CottonCandyPink': 1,
'items.food.Pie_Desert': 1,
'items.food.Pie_Golden': 1,
'items.food.Pie_Red': 1,
'items.food.Pie_Shade': 1,
'items.food.Pie_Skeleton': 1,
'items.food.Pie_Zombie': 1,
'items.food.Pie_White': 1,
}
} else if (typeof user.items.gear.owned.armor_special_turkeyArmorBase !== 'undefined') {
set['items.gear.owned.head_special_turkeyHelmGilded'] = false;
set['items.gear.owned.armor_special_turkeyArmorGilded'] = false;
set['items.gear.owned.back_special_turkeyTailGilded'] = false;
push = [
{
type: 'marketGear',
path: 'gear.flat.head_special_turkeyHelmGilded',
_id: uuid(),
},
{
type: 'marketGear',
path: 'gear.flat.armor_special_turkeyArmorGilded',
_id: uuid(),
},
{
type: 'marketGear',
path: 'gear.flat.back_special_turkeyTailGilded',
_id: uuid(),
},
];
} else if (user.items && user.items.mounts && user.items.mounts['Turkey-Gilded']) {
set['items.gear.owned.head_special_turkeyHelmBase'] = false;
set['items.gear.owned.armor_special_turkeyArmorBase'] = false;
set['items.gear.owned.back_special_turkeyTailBase'] = false;
push = [
{
type: 'marketGear',
path: 'gear.flat.head_special_turkeyHelmBase',
_id: uuid(),
},
{
type: 'marketGear',
path: 'gear.flat.armor_special_turkeyArmorBase',
_id: uuid(),
},
{
type: 'marketGear',
path: 'gear.flat.back_special_turkeyTailBase',
_id: uuid(),
},
];
} else if (user.items && user.items.pets && user.items.pets['Turkey-Gilded']) {
set['items.mounts.Turkey-Gilded'] = true;
} else if (user.items && user.items.mounts && user.items.mounts['Turkey-Base']) {
set['items.pets.Turkey-Gilded'] = 5;
} else if (user.items && user.items.pets && user.items.pets['Turkey-Base']) {
set['items.mounts.Turkey-Base'] = true;
} else {
set['items.pets.Turkey-Base'] = 5;
}
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
if (inc) {
return await User.update({_id: user._id}, {$inc: inc, $set: set}).exec();
} else if (push) {
return await User.update({_id: user._id}, {$set: set, $push: {pinnedItems: {$each: push}}}).exec();
} else {
return await User.update({_id: user._id}, {$set: set}).exec();
}
}
module.exports = async function processUsers () {
let query = {
migration: {$ne: MIGRATION_NAME},
'auth.timestamps.loggedin': {$gt: new Date('2019-11-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
}
};

View File

@@ -0,0 +1,82 @@
/* eslint-disable no-console */
const MIGRATION_NAME = '20191210_pet_color_achievements';
import { model as User } from '../../../website/server/models/user';
const progressCount = 1000;
let count = 0;
async function updateUser (user) {
count++;
let set = {
migration: MIGRATION_NAME,
};
if (user && user.items && user.items.pets) {
const pets = user.items.pets;
if (pets['Wolf-White'] > 0
&& pets['TigerCub-White'] > 0
&& pets['PandaCub-White'] > 0
&& pets['LionCub-White'] > 0
&& pets['Fox-White'] > 0
&& pets['FlyingPig-White'] > 0
&& pets['Dragon-White'] > 0
&& pets['Cactus-White'] > 0
&& pets['BearCub-White'] > 0) {
set['achievements.primedForPainting'] = true;
}
}
if (user && user.items && user.items.mounts) {
const mounts = user.items.mounts;
if (mounts['Wolf-White']
&& mounts['TigerCub-White']
&& mounts['PandaCub-White']
&& mounts['LionCub-White']
&& mounts['Fox-White']
&& mounts['FlyingPig-White']
&& mounts['Dragon-White']
&& mounts['Cactus-White']
&& mounts['BearCub-White'] ) {
set['achievements.pearlyPro'] = true;
}
}
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
return await User.update({ _id: user._id }, { $set: set }).exec();
}
module.exports = async function processUsers () {
let query = {
migration: { $ne: MIGRATION_NAME },
'auth.timestamps.loggedin': { $gt: new Date('2019-12-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]._id,
};
}
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
}
};

View File

@@ -0,0 +1,118 @@
/* eslint-disable no-console */
const MIGRATION_NAME = '20191231_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 = {'flags.newStuff': true};
let push;
set.migration = MIGRATION_NAME;
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 = {
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
}
};

View File

@@ -0,0 +1,91 @@
/* eslint-disable no-console */
const MIGRATION_NAME = '20200131_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_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();
}
module.exports = async function processUsers () {
let query = {
migration: {$ne: MIGRATION_NAME},
'auth.timestamps.loggedin': {$gt: new Date('2019-01-15')},
};
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
}
};

View File

@@ -0,0 +1,82 @@
/* eslint-disable no-console */
const MIGRATION_NAME = '20200218_pet_color_achievements';
import { model as User } from '../../../website/server/models/user';
const progressCount = 1000;
let count = 0;
async function updateUser (user) {
count++;
const set = {
migration: MIGRATION_NAME,
};
if (user && user.items && user.items.pets) {
const pets = user.items.pets;
if (pets['Wolf-CottonCandyPink'] > 0
&& pets['TigerCub-CottonCandyPink'] > 0
&& pets['PandaCub-CottonCandyPink'] > 0
&& pets['LionCub-CottonCandyPink'] > 0
&& pets['Fox-CottonCandyPink'] > 0
&& pets['FlyingPig-CottonCandyPink'] > 0
&& pets['Dragon-CottonCandyPink'] > 0
&& pets['Cactus-CottonCandyPink'] > 0
&& pets['BearCub-CottonCandyPink'] > 0) {
set['achievements.tickledPink'] = true;
}
}
if (user && user.items && user.items.mounts) {
const mounts = user.items.mounts;
if (mounts['Wolf-CottonCandyPink']
&& mounts['TigerCub-CottonCandyPink']
&& mounts['PandaCub-CottonCandyPink']
&& mounts['LionCub-CottonCandyPink']
&& mounts['Fox-CottonCandyPink']
&& mounts['FlyingPig-CottonCandyPink']
&& mounts['Dragon-CottonCandyPink']
&& mounts['Cactus-CottonCandyPink']
&& mounts['BearCub-CottonCandyPink'] ) {
set['achievements.rosyOutlook'] = true;
}
}
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
return await User.update({ _id: user._id }, { $set: set }).exec();
}
module.exports = async function processUsers () {
let query = {
migration: { $ne: MIGRATION_NAME },
'auth.timestamps.loggedin': { $gt: new Date('2020-02-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]._id,
};
}
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
}
};

View File

@@ -0,0 +1,69 @@
/* eslint-disable no-console */
const MIGRATION_NAME = '20200402_webhooks_add_protocol';
import { model as User } from '../../../website/server/models/user';
const progressCount = 1000;
let count = 0;
async function updateUser (user) {
count++;
const set = {
migration: MIGRATION_NAME,
};
if (user && user.webhooks && user.webhooks.length > 0) {
user.webhooks.forEach(webhook => {
// Make sure the protocol is set and valid
if (webhook.url.startsWith('ftp')) {
webhook.url = webhook.url.replace('ftp', 'https');
}
if (!webhook.url.startsWith('http://') && !webhook.url.startsWith('https://')) {
// the default in got 9 was https
// see https://github.com/sindresorhus/got/commit/92bc8082137d7d085750359bbd76c801e213d7d2#diff-0730bb7c2e8f9ea2438b52e419dd86c9L111
webhook.url = `https://${webhook.url}`;
}
});
set.webhooks = user.webhooks;
}
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
return await User.update({ _id: user._id }, { $set: set }).exec();
}
module.exports = async function processUsers () {
let query = {
migration: { $ne: MIGRATION_NAME },
webhooks: { $exists: true, $not: { $size: 0 } },
};
const fields = {
_id: 1,
webhooks: 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]._id,
};
}
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
}
};

View File

@@ -0,0 +1,63 @@
/* eslint-disable no-console */
const MIGRATION_NAME = '20200402_webhooks_reenable';
import { model as User } from '../../../website/server/models/user';
const progressCount = 1000;
let count = 0;
async function updateUser (user) {
count++;
const set = {
migration: MIGRATION_NAME,
};
if (user && user.webhooks && user.webhooks.length > 0) {
user.webhooks.forEach(webhook => {
// Re-enable webhooks disabled because of too many failures
if (webhook.enabled === false && webhook.lastFailureAt === null) {
webhook.enabled = true;
}
});
set.webhooks = user.webhooks;
}
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
return await User.update({ _id: user._id }, { $set: set }).exec();
}
module.exports = async function processUsers () {
let query = {
migration: { $ne: MIGRATION_NAME },
webhooks: { $exists: true, $not: { $size: 0 } },
};
const fields = {
_id: 1,
webhooks: 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]._id,
};
}
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
}
};

View File

@@ -1,110 +0,0 @@
import monk from 'monk';
import nconf from 'nconf';
const migrationName = 'mystery-items-201808.js'; // Update per month
const authorName = 'Sabe'; // in case script author needs to know when their ...
const authorUuid = '7f14ed62-5408-4e1b-be83-ada62d504931'; // ... own data is done
/*
* Award this month's mystery items to subscribers
*/
const MYSTERY_ITEMS = ['armor_mystery_201810', 'head_mystery_201810'];
const CONNECTION_STRING = nconf.get('MIGRATION_CONNECT_STRING');
let dbUsers = monk(CONNECTION_STRING).get('users', { castIds: false });
let UserNotification = require('../../website/server/models/userNotification').model;
function processUsers (lastId) {
// specify a query to limit the affected users (empty for all users):
let query = {
migration: {$ne: migrationName},
'purchased.plan.customerId': { $ne: null },
$or: [
{ 'purchased.plan.dateTerminated': { $gte: new Date() } },
{ 'purchased.plan.dateTerminated': { $exists: false } },
{ 'purchased.plan.dateTerminated': { $eq: null } },
],
};
if (lastId) {
query._id = {
$gt: lastId,
};
}
dbUsers.find(query, {
sort: {_id: 1},
limit: 250,
fields: [
], // specify fields we are interested in to limit retrieved data (empty if we're not reading data):
})
.then(updateUsers)
.catch((err) => {
console.log(err);
return exiting(1, `ERROR! ${ err}`);
});
}
let progressCount = 1000;
let count = 0;
function updateUsers (users) {
if (!users || users.length === 0) {
console.warn('All appropriate users found and modified.');
displayData();
return;
}
let userPromises = users.map(updateUser);
let lastUser = users[users.length - 1];
return Promise.all(userPromises)
.then(() => {
processUsers(lastUser._id);
});
}
function updateUser (user) {
count++;
const addToSet = {
'purchased.plan.mysteryItems': {
$each: MYSTERY_ITEMS,
},
};
const push = {
notifications: (new UserNotification({
type: 'NEW_MYSTERY_ITEMS',
data: {
MYSTERY_ITEMS,
},
})).toJSON(),
};
dbUsers.update({_id: user._id}, {$addToSet: addToSet, $push: push});
if (count % progressCount === 0) console.warn(`${count } ${ user._id}`);
if (user._id === authorUuid) console.warn(`${authorName } processed`);
}
function displayData () {
console.warn(`\n${ count } users processed\n`);
return exiting(0);
}
function exiting (code, msg) {
code = code || 0; // 0 = success
if (code && !msg) {
msg = 'ERROR!';
}
if (msg) {
if (code) {
console.error(msg);
} else {
console.log(msg);
}
}
process.exit(code);
}
module.exports = processUsers;

View File

@@ -0,0 +1,93 @@
/* eslint-disable import/no-commonjs */
const request = require('superagent');
const last = require('lodash/last');
const AWS = require('aws-sdk');
const config = require('../config');
const S3_DIRECTORY = 'mobileApp/images'; // config.S3.SPRITES_DIRECTORY;
AWS.config.update({
accessKeyId: config.S3.accessKeyId,
secretAccessKey: config.S3.secretAccessKey,
// region: config.get('S3_REGION'),
});
const BUCKET_NAME = config.S3.bucket;
const s3 = new AWS.S3();
// Adapted from http://stackoverflow.com/a/22210077/2601552
function uploadFile (buffer, fileName) {
return new Promise((resolve, reject) => {
s3.putObject({
Body: buffer,
Key: fileName,
Bucket: BUCKET_NAME,
}, error => {
if (error) {
reject(error);
} else {
// console.info(`${fileName} uploaded to ${BUCKET_NAME} successfully.`);
resolve(fileName);
}
});
});
}
function getFileName (file) {
const piecesOfPath = file.split('/');
const name = last(piecesOfPath);
const fullName = S3_DIRECTORY + name;
return fullName;
}
function getFileFromUrl (url) {
return new Promise((resolve, reject) => {
request.get(url).end((err, res) => {
if (err) return reject(err);
const file = res.body;
return resolve(file);
});
});
}
let commit = '78f94e365c72cc58f66857d5941105638db7d35c';
commit = 'df0dbaba636c9ce424cc7040f7bd7fc1aa311015';
const gihuburl = `https://api.github.com/repos/HabitRPG/habitica/commits/${commit}`;
let currentIndex = 0;
function uploadToS3 (start, end, filesUrls) {
const urls = filesUrls.slice(start, end);
if (urls.length === 0) {
console.log('done');
return;
}
const promises = urls.map(fullUrl => getFileFromUrl(fullUrl)
.then(buffer => uploadFile(buffer, getFileName(fullUrl))));
console.log(promises.length);
Promise.all(promises)
.then(() => {
currentIndex += 50;
uploadToS3(currentIndex, currentIndex + 50, filesUrls);
})
.catch(e => {
console.log(e);
});
}
request.get(gihuburl)
.end((err, res) => {
console.log(err);
const { files } = res.body;
let filesUrls = [''];
filesUrls = files.map(file => file.raw_url);
uploadToS3(currentIndex, currentIndex + 50, filesUrls);
});

View File

@@ -2,15 +2,15 @@ import { model as Challenges } from '../../website/server/models/challenge';
import { model as User } from '../../website/server/models/user';
async function syncChallengeToMembers (challenges) {
let challengSyncPromises = challenges.map(async (challenge) => {
let users = await User.find({
const challengSyncPromises = challenges.map(async challenge => {
const users = await User.find({
// _id: '',
challenges: challenge._id,
}).exec();
let promises = [];
users.forEach((user) => {
promises.push(challenge.syncToUser(user));
const promises = [];
users.forEach(user => {
promises.push(challenge.syncTasksToUser(user));
promises.push(challenge.save());
promises.push(user.save());
});
@@ -18,11 +18,11 @@ async function syncChallengeToMembers (challenges) {
return Promise.all(promises);
});
return await Promise.all(challengSyncPromises);
return Promise.all(challengSyncPromises);
}
async function syncChallenges (lastChallengeDate) {
let query = {
const query = {
// _id: '',
};
@@ -30,16 +30,16 @@ async function syncChallenges (lastChallengeDate) {
query.createdOn = { $lte: lastChallengeDate };
}
let challengesFound = await Challenges.find(query)
const challengesFound = await Challenges.find(query)
.limit(10)
.sort('-createdAt')
.exec();
let syncedChallenges = await syncChallengeToMembers(challengesFound)
const syncedChallenges = await syncChallengeToMembers(challengesFound)
.catch(reason => console.error(reason));
let lastChallenge = challengesFound[challengesFound.length - 1];
const lastChallenge = challengesFound[challengesFound.length - 1];
if (lastChallenge) syncChallenges(lastChallenge.createdAt);
return syncedChallenges;
}
module.exports = syncChallenges;
export default syncChallenges;

View File

@@ -1 +1 @@
db.users.update({_id: {$in: ['']}}, {$inc: {balance: 0.5}}, {multi: true});
db.users.update({ _id: { $in: [''] } }, { $inc: { balance: 0.5 } }, { multi: true });

View File

@@ -1,11 +1,14 @@
// mongo habitrpg ./node_modules/moment/moment.js ./migrations/cancelSubscription.js
// For some reason people often to contact me to cancel their sub, rather than do it online. Even when I point them to
// For some reason people often to contact me to cancel their sub,
// rather than do it online. Even when I point them to
// the FAQ (http://goo.gl/1uoPGQ) they insist...
db.users.update(
{_id: ''},
{$set: {
'purchased.plan.dateTerminated': moment().add('month', 1).toDate(),
}}
);
{ _id: '' },
{
$set: {
'purchased.plan.dateTerminated': moment().add('month', 1).toDate(),
},
},
);

View File

@@ -1,8 +1,7 @@
// Give contrib.level 7+ free subscription for life
db.users.update(
{
'contributor.level': {$gte: 7},
'contributor.level': { $gte: 7 },
'purchased.plan.customerId': null,
},
@@ -18,6 +17,6 @@ db.users.update(
},
},
{multi: true}
{ multi: true },
);
);

View File

@@ -1,5 +1,5 @@
// mongo habitrpg ./node_modules/moment/moment.js ./migrations/current_period_end.js
db.users.update(
{_id: ''},
{$set: {'purchased.plan.dateTerminated': moment().add({days: 7}).toDate()}}
);
{ _id: '' },
{ $set: { 'purchased.plan.dateTerminated': moment().add({ days: 7 }).toDate() } },
);

View File

@@ -39,38 +39,52 @@
// needed. Do not miss any of them!
let uuid = '30fb2640-7121-4968-ace5-f385e60ea6c5';
const uuid = '30fb2640-7121-4968-ace5-f385e60ea6c5';
db.users.aggregate([
{$match: {
_id: uuid,
}},
{$project: {
_id: 0, todos: 1,
}},
{$unwind: '$todos'},
{$group: {
_id: { taskid: '$todos.id' },
count: { $sum: 1 },
}},
{$match: {
count: { $gt: 1 },
}},
{$project: {
'_id.taskid': 1,
}},
{$group: {
_id: { taskid: '$todos.id' },
troublesomeIds: { $addToSet: '$_id.taskid' },
}},
{$project: {
_id: 0,
troublesomeIds: 1,
}},
]).forEach((data) => {
{
$match: {
_id: uuid,
},
},
{
$project: {
_id: 0, todos: 1,
},
},
{ $unwind: '$todos' },
{
$group: {
_id: { taskid: '$todos.id' },
count: { $sum: 1 },
},
},
{
$match: {
count: { $gt: 1 },
},
},
{
$project: {
'_id.taskid': 1,
},
},
{
$group: {
_id: { taskid: '$todos.id' },
troublesomeIds: { $addToSet: '$_id.taskid' },
},
},
{
$project: {
_id: 0,
troublesomeIds: 1,
},
},
]).forEach(data => {
// print( "\n" ); printjson(data);
data.troublesomeIds.forEach((taskid) => {
print(`non-unique task: ${ taskid}`);
data.troublesomeIds.forEach(taskid => {
print(`non-unique task: ${taskid}`); // eslint-disable-line no-restricted-globals
db.users.update({
_id: uuid,
todos: { $elemMatch: { id: taskid } },
@@ -81,8 +95,7 @@ db.users.aggregate([
});
db.users.update(
{_id: uuid},
{$pull: { todos: { id: 'de666' } } },
{multi: false }
{ _id: uuid },
{ $pull: { todos: { id: 'de666' } } },
{ multi: false },
);

View File

@@ -1,10 +1,10 @@
let oldId = '';
let newId = '';
let newUser = db.users.findOne({_id: newId});
const oldId = '';
const newId = '';
const newUser = db.users.findOne({ _id: newId });
db.users.update({_id: oldId}, {$set: {auth: newUser.auth}});
db.users.update({ _id: oldId }, { $set: { auth: newUser.auth } });
// remove the auth on the new user (which is a template account). The account will be preened automatically later,
// remove the auth on the new user (which is a template account).
// The account will be preened automatically later,
// this allows us to keep the account around a few days in case there was a mistake
db.users.update({_id: newId}, {$unset: {auth: 1}});
db.users.update({ _id: newId }, { $unset: { auth: 1 } });

View File

@@ -5,8 +5,8 @@
* Past in the text of a unique habit here to find the user, then you can restore their UUID
*/
db.users.find().forEach((user) => {
db.users.find().forEach(user => {
user.tasks = user.habits.concat(user.dailys).concat(user.todos).concat(user.rewards);
let found = _.some(user.tasks, {text: ''});
if (found) printjson({id: user._id, auth: user.auth});
});
const found = _.some(user.tasks, { text: '' });
if (found) printjson({ id: user._id, auth: user.auth });
});

View File

@@ -1,32 +1,34 @@
// mongo habitrpg ./node_modules/moment/moment.js ./migrations/freeMonth.js
db.users.update(
{_id: ''},
{$set: {
'purchased.plan.customerId': 'temporary',
'purchased.plan.paymentMethod': 'Stripe',
'purchased.plan.planId': 'basic_earned',
'purchased.plan.dateTerminated': moment().add('month', 1).toDate(),
}}
{ _id: '' },
{
$set: {
'purchased.plan.customerId': 'temporary',
'purchased.plan.paymentMethod': 'Stripe',
'purchased.plan.planId': 'basic_earned',
'purchased.plan.dateTerminated': moment().add('month', 1).toDate(),
},
},
);
// var m = 12;
// db.users.update(
// {_id:''},
// {$set:{'purchased.plan':{
// planId: 'basic_'+m+'mo',
// paymentMethod: 'Paypal',
// customerId: 'Gift',
// dateCreated: new Date(),
// dateTerminated: moment().add('month',m).toDate(),
// dateUpdated: new Date(),
// extraMonths: 0,
// gemsBought: 0,
// mysteryItems: [],
// consecutive: {
// count: 0,
// offset: m,
// gemCapExtra: m/3*5,
// trinkets: m/3
// }
// planId: 'basic_'+m+'mo',
// paymentMethod: 'Paypal',
// customerId: 'Gift',
// dateCreated: new Date(),
// dateTerminated: moment().add('month',m).toDate(),
// dateUpdated: new Date(),
// extraMonths: 0,
// gemsBought: 0,
// mysteryItems: [],
// consecutive: {
// count: 0,
// offset: m,
// gemCapExtra: m/3*5,
// trinkets: m/3
// }
// }}}
// )
// )

View File

@@ -1,5 +1,5 @@
db.users.update(
{},
{$inc: {'achievements.habiticaDays': 1}},
{multi: 1}
{ $inc: { 'achievements.habiticaDays': 1 } },
{ multi: 1 },
);

View File

@@ -1 +1 @@
db.users.update({_id: ''}, {$inc: {balance: 5}});
db.users.update({ _id: '' }, { $inc: { balance: 5 } });

View File

@@ -13,7 +13,7 @@ import { model as Group } from '../../website/server/models/group';
// @TODO: this should probably be a GroupManager library method
async function addUnlimitedSubscription (groupId, dateTerminated) {
let group = await Group.findOne({_id: groupId});
const group = await Group.findOne({ _id: groupId });
group.purchased.plan.customerId = 'group-unlimited';
group.purchased.plan.dateCreated = new Date();
@@ -22,7 +22,7 @@ async function addUnlimitedSubscription (groupId, dateTerminated) {
group.purchased.plan.planId = 'group_monthly';
group.purchased.plan.dateTerminated = null;
if (dateTerminated) {
let dateToEnd = moment(dateTerminated).toDate();
const dateToEnd = moment(dateTerminated).toDate();
group.purchased.plan.dateTerminated = dateToEnd;
}
// group.purchased.plan.owner = ObjectId();
@@ -31,12 +31,12 @@ async function addUnlimitedSubscription (groupId, dateTerminated) {
return group.save();
}
module.exports = async function addUnlimitedSubscriptionCreator () {
let groupId = process.argv[2];
export default async function addUnlimitedSubscriptionCreator () {
const groupId = process.argv[2];
if (!groupId) throw Error('Group ID is required');
let dateTerminated = process.argv[3];
const dateTerminated = process.argv[3];
await addUnlimitedSubscription(groupId, dateTerminated);
};
}

View File

@@ -3,9 +3,9 @@ import { model as User } from '../../website/server/models/user';
// @TODO: this should probably be a GroupManager library method
async function createGroup (name, privacy, type, leaderId) {
let user = await User.findOne({_id: leaderId});
const user = await User.findOne({ _id: leaderId });
let group = new Group({
const group = new Group({
name,
privacy,
type,
@@ -17,13 +17,11 @@ async function createGroup (name, privacy, type, leaderId) {
return Promise.all([group.save(), user.save()]);
}
module.exports = async function groupCreator () {
let name = process.argv[2];
let privacy = process.argv[3];
let type = process.argv[4];
let leaderId = process.argv[5];
export default async function groupCreator () {
const name = process.argv[2];
const privacy = process.argv[3];
const type = process.argv[4];
const leaderId = process.argv[5];
await createGroup(name, privacy, type, leaderId);
};
}

View File

@@ -1,44 +1,43 @@
/* let migrationName = 'Jackalopes for Unlimited Subscribers'; */
/*
* This migration will find users with unlimited subscriptions who are also eligible for Jackalope mounts, and award them
* This migration will find users with unlimited subscriptions who are also eligible
* for Jackalope mounts, and award them
*/
import { model as Group } from '../../website/server/models/group';
import { model as User } from '../../website/server/models/user';
async function handOutJackalopes () {
let promises = [];
let cursor = User.find({
const promises = [];
const cursor = User.find({
'purchased.plan.customerId': 'habitrpg',
}).cursor();
cursor.on('data', async (user) => {
console.log(`User: ${ user._id}`);
cursor.on('data', async user => {
console.log(`User: ${user._id}`);
let groupList = [];
if (user.party._id) groupList.push(user.party._id);
groupList = groupList.concat(user.guilds);
let subscribedGroup =
await Group.findOne({
_id: {$in: groupList},
'purchased.plan.planId': 'group_monthly',
'purchased.plan.dateTerminated': null,
},
{_id: 1}
);
const subscribedGroup = await Group.findOne({
_id: { $in: groupList },
'purchased.plan.planId': 'group_monthly',
'purchased.plan.dateTerminated': null,
},
{ _id: 1 });
if (subscribedGroup) {
User.update({_id: user._id}, {$set: {'items.mounts.Jackalope-RoyalPurple': true}}).exec();
User.update({ _id: user._id }, { $set: { 'items.mounts.Jackalope-RoyalPurple': true } }).exec();
promises.push(user.save());
}
});
cursor.on('close', async () => {
console.log('done');
return await Promise.all(promises);
return Promise.all(promises);
});
}
module.exports = handOutJackalopes;
export default handOutJackalopes;

View File

@@ -8,7 +8,7 @@
*/
import { model as Group } from '../../website/server/models/group';
import { model as Chat } from '../../website/server/models/chat';
import { chatModel as Chat } from '../../website/server/models/message';
async function moveGroupChatToModel (skip = 0) {
const groups = await Group.find({})
@@ -40,7 +40,7 @@ async function moveGroupChatToModel (skip = 0) {
const reducedPromises = promises.reduce((acc, curr) => {
acc = acc.concat(curr);
acc = acc.concat(curr); // eslint-disable-line no-param-reassign
return acc;
}, []);
@@ -49,4 +49,4 @@ async function moveGroupChatToModel (skip = 0) {
moveGroupChatToModel(skip + 50);
}
module.exports = moveGroupChatToModel;
export default moveGroupChatToModel;

View File

@@ -1,4 +1,4 @@
import monk from 'monk';
import monk from 'monk'; // eslint-disable-line import/no-extraneous-dependencies
import nconf from 'nconf';
import stripePayments from '../../website/server/libs/payments/stripe';
@@ -12,8 +12,8 @@ import stripePayments from '../../website/server/libs/payments/stripe';
const CONNECTION_STRING = nconf.get('MIGRATION_CONNECT_STRING');
let dbGroups = monk(CONNECTION_STRING).get('groups', { castIds: false });
let dbUsers = monk(CONNECTION_STRING).get('users', { castIds: false });
const dbGroups = monk(CONNECTION_STRING).get('groups', { castIds: false });
const dbUsers = monk(CONNECTION_STRING).get('users', { castIds: false });
async function fixGroupPlanMembers () {
console.info('Group ID, Customer ID, Plan ID, Quantity, Recorded Member Count, Actual Member Count');
@@ -24,15 +24,15 @@ async function fixGroupPlanMembers () {
{
$and:
[
{'purchased.plan.planId': {$ne: null}},
{'purchased.plan.planId': {$ne: ''}},
{'purchased.plan.customerId': {$ne: 'cus_9f0DV4g7WHRzpM'}}, // Demo groups
{'purchased.plan.customerId': {$ne: 'cus_9maalqDOFTrvqx'}},
{ 'purchased.plan.planId': { $ne: null } },
{ 'purchased.plan.planId': { $ne: '' } },
{ 'purchased.plan.customerId': { $ne: 'cus_9f0DV4g7WHRzpM' } }, // Demo groups
{ 'purchased.plan.customerId': { $ne: 'cus_9maalqDOFTrvqx' } },
],
$or:
[
{'purchased.plan.dateTerminated': null},
{'purchased.plan.dateTerminated': ''},
{ 'purchased.plan.dateTerminated': null },
{ 'purchased.plan.dateTerminated': '' },
],
},
{
@@ -40,19 +40,19 @@ async function fixGroupPlanMembers () {
memberCount: 1,
'purchased.plan': 1,
},
}
).each(async (group, {close, pause, resume}) => { // eslint-disable-line no-unused-vars
},
).each(async (group, { close, pause, resume }) => { // eslint-disable-line no-unused-vars
pause();
groupPlanCount++;
groupPlanCount += 1;
const canonicalMemberCount = await dbUsers.count(
{
$or:
[
{'party._id': group._id},
{guilds: group._id},
{ 'party._id': group._id },
{ guilds: group._id },
],
}
},
);
const incorrectMemberCount = group.memberCount !== canonicalMemberCount;
@@ -73,24 +73,24 @@ async function fixGroupPlanMembers () {
$set: {
memberCount: canonicalMemberCount,
},
}
},
);
if (!groupUpdate) return;
fixedGroupCount++;
fixedGroupCount += 1;
if (group.purchased.plan.paymentMethod === 'Stripe') {
await stripePayments.chargeForAdditionalGroupMember(group);
await dbGroups.update(
{_id: group._id},
{$set: {'purchased.plan.quantity': canonicalMemberCount + 2}}
{ _id: group._id },
{ $set: { 'purchased.plan.quantity': canonicalMemberCount + 2 } },
);
}
if (incorrectQuantity) {
await dbGroups.update(
{_id: group._id},
{$set: {'purchased.plan.quantity': canonicalMemberCount + 2}}
{ _id: group._id },
{ $set: { 'purchased.plan.quantity': canonicalMemberCount + 2 } },
);
}
@@ -98,10 +98,10 @@ async function fixGroupPlanMembers () {
}).then(() => {
console.info(`Fixed ${fixedGroupCount} out of ${groupPlanCount} active Group Plans`);
return process.exit(0);
}).catch((err) => {
}).catch(err => {
console.log(err);
return process.exit(1);
});
}
module.exports = fixGroupPlanMembers;
export default fixGroupPlanMembers;

View File

@@ -5,29 +5,27 @@ let authorUuid = ''; // ... own data is done
*/
/*
* This migrations will iterate through all groups with a group plan a subscription and resync the free
* subscription to all members
* This migrations will iterate through all groups with a group plan
* a subscription and resync the free subscription to all members
*/
import { model as Group } from '../../website/server/models/group';
import * as payments from '../../website/server/libs/payments';
import payments from '../../website/server/libs/payments/payments';
async function updateGroupsWithGroupPlans () {
let cursor = Group.find({
const cursor = Group.find({
'purchased.plan.planId': 'group_monthly',
'purchased.plan.dateTerminated': null,
}).cursor();
let promises = [];
const promises = [];
cursor.on('data', (group) => {
cursor.on('data', group => {
promises.push(payments.addSubscriptionToGroupUsers(group));
promises.push(group.save());
});
cursor.on('close', async () => {
return await Promise.all(promises);
});
cursor.on('close', async () => Promise.all(promises));
}
module.exports = updateGroupsWithGroupPlans;
export default updateGroupsWithGroupPlans;

View File

@@ -1,4 +1,5 @@
require('babel-register');
/* eslint-disable import/no-commonjs */
require('@babel/register'); // eslint-disable-line import/no-extraneous-dependencies
// This file must use ES5, everything required can be in ES6
@@ -17,12 +18,13 @@ function setUpServer () {
setUpServer();
// Replace this with your migration
const processUsers = require('');
const processUsers = require().default;
processUsers()
.then(function success () {
.then(() => {
process.exit(0);
})
.catch(function failure (err) {
.catch(err => {
console.log(err);
process.exit(1);
});

View File

@@ -1,19 +1,21 @@
/* eslint-disable import/no-commonjs */
/* let migrationName = 'new_stuff.js'; */
let authorName = 'Sabe'; // in case script author needs to know when their ...
let authorUuid = '7f14ed62-5408-4e1b-be83-ada62d504931'; // ... own data is done
const authorName = 'Sabe'; // in case script author needs to know when their ...
const authorUuid = '7f14ed62-5408-4e1b-be83-ada62d504931'; // ... own data is done
/*
* set the newStuff flag in all user accounts so they see a Bailey message
*/
let monk = require('monk');
let connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
let dbUsers = monk(connectionString).get('users', { castIds: false });
const monk = require('monk'); // eslint-disable-line import/no-extraneous-dependencies
const connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
const dbUsers = monk(connectionString).get('users', { castIds: false });
function processUsers (lastId) {
// specify a query to limit the affected users (empty for all users):
let query = {
'flags.newStuff': {$ne: true},
const query = {
'flags.newStuff': { $ne: true },
};
if (lastId) {
@@ -23,29 +25,31 @@ function processUsers (lastId) {
}
dbUsers.find(query, {
sort: {_id: 1},
sort: { _id: 1 },
limit: 250,
fields: [], // specify fields we are interested in to limit retrieved data (empty if we're not reading data):
// specify fields we are interested in to limit retrieved data
// (empty if we're not reading data):
fields: [],
})
.then(updateUsers)
.catch((err) => {
.catch(err => {
console.log(err);
return exiting(1, `ERROR! ${ err}`);
return exiting(1, `ERROR! ${err}`);
});
}
let progressCount = 1000;
const progressCount = 1000;
let count = 0;
function updateUsers (users) {
if (!users || users.length === 0) {
console.warn('All appropriate users found and modified.');
displayData();
return;
return null;
}
let userPromises = users.map(updateUser);
let lastUser = users[users.length - 1];
const userPromises = users.map(updateUser);
const lastUser = users[users.length - 1];
return Promise.all(userPromises)
.then(() => {
@@ -54,30 +58,31 @@ function updateUsers (users) {
}
function updateUser (user) {
count++;
count += 1;
let set = {'flags.newStuff': true};
const set = { 'flags.newStuff': true };
dbUsers.update({_id: user._id}, {$set: set});
dbUsers.update({ _id: user._id }, { $set: set });
if (count % progressCount === 0) console.warn(`${count } ${ user._id}`);
if (user._id === authorUuid) console.warn(`${authorName } processed`);
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
if (user._id === authorUuid) console.warn(`${authorName} processed`);
}
function displayData () {
console.warn(`\n${ count } users processed\n`);
console.warn(`\n${count} users processed\n`);
return exiting(0);
}
function exiting (code, msg) {
code = code || 0; // 0 = success
// 0 = success
code = code || 0; // eslint-disable-line no-param-reassign
if (code && !msg) {
msg = 'ERROR!';
msg = 'ERROR!'; // eslint-disable-line no-param-reassign
}
if (msg) {
if (code) {
console.error(msg);
} else {
} else {
console.log(msg);
}
}

View File

@@ -1,18 +1,20 @@
let migrationName = 'restock_armoire.js';
let authorName = 'Sabe'; // in case script author needs to know when their ...
let authorUuid = '7f14ed62-5408-4e1b-be83-ada62d504931'; // ... own data is done
/* eslint-disable import/no-commonjs */
const migrationName = 'restock_armoire.js';
const authorName = 'Sabe'; // in case script author needs to know when their ...
const authorUuid = '7f14ed62-5408-4e1b-be83-ada62d504931'; // ... own data is done
/*
* Remove flag stating that the Enchanted Armoire is empty, for when new equipment is added
*/
let monk = require('monk');
let connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
let dbUsers = monk(connectionString).get('users', { castIds: false });
const monk = require('monk'); // eslint-disable-line import/no-extraneous-dependencies
const connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
const dbUsers = monk(connectionString).get('users', { castIds: false });
function processUsers (lastId) {
// specify a query to limit the affected users (empty for all users):
let query = {
const query = {
'flags.armoireEmpty': true,
};
@@ -23,29 +25,31 @@ function processUsers (lastId) {
}
dbUsers.find(query, {
sort: {_id: 1},
sort: { _id: 1 },
limit: 250,
fields: [], // specify fields we are interested in to limit retrieved data (empty if we're not reading data):
// specify fields we are interested in to limit retrieved data
// (empty if we're not reading data):
fields: [],
})
.then(updateUsers)
.catch((err) => {
.catch(err => {
console.log(err);
return exiting(1, `ERROR! ${ err}`);
return exiting(1, `ERROR! ${err}`);
});
}
let progressCount = 1000;
const progressCount = 1000;
let count = 0;
function updateUsers (users) {
if (!users || users.length === 0) {
console.warn('All appropriate users found and modified.');
displayData();
return;
return null;
}
let userPromises = users.map(updateUser);
let lastUser = users[users.length - 1];
const userPromises = users.map(updateUser);
const lastUser = users[users.length - 1];
return Promise.all(userPromises)
.then(() => {
@@ -54,30 +58,31 @@ function updateUsers (users) {
}
function updateUser (user) {
count++;
count += 1;
let set = {migration: migrationName, 'flags.armoireEmpty': false};
const set = { migration: migrationName, 'flags.armoireEmpty': false };
dbUsers.update({_id: user._id}, {$set: set});
dbUsers.update({ _id: user._id }, { $set: set });
if (count % progressCount === 0) console.warn(`${count } ${ user._id}`);
if (user._id === authorUuid) console.warn(`${authorName } processed`);
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
if (user._id === authorUuid) console.warn(`${authorName} processed`);
}
function displayData () {
console.warn(`\n${ count } users processed\n`);
console.warn(`\n${count} users processed\n`);
return exiting(0);
}
function exiting (code, msg) {
code = code || 0; // 0 = success
// 0 = success
code = code || 0; // eslint-disable-line no-param-reassign
if (code && !msg) {
msg = 'ERROR!';
msg = 'ERROR!'; // eslint-disable-line no-param-reassign
}
if (msg) {
if (code) {
console.error(msg);
} else {
} else {
console.log(msg);
}
}

View File

@@ -1,6 +1,7 @@
let migrationName = 'restock_armoire_for_users_that_need_it.js';
let authorName = 'Alys (ALittleYellowSpider)'; // in case script author needs to know when their ...
let authorUuid = '3e595299-3d8a-4a10-bfe0-88f555e4aa0c'; // ... own data is done
/* eslint-disable import/no-commonjs */
const migrationName = 'restock_armoire_for_users_that_need_it.js';
const authorName = 'Alys (ALittleYellowSpider)'; // in case script author needs to know when their ...
const authorUuid = '3e595299-3d8a-4a10-bfe0-88f555e4aa0c'; // ... own data is done
/*
* Remove flag stating that the Enchanted Armoire is empty,
@@ -18,16 +19,17 @@ let authorUuid = '3e595299-3d8a-4a10-bfe0-88f555e4aa0c'; // ... own data is done
*
*/
let connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
const connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
let monk = require('monk');
let dbUsers = monk(connectionString).get('users', { castIds: false });
const monk = require('monk'); // eslint-disable-line import/no-extraneous-dependencies
const dbUsers = monk(connectionString).get('users', { castIds: false });
function processUsers (lastId) {
// specify a query to limit the affected users (empty for all users):
let query = {
'auth.timestamps.loggedin': {$gt: new Date('2016-01-04')},
const query = {
'auth.timestamps.loggedin': { $gt: new Date('2016-01-04') },
// '_id': authorUuid // FOR TESTING
};
@@ -35,7 +37,7 @@ function processUsers (lastId) {
/* let fields = {
'flags.armoireEmpty': 1,
'items.gear.owned': 1,
};*/
}; */
if (lastId) {
query._id = {
@@ -44,32 +46,34 @@ function processUsers (lastId) {
}
dbUsers.find(query, {
sort: {_id: 1},
sort: { _id: 1 },
limit: 250,
// specify fields we are interested in to limit retrieved data
// (empty if we're not reading data):
fields: {
'flags.armoireEmpty': 1,
'items.gear.owned': 1,
}, // specify fields we are interested in to limit retrieved data (empty if we're not reading data):
},
})
.then(updateUsers)
.catch((err) => {
.catch(err => {
console.log(err);
return exiting(1, `ERROR! ${ err}`);
return exiting(1, `ERROR! ${err}`);
});
}
let progressCount = 1000;
const progressCount = 1000;
let count = 0;
function updateUsers (users) {
if (!users || users.length === 0) {
console.warn('All appropriate users found and modified.');
displayData();
return;
return null;
}
let userPromises = users.map(updateUser);
let lastUser = users[users.length - 1];
const userPromises = users.map(updateUser);
const lastUser = users[users.length - 1];
return Promise.all(userPromises)
.then(() => {
@@ -78,19 +82,69 @@ function updateUsers (users) {
}
function updateUser (user) {
count++;
count += 1;
let set = {migration: migrationName, 'flags.armoireEmpty': false};
const set = { migration: migrationName, 'flags.armoireEmpty': false };
if (user.flags.armoireEmpty) {
// this user believes their armoire has no more items in it
if (user.items.gear.owned.weapon_armoire_barristerGavel && user.items.gear.owned.armor_armoire_barristerRobes && user.items.gear.owned.head_armoire_jesterCap && user.items.gear.owned.armor_armoire_jesterCostume && user.items.gear.owned.head_armoire_barristerWig && user.items.gear.owned.weapon_armoire_jesterBaton && user.items.gear.owned.weapon_armoire_lunarSceptre && user.items.gear.owned.armor_armoire_gladiatorArmor && user.items.gear.owned.weapon_armoire_basicCrossbow && user.items.gear.owned.head_armoire_gladiatorHelm && user.items.gear.owned.armor_armoire_lunarArmor && user.items.gear.owned.head_armoire_redHairbow && user.items.gear.owned.head_armoire_violetFloppyHat && user.items.gear.owned.head_armoire_rancherHat && user.items.gear.owned.shield_armoire_gladiatorShield && user.items.gear.owned.head_armoire_blueHairbow && user.items.gear.owned.weapon_armoire_mythmakerSword && user.items.gear.owned.head_armoire_royalCrown && user.items.gear.owned.head_armoire_hornedIronHelm && user.items.gear.owned.weapon_armoire_rancherLasso && user.items.gear.owned.armor_armoire_rancherRobes && user.items.gear.owned.armor_armoire_hornedIronArmor && user.items.gear.owned.armor_armoire_goldenToga && user.items.gear.owned.weapon_armoire_ironCrook && user.items.gear.owned.head_armoire_goldenLaurels && user.items.gear.owned.head_armoire_redFloppyHat && user.items.gear.owned.armor_armoire_plagueDoctorOvercoat && user.items.gear.owned.head_armoire_plagueDoctorHat && user.items.gear.owned.weapon_armoire_goldWingStaff && user.items.gear.owned.head_armoire_yellowHairbow && user.items.gear.owned.eyewear_armoire_plagueDoctorMask && user.items.gear.owned.head_armoire_blackCat && user.items.gear.owned.weapon_armoire_batWand && user.items.gear.owned.head_armoire_orangeCat && user.items.gear.owned.shield_armoire_midnightShield && user.items.gear.owned.armor_armoire_royalRobes && user.items.gear.owned.head_armoire_blueFloppyHat && user.items.gear.owned.shield_armoire_royalCane && user.items.gear.owned.weapon_armoire_shepherdsCrook && user.items.gear.owned.armor_armoire_shepherdRobes && user.items.gear.owned.head_armoire_shepherdHeaddress && user.items.gear.owned.weapon_armoire_blueLongbow && user.items.gear.owned.weapon_armoire_crystalCrescentStaff && user.items.gear.owned.head_armoire_crystalCrescentHat && user.items.gear.owned.armor_armoire_dragonTamerArmor && user.items.gear.owned.head_armoire_dragonTamerHelm && user.items.gear.owned.armor_armoire_crystalCrescentRobes && user.items.gear.owned.shield_armoire_dragonTamerShield && user.items.gear.owned.weapon_armoire_glowingSpear) {
if (
user.items.gear.owned.weapon_armoire_barristerGavel
&& user.items.gear.owned.armor_armoire_barristerRobes
&& user.items.gear.owned.head_armoire_jesterCap
&& user.items.gear.owned.armor_armoire_jesterCostume
&& user.items.gear.owned.head_armoire_barristerWig
&& user.items.gear.owned.weapon_armoire_jesterBaton
&& user.items.gear.owned.weapon_armoire_lunarSceptre
&& user.items.gear.owned.armor_armoire_gladiatorArmor
&& user.items.gear.owned.weapon_armoire_basicCrossbow
&& user.items.gear.owned.head_armoire_gladiatorHelm
&& user.items.gear.owned.armor_armoire_lunarArmor
&& user.items.gear.owned.head_armoire_redHairbow
&& user.items.gear.owned.head_armoire_violetFloppyHat
&& user.items.gear.owned.head_armoire_rancherHat
&& user.items.gear.owned.shield_armoire_gladiatorShield
&& user.items.gear.owned.head_armoire_blueHairbow
&& user.items.gear.owned.weapon_armoire_mythmakerSword
&& user.items.gear.owned.head_armoire_royalCrown
&& user.items.gear.owned.head_armoire_hornedIronHelm
&& user.items.gear.owned.weapon_armoire_rancherLasso
&& user.items.gear.owned.armor_armoire_rancherRobes
&& user.items.gear.owned.armor_armoire_hornedIronArmor
&& user.items.gear.owned.armor_armoire_goldenToga
&& user.items.gear.owned.weapon_armoire_ironCrook
&& user.items.gear.owned.head_armoire_goldenLaurels
&& user.items.gear.owned.head_armoire_redFloppyHat
&& user.items.gear.owned.armor_armoire_plagueDoctorOvercoat
&& user.items.gear.owned.head_armoire_plagueDoctorHat
&& user.items.gear.owned.weapon_armoire_goldWingStaff
&& user.items.gear.owned.head_armoire_yellowHairbow
&& user.items.gear.owned.eyewear_armoire_plagueDoctorMask
&& user.items.gear.owned.head_armoire_blackCat
&& user.items.gear.owned.weapon_armoire_batWand
&& user.items.gear.owned.head_armoire_orangeCat
&& user.items.gear.owned.shield_armoire_midnightShield
&& user.items.gear.owned.armor_armoire_royalRobes
&& user.items.gear.owned.head_armoire_blueFloppyHat
&& user.items.gear.owned.shield_armoire_royalCane
&& user.items.gear.owned.weapon_armoire_shepherdsCrook
&& user.items.gear.owned.armor_armoire_shepherdRobes
&& user.items.gear.owned.head_armoire_shepherdHeaddress
&& user.items.gear.owned.weapon_armoire_blueLongbow
&& user.items.gear.owned.weapon_armoire_crystalCrescentStaff
&& user.items.gear.owned.head_armoire_crystalCrescentHat
&& user.items.gear.owned.armor_armoire_dragonTamerArmor
&& user.items.gear.owned.head_armoire_dragonTamerHelm
&& user.items.gear.owned.armor_armoire_crystalCrescentRobes
&& user.items.gear.owned.shield_armoire_dragonTamerShield
&& user.items.gear.owned.weapon_armoire_glowingSpear
) {
// this user does have all the armoire items so we don't change the flag
// console.log("don't change: " + user._id); // FOR TESTING
} else {
// console.log("change: " + user._id); // FOR TESTING
dbUsers.update({_id: user._id}, {$set: set});
dbUsers.update({ _id: user._id }, { $set: set });
}
} else {
// this user already has armoire marked as containing items to be bought
@@ -98,24 +152,25 @@ function updateUser (user) {
// console.log("DON'T CHANGE: " + user._id); // FOR TESTING
}
if (count % progressCount === 0) console.warn(`${count } ${ user._id}`);
if (user._id === authorUuid) console.warn(`${authorName } processed`);
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
if (user._id === authorUuid) console.warn(`${authorName} processed`);
}
function displayData () {
console.warn(`\n${ count } users processed\n`);
console.warn(`\n${count} users processed\n`);
return exiting(0);
}
function exiting (code, msg) {
code = code || 0; // 0 = success
// 0 = success
code = code || 0; // eslint-disable-line no-param-reassign
if (code && !msg) {
msg = 'ERROR!';
msg = 'ERROR!'; // eslint-disable-line no-param-reassign
}
if (msg) {
if (code) {
console.error(msg);
} else {
} else {
console.log(msg);
}
}

View File

@@ -1,22 +1,25 @@
/* eslint-disable import/no-commonjs */
/* let migrationName = 'restore_profile_data.js'; */
let authorName = 'ThehollidayInn'; // in case script author needs to know when their ...
let authorUuid = ''; // ... own data is done
const authorName = 'ThehollidayInn'; // in case script author needs to know when their ...
const authorUuid = ''; // ... own data is done
/*
* Check if users have empty profile data in new database and update it with old database info
*/
let monk = require('monk');
let connectionString = ''; // FOR TEST DATABASE
let dbUsers = monk(connectionString).get('users', { castIds: false });
const monk = require('monk'); // eslint-disable-line import/no-extraneous-dependencies
let monk2 = require('monk');
let oldDbConnectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
let olDbUsers = monk2(oldDbConnectionString).get('users', { castIds: false });
const connectionString = ''; // FOR TEST DATABASE
const dbUsers = monk(connectionString).get('users', { castIds: false });
const monk2 = require('monk'); // eslint-disable-line import/no-extraneous-dependencies
const oldDbConnectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
const olDbUsers = monk2(oldDbConnectionString).get('users', { castIds: false });
function processUsers (lastId) {
// specify a query to limit the affected users (empty for all users):
let query = {
const query = {
// 'profile.name': 'profile name not found',
'profile.blurb': null,
// 'auth.timestamps.loggedin': {$gt: new Date('11/30/2016')},
@@ -29,49 +32,47 @@ function processUsers (lastId) {
}
dbUsers.find(query, {
sort: {_id: 1},
sort: { _id: 1 },
limit: 250,
fields: ['_id', 'profile', 'auth.timestamps.loggedin'], // specify fields we are interested in to limit retrieved data (empty if we're not reading data):
})
.then(updateUsers)
.catch((err) => {
.catch(err => {
console.log(err);
return exiting(1, `ERROR! ${ err}`);
return exiting(1, `ERROR! ${err}`);
});
}
let progressCount = 1000;
const progressCount = 1000;
let count = 0;
function updateUsers (users) {
if (!users || users.length === 0) {
console.warn('All appropriate users found and modified.');
setTimeout(displayData, 300000);
return;
return null;
}
let userPaymentPromises = users.map(updateUser);
let lastUser = users[users.length - 1];
const userPaymentPromises = users.map(updateUser);
const lastUser = users[users.length - 1];
return Promise.all(userPaymentPromises)
.then(() => {
return processUsers(lastUser._id);
});
.then(() => processUsers(lastUser._id));
}
function updateUser (user) {
count++;
count += 1;
if (!user.profile.name || user.profile.name === 'profile name not found' || !user.profile.imageUrl || !user.profile.blurb) {
return olDbUsers.findOne({_id: user._id}, '_id profile')
.then((oldUserData) => {
if (!oldUserData) return;
return olDbUsers.findOne({ _id: user._id }, '_id profile')
.then(oldUserData => {
if (!oldUserData) return null;
// specify user data to change:
let set = {};
const set = {};
if (oldUserData.profile.name === 'profile name not found') return;
if (oldUserData.profile.name === 'profile name not found') return null;
let userNeedsProfileName = !user.profile.name || user.profile.name === 'profile name not found';
const userNeedsProfileName = !user.profile.name || user.profile.name === 'profile name not found';
if (userNeedsProfileName && oldUserData.profile.name) {
set['profile.name'] = oldUserData.profile.name;
}
@@ -86,29 +87,34 @@ function updateUser (user) {
if (Object.keys(set).length !== 0 && set.constructor === Object) {
console.log(set);
return dbUsers.update({_id: user._id}, {$set: set});
return dbUsers.update({ _id: user._id }, { $set: set });
}
return null;
});
}
if (count % progressCount === 0) console.warn(`${count } ${ user._id}`);
if (user._id === authorUuid) console.warn(`${authorName } processed`);
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
if (user._id === authorUuid) console.warn(`${authorName} processed`);
return null;
}
function displayData () {
console.warn(`\n${ count } users processed\n`);
console.warn(`\n${count} users processed\n`);
return exiting(0);
}
function exiting (code, msg) {
code = code || 0; // 0 = success
// 0 = success
code = code || 0; // eslint-disable-line no-param-reassign
if (code && !msg) {
msg = 'ERROR!';
msg = 'ERROR!'; // eslint-disable-line no-param-reassign
}
if (msg) {
if (code) {
console.error(msg);
} else {
} else {
console.log(msg);
}
}

View File

@@ -1,97 +0,0 @@
let request = require('superagent');
let last = require('lodash/last');
let AWS = require('aws-sdk');
let config = require('../config');
const S3_DIRECTORY = 'mobileApp/images'; // config.S3.SPRITES_DIRECTORY;
AWS.config.update({
accessKeyId: config.S3.accessKeyId,
secretAccessKey: config.S3.secretAccessKey,
// region: config.get('S3_REGION'),
});
let BUCKET_NAME = config.S3.bucket;
let s3 = new AWS.S3();
// Adapted from http://stackoverflow.com/a/22210077/2601552
function uploadFile (buffer, fileName) {
return new Promise((resolve, reject) => {
s3.putObject({
Body: buffer,
Key: fileName,
Bucket: BUCKET_NAME,
}, (error) => {
if (error) {
reject(error);
} else {
// console.info(`${fileName} uploaded to ${BUCKET_NAME} succesfully.`);
resolve(fileName);
}
});
});
}
function getFileName (file) {
let piecesOfPath = file.split('/');
let name = last(piecesOfPath);
let fullName = S3_DIRECTORY + name;
return fullName;
}
function getFileFromUrl (url) {
return new Promise((resolve, reject) => {
request.get(url).end((err, res) => {
if (err) return reject(err);
let file = res.body;
resolve(file);
});
});
}
let commit = '78f94e365c72cc58f66857d5941105638db7d35c';
commit = 'df0dbaba636c9ce424cc7040f7bd7fc1aa311015';
let gihuburl = `https://api.github.com/repos/HabitRPG/habitica/commits/${commit}`;
let currentIndex = 0;
function uploadToS3 (start, end, filesUrls) {
let urls = filesUrls.slice(start, end);
if (urls.length === 0) {
console.log('done');
return;
}
let promises = urls.map(fullUrl => {
return getFileFromUrl(fullUrl)
.then((buffer) => {
return uploadFile(buffer, getFileName(fullUrl));
});
});
console.log(promises.length);
return Promise.all(promises)
.then(() => {
currentIndex += 50;
uploadToS3(currentIndex, currentIndex + 50, filesUrls);
})
.catch(e => {
console.log(e);
});
}
request.get(gihuburl)
.end((err, res) => {
console.log(err);
let files = res.body.files;
let filesUrls = [''];
filesUrls = files.map(file => {
return file.raw_url;
});
uploadToS3(currentIndex, currentIndex + 50, filesUrls);
});

View File

@@ -1,21 +1,23 @@
/* eslint-disable import/no-commonjs */
// const migrationName = 'habits-one-history-entry-per-day';
// const authorName = 'paglias'; // in case script author needs to know when their ...
// const authorUuid = 'ed4c688c-6652-4a92-9d03-a5a79844174a'; // ... own data is done
/*
* Iterates over all habits and condense multiple history entries for the same day into a single entry
* Iterates over all habits and condense multiple history entries for the same day into a single one
*/
const monk = require('monk');
const monk = require('monk'); // eslint-disable-line import/no-extraneous-dependencies
const _ = require('lodash');
const moment = require('moment');
const connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
const dbTasks = monk(connectionString).get('tasks', { castIds: false });
function processChallengeHabits (lastId) {
let query = {
'challenge.id': {$exists: true},
userId: {$exists: false},
const query = {
'challenge.id': { $exists: true },
userId: { $exists: false },
type: 'habit',
};
@@ -26,37 +28,35 @@ function processChallengeHabits (lastId) {
}
dbTasks.find(query, {
sort: {_id: 1},
sort: { _id: 1 },
limit: 500,
})
.then(updateChallengeHabits)
.catch((err) => {
.catch(err => {
console.log(err);
return exiting(1, `ERROR! ${ err}`);
return exiting(1, `ERROR! ${err}`);
});
}
let progressCount = 1000;
const progressCount = 1000;
let count = 0;
function updateChallengeHabits (habits) {
if (!habits || habits.length === 0) {
console.warn('All appropriate challenge habits found and modified.');
displayData();
return;
return null;
}
let habitsPromises = habits.map(updateChallengeHabit);
let lastHabit = habits[habits.length - 1];
const habitsPromises = habits.map(updateChallengeHabit);
const lastHabit = habits[habits.length - 1];
return Promise.all(habitsPromises)
.then(() => {
return processChallengeHabits(lastHabit._id);
});
.then(() => processChallengeHabits(lastHabit._id));
}
function updateChallengeHabit (habit) {
count++;
count += 1;
if (habit && habit.history && habit.history.length > 0) {
// First remove missing entries
@@ -76,13 +76,12 @@ function updateChallengeHabit (habit) {
entry.scoreDirection = entry.value > previousValue ? 'up' : 'down';
}
})
.groupBy(entry => { // group entries by aggregateBy
return moment(entry.date).format('YYYYMMDD');
})
// group entries by aggregateBy
.groupBy(entry => moment(entry.date).format('YYYYMMDD'))
.toPairs() // [key, entry]
.sortBy(([key]) => key) // sort by date
.map(keyEntryPair => {
let entries = keyEntryPair[1]; // 1 is entry, 0 is key
const entries = keyEntryPair[1]; // 1 is entry, 0 is key
let scoredUp = 0;
let scoredDown = 0;
@@ -107,32 +106,34 @@ function updateChallengeHabit (habit) {
})
.value();
return dbTasks.update({_id: habit._id}, {
$set: {history: habit.history},
return dbTasks.update({ _id: habit._id }, {
$set: { history: habit.history },
});
}
if (count % progressCount === 0) console.warn(`${count } habits processed`);
if (count % progressCount === 0) console.warn(`${count} habits processed`);
return null;
}
function displayData () {
console.warn(`\n${ count } tasks processed\n`);
console.warn(`\n${count} tasks processed\n`);
return exiting(0);
}
function exiting (code, msg) {
code = code || 0; // 0 = success
// 0 = success
code = code || 0; // eslint-disable-line no-param-reassign
if (code && !msg) {
msg = 'ERROR!';
msg = 'ERROR!'; // eslint-disable-line no-param-reassign
}
if (msg) {
if (code) {
console.error(msg);
} else {
} else {
console.log(msg);
}
}
process.exit(code);
}
module.exports = processChallengeHabits;
export default processChallengeHabits;

View File

@@ -1,21 +1,23 @@
/* eslint-disable import/no-commonjs */
const migrationName = 'habits-one-history-entry-per-day';
const authorName = 'paglias'; // in case script author needs to know when their ...
const authorUuid = 'ed4c688c-6652-4a92-9d03-a5a79844174a'; // ... own data is done
/*
* Iterates over all habits and condense multiple history entries for the same day into a single entry
* Iterates over all habits and condense multiple history entries for the same day into a single one
*/
const monk = require('monk');
const monk = require('monk'); // eslint-disable-line import/no-extraneous-dependencies
const _ = require('lodash');
const moment = require('moment');
const connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
const dbTasks = monk(connectionString).get('tasks', { castIds: false });
const dbUsers = monk(connectionString).get('users', { castIds: false });
function processUsers (lastId) {
let query = {
migration: {$ne: migrationName},
const query = {
migration: { $ne: migrationName },
};
if (lastId) {
@@ -25,34 +27,32 @@ function processUsers (lastId) {
}
dbUsers.find(query, {
sort: {_id: 1},
sort: { _id: 1 },
limit: 50, // just 50 users per time since we have to process all their habits as well
fields: ['_id', 'preferences.timezoneOffset', 'preferences.dayStart'],
})
.then(updateUsers)
.catch((err) => {
.catch(err => {
console.log(err);
return exiting(1, `ERROR! ${ err}`);
return exiting(1, `ERROR! ${err}`);
});
}
let progressCount = 1000;
const progressCount = 1000;
let count = 0;
function updateUsers (users) {
if (!users || users.length === 0) {
console.warn('All appropriate users and their tasks found and modified.');
displayData();
return;
return null;
}
let usersPromises = users.map(updateUser);
let lastUser = users[users.length - 1];
const usersPromises = users.map(updateUser);
const lastUser = users[users.length - 1];
return Promise.all(usersPromises)
.then(() => {
return processUsers(lastUser._id);
});
.then(() => processUsers(lastUser._id));
}
function updateHabit (habit, timezoneOffset, dayStart) {
@@ -82,7 +82,7 @@ function updateHabit (habit, timezoneOffset, dayStart) {
.toPairs() // [key, entry]
.sortBy(([key]) => key) // sort by date
.map(keyEntryPair => {
let entries = keyEntryPair[1]; // 1 is entry, 0 is key
const entries = keyEntryPair[1]; // 1 is entry, 0 is key
let scoredUp = 0;
let scoredDown = 0;
@@ -107,57 +107,56 @@ function updateHabit (habit, timezoneOffset, dayStart) {
})
.value();
return dbTasks.update({_id: habit._id}, {
$set: {history: habit.history},
return dbTasks.update({ _id: habit._id }, {
$set: { history: habit.history },
});
}
return null;
}
function updateUser (user) {
count++;
count += 1;
const timezoneOffset = user.preferences.timezoneOffset;
const dayStart = user.preferences.dayStart;
const { timezoneOffset } = user.preferences;
const { dayStart } = user.preferences;
if (count % progressCount === 0) console.warn(`${count } ${ user._id}`);
if (user._id === authorUuid) console.warn(`${authorName } being processed`);
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
if (user._id === authorUuid) console.warn(`${authorName} being processed`);
return dbTasks.find({
type: 'habit',
userId: user._id,
})
.then(habits => {
return Promise.all(habits.map(habit => updateHabit(habit, timezoneOffset, dayStart)));
})
.then(() => {
return dbUsers.update({_id: user._id}, {
$set: {migration: migrationName},
});
})
.catch((err) => {
.then(habits => Promise.all(habits.map(habit => updateHabit(habit, timezoneOffset, dayStart))))
.then(() => dbUsers.update({ _id: user._id }, {
$set: { migration: migrationName },
}))
.catch(err => {
console.log(err);
return exiting(1, `ERROR! ${ err}`);
return exiting(1, `ERROR! ${err}`);
});
}
function displayData () {
console.warn(`\n${ count } tasks processed\n`);
console.warn(`\n${count} tasks processed\n`);
return exiting(0);
}
function exiting (code, msg) {
code = code || 0; // 0 = success
// 0 = success
code = code || 0; // eslint-disable-line no-param-reassign
if (code && !msg) {
msg = 'ERROR!';
msg = 'ERROR!'; // eslint-disable-line no-param-reassign
}
if (msg) {
if (code) {
console.error(msg);
} else {
} else {
console.log(msg);
}
}
process.exit(code);
}
module.exports = processUsers;
export default processUsers;

View File

@@ -0,0 +1,54 @@
// @migrationName = 'RewardsMigrationFlipNegativeCostsValues';
// @authorName = 'hamboomger';
// @authorUuid = '80b61b73-2278-4947-b713-a10112cfe7f5';
/*
* For each reward with negative cost, make it positive
* by assigning it an absolute value of itself
*/
import { Task } from '../../website/server/models/task';
async function flipNegativeCostsValues () {
const query = {
type: 'reward',
value: { $lt: 0 },
};
const fields = {
_id: 1,
value: 1,
};
// eslint-disable-next-line no-constant-condition
while (true) {
// eslint-disable-next-line no-await-in-loop
const rewards = await Task
.find(query)
.limit(250)
.sort({ _id: 1 })
.select(fields)
.lean()
.exec();
if (rewards.length === 0) {
break;
}
const promises = rewards.map(reward => {
const positiveValue = Math.abs(reward.value);
return Task.update({ _id: reward._id }, { $set: { value: positiveValue } }).exec();
});
// eslint-disable-next-line no-await-in-loop
await Promise.all(promises);
query._id = {
$gt: rewards[rewards.length - 1]._id,
};
}
console.log('All rewards with negative values were updated, migration finished');
}
export default flipNegativeCostsValues;

View File

@@ -1,18 +1,19 @@
import monk from 'monk'; // eslint-disable-line import/no-extraneous-dependencies
/* let migrationName = 'tasks-set-everyX'; */
let authorName = 'Sabe'; // in case script author needs to know when their ...
let authorUuid = '7f14ed62-5408-4e1b-be83-ada62d504931'; // ... own data is done
const authorName = 'Sabe'; // in case script author needs to know when their ...
const authorUuid = '7f14ed62-5408-4e1b-be83-ada62d504931'; // ... own data is done
/*
* Iterates over all tasks and sets invalid everyX values (less than 0 or more than 9999 or not an int) field to 0
* Iterates over all tasks and sets invalid everyX values
* (less than 0 or more than 9999 or not an int) field to 0
*/
let monk = require('monk');
let connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true';
let dbTasks = monk(connectionString).get('tasks', { castIds: false });
const connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true';
const dbTasks = monk(connectionString).get('tasks', { castIds: false });
function processTasks (lastId) {
// specify a query to limit the affected tasks (empty for all tasks):
let query = {
const query = {
type: 'daily',
everyX: {
$not: {
@@ -30,64 +31,63 @@ function processTasks (lastId) {
}
dbTasks.find(query, {
sort: {_id: 1},
sort: { _id: 1 },
limit: 250,
fields: [],
})
.then(updateTasks)
.catch((err) => {
.catch(err => {
console.log(err);
return exiting(1, `ERROR! ${ err}`);
return exiting(1, `ERROR! ${err}`);
});
}
let progressCount = 1000;
const progressCount = 1000;
let count = 0;
function updateTasks (tasks) {
if (!tasks || tasks.length === 0) {
console.warn('All appropriate tasks found and modified.');
displayData();
return;
return null;
}
let taskPromises = tasks.map(updatetask);
let lasttask = tasks[tasks.length - 1];
const taskPromises = tasks.map(updatetask);
const lasttask = tasks[tasks.length - 1];
return Promise.all(taskPromises)
.then(() => {
return processTasks(lasttask._id);
});
.then(() => processTasks(lasttask._id));
}
function updatetask (task) {
count++;
let set = {everyX: 0};
count += 1;
const set = { everyX: 0 };
dbTasks.update({_id: task._id}, {$set: set});
dbTasks.update({ _id: task._id }, { $set: set });
if (count % progressCount === 0) console.warn(`${count } ${ task._id}`);
if (task._id === authorUuid) console.warn(`${authorName } processed`);
if (count % progressCount === 0) console.warn(`${count} ${task._id}`);
if (task._id === authorUuid) console.warn(`${authorName} processed`);
}
function displayData () {
console.warn(`\n${ count } tasks processed\n`);
console.warn(`\n${count} tasks processed\n`);
return exiting(0);
}
function exiting (code, msg) {
code = code || 0; // 0 = success
// 0 = success
code = code || 0; // eslint-disable-line no-param-reassign
if (code && !msg) {
msg = 'ERROR!';
msg = 'ERROR!'; // eslint-disable-line no-param-reassign
}
if (msg) {
if (code) {
console.error(msg);
} else {
} else {
console.log(msg);
}
}
process.exit(code);
}
module.exports = processTasks;
export default processTasks;

View File

@@ -1,28 +1,31 @@
/* let migrationName = 'tasks-set-yesterdaily'; */
let authorName = 'TheHollidayInn'; // in case script author needs to know when their ...
let authorUuid = ''; // ... own data is done
// ... own data is done
/*
* Iterates over all tasks and sets the yseterDaily field to True
*/
import monk from 'monk';
import monk from 'monk'; // eslint-disable-line import/no-extraneous-dependencies
let connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
let dbTasks = monk(connectionString).get('tasks', { castIds: false });
const authorName = 'TheHollidayInn'; // in case script author needs to know when their ...
const authorUuid = '';
let progressCount = 1000;
const connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
const dbTasks = monk(connectionString).get('tasks', { castIds: false });
const progressCount = 1000;
let count = 0;
function exiting (code, msg) {
code = code || 0; // 0 = success
// 0 = success
code = code || 0; // eslint-disable-line no-param-reassign
if (code && !msg) {
msg = 'ERROR!';
msg = 'ERROR!'; // eslint-disable-line no-param-reassign
}
if (msg) {
if (code) {
console.error(msg);
} else {
} else {
console.log(msg);
}
}
@@ -30,39 +33,37 @@ function exiting (code, msg) {
}
function displayData () {
console.warn(`\n${ count } tasks processed\n`);
console.warn(`\n${count} tasks processed\n`);
return exiting(0);
}
function updatetask (task) {
count++;
let set = {yesterDaily: true};
count += 1;
const set = { yesterDaily: true };
dbTasks.update({_id: task._id}, {$set: set});
dbTasks.update({ _id: task._id }, { $set: set });
if (count % progressCount === 0) console.warn(`${count } ${ task._id}`);
if (task._id === authorUuid) console.warn(`${authorName } processed`);
if (count % progressCount === 0) console.warn(`${count} ${task._id}`);
if (task._id === authorUuid) console.warn(`${authorName} processed`);
}
function updateTasks (tasks) {
if (!tasks || tasks.length === 0) {
console.warn('All appropriate tasks found and modified.');
displayData();
return;
return null;
}
let taskPromises = tasks.map(updatetask);
let lasttask = tasks[tasks.length - 1];
const taskPromises = tasks.map(updatetask);
const lasttask = tasks[tasks.length - 1];
return Promise.all(taskPromises)
.then(() => {
return processTasks(lasttask._id); // eslint-disable-line no-use-before-define
});
.then(() => processTasks(lasttask._id)); // eslint-disable-line no-use-before-define
}
function processTasks (lastId) {
// specify a query to limit the affected tasks (empty for all tasks):
let query = {
const query = {
yesterDaily: false,
};
@@ -73,16 +74,18 @@ function processTasks (lastId) {
}
dbTasks.find(query, {
sort: {_id: 1},
sort: { _id: 1 },
limit: 250,
fields: [ // specify fields we are interested in to limit retrieved data (empty if we're not reading data):
// specify fields we are interested in to limit retrieved data
// (empty if we're not reading data):
fields: [
],
})
.then(updateTasks)
.catch((err) => {
.catch(err => {
console.log(err);
return exiting(1, `ERROR! ${ err}`);
return exiting(1, `ERROR! ${err}`);
});
}
module.exports = processTasks;
export default processTasks;

View File

@@ -8,29 +8,30 @@ let authorUuid = ''; // ... own data is done
* This migraition will copy user data from prod to test
*/
const monk = require('monk');
import monk from 'monk'; // eslint-disable-line import/no-extraneous-dependencies
const connectionString = '';
const Users = monk(connectionString).get('users', { castIds: false });
module.exports = async function accountTransfer () {
export default async function accountTransfer () {
const fromAccountId = '';
const toAccountId = '';
const fromAccount = await Users.findOne({_id: fromAccountId});
const toAccount = await Users.findOne({_id: toAccountId});
const fromAccount = await Users.findOne({ _id: fromAccountId });
const toAccount = await Users.findOne({ _id: toAccountId });
const newMounts = Object.assign({}, fromAccount.items.mounts, toAccount.items.mounts);
const newPets = Object.assign({}, fromAccount.items.pets, toAccount.items.pets);
const newBackgrounds = Object.assign({}, fromAccount.purchased.background, toAccount.purchased.background);
const newMounts = { ...fromAccount.items.mounts, ...toAccount.items.mounts };
const newPets = { ...fromAccount.items.pets, ...toAccount.items.pets };
const newBackgrounds = { ...fromAccount.purchased.background, ...toAccount.purchased.background };
await Users.update({_id: toAccountId}, {
await Users.update({ _id: toAccountId }, {
$set: {
'items.pets': newPets,
'items.mounts': newMounts,
'purchased.background': newBackgrounds,
},
})
.then((result) => {
.then(result => {
console.log(result);
});
};
}

View File

@@ -8,7 +8,8 @@ const authorUuid = ''; // ... own data is done
* This migraition will copy user data from prod to test
*/
const monk = require('monk');
import monk from 'monk'; // eslint-disable-line import/no-extraneous-dependencies
const connectionString = 'mongodb://localhost/new-habit';
const Users = monk(connectionString).get('users', { castIds: false });
@@ -19,15 +20,17 @@ function getAchievementUpdate (newUser, oldUser) {
const oldAchievements = oldUser.achievements;
const newAchievements = newUser.achievements;
let achievementsUpdate = Object.assign({}, newAchievements);
const achievementsUpdate = { ...newAchievements };
// ultimateGearSets
if (!achievementsUpdate.ultimateGearSets && oldAchievements.ultimateGearSets) {
achievementsUpdate.ultimateGearSets = oldAchievements.ultimateGearSets;
} else if (oldAchievements.ultimateGearSets) {
for (let index in oldAchievements.ultimateGearSets) {
if (oldAchievements.ultimateGearSets[index]) achievementsUpdate.ultimateGearSets[index] = true;
}
Object.keys(oldAchievements.ultimateGearSets).forEach(index => {
if (oldAchievements.ultimateGearSets[index]) {
achievementsUpdate.ultimateGearSets[index] = true;
}
});
}
// challenges
@@ -37,57 +40,57 @@ function getAchievementUpdate (newUser, oldUser) {
// Quests
if (!achievementsUpdate.quests) achievementsUpdate.quests = {};
for (let index in oldAchievements.quests) {
Object.keys(oldAchievements.quests).forEach(index => {
if (!achievementsUpdate.quests[index]) {
achievementsUpdate.quests[index] = oldAchievements.quests[index];
} else {
achievementsUpdate.quests[index] += oldAchievements.quests[index];
}
}
});
// Rebirth level
if (achievementsUpdate.rebirthLevel) {
achievementsUpdate.rebirthLevel = Math.max(achievementsUpdate.rebirthLevel, oldAchievements.rebirthLevel);
achievementsUpdate.rebirthLevel = Math.max(
achievementsUpdate.rebirthLevel, oldAchievements.rebirthLevel,
);
} else if (oldAchievements.rebirthLevel) {
achievementsUpdate.rebirthLevel = oldAchievements.rebirthLevel;
}
// All others
const indexsToIgnore = ['ultimateGearSets', 'challenges', 'quests', 'rebirthLevel'];
for (let index in oldAchievements) {
if (indexsToIgnore.indexOf(index) !== -1) continue; // eslint-disable-line no-continue
Object.keys(oldAchievements).forEach(index => {
if (indexsToIgnore.indexOf(index) !== -1) return;
if (!achievementsUpdate[index]) {
if (!achievementsUpdate[index]) {
achievementsUpdate[index] = oldAchievements[index];
continue; // eslint-disable-line no-continue
return;
}
if (Number.isInteger(oldAchievements[index])) {
achievementsUpdate[index] += oldAchievements[index];
} else if (oldAchievements[index] === true) achievementsUpdate[index] = true;
}
});
return achievementsUpdate;
}
module.exports = async function achievementRestore () {
export default async function achievementRestore () {
const userIds = [
];
/* eslint-disable no-await-in-loop */
for (let index in userIds) {
const userId = userIds[index];
const oldUser = await UsersOld.findOne({_id: userId}, 'achievements');
const newUser = await Users.findOne({_id: userId}, 'achievements');
await Promise.all(userIds.map(userId => (async () => {
const oldUser = await UsersOld.findOne({ _id: userId }, 'achievements');
const newUser = await Users.findOne({ _id: userId }, 'achievements');
const achievementUpdate = getAchievementUpdate(newUser, oldUser);
await Users.update(
{_id: userId},
{ _id: userId },
{
$set: {
achievements: achievementUpdate,
},
});
},
);
console.log(`Updated ${userId}`);
/* eslint-enable no-await-in-loop */
}
};
})()));
}

View File

@@ -1,33 +1,37 @@
/* eslint-disable no-console */
import { sendTxn } from '../../website/server/libs/email';
import { model as User } from '../../website/server/models/user';
import moment from 'moment';
import nconf from 'nconf';
import { sendTxn } from '../../website/server/libs/email';
import { model as User } from '../../website/server/models/user';
const BASE_URL = nconf.get('BASE_URL');
const EMAIL_SLUG = 'mandrill-email-slug'; // Set email template to send
const MIGRATION_NAME = 'bulk-email';
const progressCount = 1000;
const progressCount = 250;
let count = 0;
async function updateUser (user) {
count++;
count += 1;
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
if (count % progressCount === 0) {
console.warn(`${count} ${user._id}`);
await new Promise(resolve => setTimeout(resolve, 5000));
}
sendTxn(
await sendTxn(
user,
EMAIL_SLUG,
[{name: 'BASE_URL', content: BASE_URL}] // Add variables from template
[{ name: 'BASE_URL', content: BASE_URL }], // Add variables from template
);
return await User.update({_id: user._id}, {$set: {migration: MIGRATION_NAME}}).exec();
return User.update({ _id: user._id }, { $set: { migration: MIGRATION_NAME } }).exec();
}
module.exports = async function processUsers () {
let query = {
migration: {$ne: MIGRATION_NAME},
'auth.timestamps.loggedin': {$gt: moment().subtract(2, 'weeks').toDate()}, // customize or remove to target different populations
export default async function processUsers () {
const query = {
migration: { $ne: MIGRATION_NAME },
'auth.timestamps.loggedin': { $gt: moment().subtract(2, 'weeks').toDate() }, // customize or remove to target different populations
};
const fields = {
@@ -41,7 +45,7 @@ module.exports = async function processUsers () {
const users = await User // eslint-disable-line no-await-in-loop
.find(query)
.limit(250)
.sort({_id: 1})
.sort({ _id: 1 })
.select(fields)
.lean()
.exec();
@@ -58,4 +62,4 @@ module.exports = async function processUsers () {
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
}
};
}

View File

@@ -0,0 +1,64 @@
/* eslint-disable no-console */
import each from 'lodash/each';
import keys from 'lodash/keys';
import content from '../../website/common/script/content/index';
import { model as User } from '../../website/server/models/user';
const MIGRATION_NAME = 'full-gear';
const progressCount = 1000;
let count = 0;
/*
* Award users every extant pet and mount
*/
async function updateUser (user) {
count += 1;
const set = {};
set.migration = MIGRATION_NAME;
each(keys(content.gear.flat), gearItem => {
set[`items.gear.owned.${gearItem}`] = true;
});
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
return User.update({ _id: user._id }, { $set: set }).exec();
}
export default async function processUsers () {
const query = {
migration: { $ne: MIGRATION_NAME },
'auth.local.lowerCaseUsername': 'olson1',
};
const fields = {
_id: 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
}
}

View File

@@ -1,11 +1,12 @@
/* eslint-disable no-console */
const MIGRATION_NAME = 'full-stable';
import each from 'lodash/each';
import keys from 'lodash/keys';
import content from '../../website/common/script/content/index';
import { model as User } from '../../website/server/models/user';
const MIGRATION_NAME = 'full-stable';
const progressCount = 1000;
let count = 0;
@@ -14,46 +15,49 @@ let count = 0;
*/
async function updateUser (user) {
count++;
count += 1;
const set = {};
set.migration = MIGRATION_NAME;
each(keys(content.pets), (pet) => {
each(keys(content.pets), pet => {
set[`items.pets.${pet}`] = 5;
});
each(keys(content.premiumPets), (pet) => {
each(keys(content.premiumPets), pet => {
set[`items.pets.${pet}`] = 5;
});
each(keys(content.questPets), (pet) => {
each(keys(content.questPets), pet => {
set[`items.pets.${pet}`] = 5;
});
each(keys(content.specialPets), (pet) => {
each(keys(content.specialPets), pet => {
set[`items.pets.${pet}`] = 5;
});
each(keys(content.mounts), (mount) => {
each(keys(content.wackyPets), pet => {
set[`items.pets.${pet}`] = 5;
});
each(keys(content.mounts), mount => {
set[`items.mounts.${mount}`] = true;
});
each(keys(content.premiumMounts), (mount) => {
each(keys(content.premiumMounts), mount => {
set[`items.mounts.${mount}`] = true;
});
each(keys(content.questMounts), (mount) => {
each(keys(content.questMounts), mount => {
set[`items.mounts.${mount}`] = true;
});
each(keys(content.specialMounts), (mount) => {
each(keys(content.specialMounts), mount => {
set[`items.mounts.${mount}`] = true;
});
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
return await User.update({_id: user._id}, {$set: set}).exec();
return User.update({ _id: user._id }, { $set: set }).exec();
}
module.exports = async function processUsers () {
let query = {
migration: {$ne: MIGRATION_NAME},
'auth.local.username': 'olson22',
export default async function processUsers () {
const query = {
migration: { $ne: MIGRATION_NAME },
'auth.local.username': 'SabreTest',
};
const fields = {
@@ -64,7 +68,7 @@ module.exports = async function processUsers () {
const users = await User // eslint-disable-line no-await-in-loop
.find(query)
.limit(250)
.sort({_id: 1})
.sort({ _id: 1 })
.select(fields)
.lean()
.exec();
@@ -81,4 +85,4 @@ module.exports = async function processUsers () {
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
}
};
}

View File

@@ -1,71 +0,0 @@
/* eslint-disable no-console */
const MIGRATION_NAME = 'mystery_items_201909';
const MYSTERY_ITEMS = ['armor_mystery_201909', 'head_mystery_201909'];
import { model as User } from '../../website/server/models/user';
import { model as UserNotification } from '../../website/server/models/userNotification';
const progressCount = 1000;
let count = 0;
async function updateUser (user) {
count++;
const addToSet = {
'purchased.plan.mysteryItems': {
$each: MYSTERY_ITEMS,
},
};
const push = {
notifications: (new UserNotification({
type: 'NEW_MYSTERY_ITEMS',
data: {
MYSTERY_ITEMS,
},
})).toJSON(),
};
const set = {
migration: MIGRATION_NAME,
};
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
return await User.update({_id: user._id}, {$set: set, $push: push, $addToSet: addToSet}).exec();
}
module.exports = async function processUsers () {
let query = {
migration: {$ne: MIGRATION_NAME},
'purchased.plan.customerId': { $ne: null },
$or: [
{ 'purchased.plan.dateTerminated': { $gte: new Date() } },
{ 'purchased.plan.dateTerminated': { $exists: false } },
{ 'purchased.plan.dateTerminated': { $eq: null } },
],
};
const fields = {
_id: 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
}
};

View File

@@ -1,14 +1,15 @@
/* eslint-disable no-console */
const MIGRATION_NAME = '20190314_pi_day';
import { v4 as uuid } from 'uuid';
import { model as User } from '../../website/server/models/user';
const MIGRATION_NAME = '20200314_pi_day';
const progressCount = 1000;
let count = 0;
async function updateUser (user) {
count++;
count *= 1;
const inc = {
'items.food.Pie_Skeleton': 1,
@@ -23,25 +24,37 @@ async function updateUser (user) {
'items.food.Pie_Red': 1,
};
const set = {};
let push;
set.migration = MIGRATION_NAME;
set['items.gear.owned.head_special_piDay'] = false;
set['items.gear.owned.shield_special_piDay'] = false;
const push = [
{type: 'marketGear', path: 'gear.flat.head_special_piDay', _id: uuid()},
{type: 'marketGear', path: 'gear.flat.shield_special_piDay', _id: uuid()},
];
if (typeof user.items.gear.owned.head_special_piDay !== 'undefined') {
push = false;
} else {
set['items.gear.owned.head_special_piDay'] = false;
set['items.gear.owned.shield_special_piDay'] = false;
push = [
{ type: 'marketGear', path: 'gear.flat.head_special_piDay', _id: uuid() },
{ type: 'marketGear', path: 'gear.flat.shield_special_piDay', _id: uuid() },
];
}
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
return await User.update({_id: user._id}, {$inc: inc, $set: set, $push: {pinnedItems: {$each: push}}}).exec();
if (push) {
return User
.update({ _id: user._id }, { $inc: inc, $set: set, $push: { pinnedItems: { $each: push } } })
.exec();
}
return User
.update({ _id: user._id }, { $inc: inc, $set: set })
.exec();
}
module.exports = async function processUsers () {
let query = {
migration: {$ne: MIGRATION_NAME},
'auth.timestamps.loggedin': {$gt: new Date('2019-02-15')},
export default async function processUsers () {
const query = {
migration: { $ne: MIGRATION_NAME },
'auth.timestamps.loggedin': { $gt: new Date('2020-02-15') },
};
const fields = {
@@ -53,7 +66,7 @@ module.exports = async function processUsers () {
const users = await User // eslint-disable-line no-await-in-loop
.find(query)
.limit(250)
.sort({_id: 1})
.sort({ _id: 1 })
.select(fields)
.lean()
.exec();
@@ -70,4 +83,4 @@ module.exports = async function processUsers () {
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
}
};
}

View File

@@ -1,3 +1,5 @@
import monk from 'monk'; // eslint-disable-line import/no-extraneous-dependencies
const migrationName = 'remove-social-users-extra-data.js';
const authorName = 'paglias'; // in case script author needs to know when their ...
const authorUuid = 'ed4c688c-6652-4a92-9d03-a5a79844174a'; // ... own data is done
@@ -7,13 +9,13 @@ const authorUuid = 'ed4c688c-6652-4a92-9d03-a5a79844174a'; // ... own data is do
*/
const connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
const monk = require('monk');
const dbUsers = monk(connectionString).get('users', { castIds: false });
function processUsers (lastId) {
// specify a query to limit the affected users (empty for all users):
let query = {
migration: {$ne: migrationName},
const query = {
migration: { $ne: migrationName },
$or: [
{ 'auth.facebook.id': { $exists: true } },
{ 'auth.google.id': { $exists: true } },
@@ -27,28 +29,28 @@ function processUsers (lastId) {
}
dbUsers.find(query, {
sort: {_id: 1},
sort: { _id: 1 },
limit: 250,
})
.then(updateUsers)
.catch((err) => {
.catch(err => {
console.log(err);
return exiting(1, `ERROR! ${ err}`);
return exiting(1, `ERROR! ${err}`);
});
}
let progressCount = 1000;
const progressCount = 1000;
let count = 0;
function updateUsers (users) {
if (!users || users.length === 0) {
console.warn('All appropriate users found and modified.');
displayData();
return;
return null;
}
let userPromises = users.map(updateUser);
let lastUser = users[users.length - 1];
const userPromises = users.map(updateUser);
const lastUser = users[users.length - 1];
return Promise.all(userPromises)
.then(() => {
@@ -57,7 +59,7 @@ function updateUsers (users) {
}
function updateUser (user) {
count++;
count *= 1;
const isFacebook = user.auth.facebook && user.auth.facebook.id;
const isGoogle = user.auth.google && user.auth.google.id;
@@ -82,28 +84,29 @@ function updateUser (user) {
_id: user._id,
}, update);
if (count % progressCount === 0) console.warn(`${count } ${ user._id}`);
if (user._id === authorUuid) console.warn(`${authorName } processed`);
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
if (user._id === authorUuid) console.warn(`${authorName} processed`);
}
function displayData () {
console.warn(`\n${ count } users processed\n`);
console.warn(`\n${count} users processed\n`);
return exiting(0);
}
function exiting (code, msg) {
code = code || 0; // 0 = success
// 0 = success
code = code || 0; // eslint-disable-line no-param-reassign
if (code && !msg) {
msg = 'ERROR!';
msg = 'ERROR!'; // eslint-disable-line no-param-reassign
}
if (msg) {
if (code) {
console.error(msg);
} else {
} else {
console.log(msg);
}
}
process.exit(code);
}
module.exports = processUsers;
export default processUsers;

View File

@@ -1,14 +1,15 @@
/* eslint-disable no-console */
const MIGRATION_NAME = '20181203_take_this';
import { v4 as uuid } from 'uuid';
import { model as User } from '../../website/server/models/user';
const MIGRATION_NAME = '20181203_take_this';
const progressCount = 1000;
let count = 0;
async function updateUser (user) {
count++;
count += 1;
const set = {};
let push;
@@ -19,36 +20,35 @@ async function updateUser (user) {
push = false;
} else if (typeof user.items.gear.owned.body_special_takeThis !== 'undefined') {
set['items.gear.owned.back_special_takeThis'] = false;
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.back_special_takeThis', _id: uuid()}};
push = { pinnedItems: { type: 'marketGear', path: 'gear.flat.back_special_takeThis', _id: uuid() } };
} else if (typeof user.items.gear.owned.head_special_takeThis !== 'undefined') {
set['items.gear.owned.body_special_takeThis'] = false;
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.body_special_takeThis', _id: uuid()}};
push = { pinnedItems: { type: 'marketGear', path: 'gear.flat.body_special_takeThis', _id: uuid() } };
} else if (typeof user.items.gear.owned.armor_special_takeThis !== 'undefined') {
set['items.gear.owned.head_special_takeThis'] = false;
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.head_special_takeThis', _id: uuid()}};
push = { pinnedItems: { type: 'marketGear', path: 'gear.flat.head_special_takeThis', _id: uuid() } };
} else if (typeof user.items.gear.owned.weapon_special_takeThis !== 'undefined') {
set['items.gear.owned.armor_special_takeThis'] = false;
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.armor_special_takeThis', _id: uuid()}};
push = { pinnedItems: { type: 'marketGear', path: 'gear.flat.armor_special_takeThis', _id: uuid() } };
} else if (typeof user.items.gear.owned.shield_special_takeThis !== 'undefined') {
set['items.gear.owned.weapon_special_takeThis'] = false;
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.weapon_special_takeThis', _id: uuid()}};
push = { pinnedItems: { type: 'marketGear', path: 'gear.flat.weapon_special_takeThis', _id: uuid() } };
} else {
set['items.gear.owned.shield_special_takeThis'] = false;
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.shield_special_takeThis', _id: uuid()}};
push = { pinnedItems: { type: 'marketGear', path: 'gear.flat.shield_special_takeThis', _id: uuid() } };
}
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
if (push) {
return await User.update({_id: user._id}, {$set: set, $push: push}).exec();
} else {
return await User.update({_id: user._id}, {$set: set}).exec();
return User.update({ _id: user._id }, { $set: set, $push: push }).exec();
}
return User.update({ _id: user._id }, { $set: set }).exec();
}
module.exports = async function processUsers () {
let query = {
migration: {$ne: MIGRATION_NAME},
export default async function processUsers () {
const query = {
migration: { $ne: MIGRATION_NAME },
challenges: '00708425-d477-41a5-bf27-6270466e7976',
};
@@ -61,7 +61,7 @@ module.exports = async function processUsers () {
const users = await User // eslint-disable-line no-await-in-loop
.find(query)
.limit(250)
.sort({_id: 1})
.sort({ _id: 1 })
.select(fields)
.lean()
.exec();
@@ -78,4 +78,4 @@ module.exports = async function processUsers () {
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
}
};
}

View File

@@ -1,3 +1,4 @@
/* eslint-disable import/no-commonjs */
/*
let migrationName = 'UserFromProdToTest';
let authorName = 'TheHollidayInn'; // in case script author needs to know when their ...
@@ -8,22 +9,24 @@ let authorUuid = ''; // ... own data is done
* This migraition will copy user data from prod to test
*/
let monk = require('monk');
let testConnectionSting = ''; // FOR TEST DATABASE
let usersTest = monk(testConnectionSting).get('users', { castIds: false });
let groupsTest = monk(testConnectionSting).get('groups', { castIds: false });
let challengesTest = monk(testConnectionSting).get('challenges', { castIds: false });
let tasksTest = monk(testConnectionSting).get('tasks', { castIds: false });
let monk2 = require('monk');
let liveConnectString = ''; // FOR TEST DATABASE
let userLive = monk2(liveConnectString).get('users', { castIds: false });
let groupsLive = monk2(liveConnectString).get('groups', { castIds: false });
let challengesLive = monk2(liveConnectString).get('challenges', { castIds: false });
let tasksLive = monk2(liveConnectString).get('tasks', { castIds: false });
import uniq from 'lodash/uniq';
const monk = require('monk'); // eslint-disable-line import/no-extraneous-dependencies
const testConnectionSting = ''; // FOR TEST DATABASE
const usersTest = monk(testConnectionSting).get('users', { castIds: false });
const groupsTest = monk(testConnectionSting).get('groups', { castIds: false });
const challengesTest = monk(testConnectionSting).get('challenges', { castIds: false });
const tasksTest = monk(testConnectionSting).get('tasks', { castIds: false });
const monk2 = require('monk'); // eslint-disable-line import/no-extraneous-dependencies
const liveConnectString = ''; // FOR TEST DATABASE
const userLive = monk2(liveConnectString).get('users', { castIds: false });
const groupsLive = monk2(liveConnectString).get('groups', { castIds: false });
const challengesLive = monk2(liveConnectString).get('challenges', { castIds: false });
const tasksLive = monk2(liveConnectString).get('tasks', { castIds: false });
// Variabls for updating
/*
let userIds = [
@@ -36,11 +39,11 @@ let challengeIds = [];
let tasksIds = [];
async function processUsers () {
let userPromises = [];
const userPromises = [];
// {_id: {$in: userIds}}
return userLive.find({guilds: 'b0764d64-8276-45a1-afa5-5ca9a5c64ca0'})
.each((user) => {
return userLive.find({ guilds: 'b0764d64-8276-45a1-afa5-5ca9a5c64ca0' })
.each(user => {
if (user.guilds.length > 0) groupIds = groupIds.concat(user.guilds);
if (user.party._id) groupIds.push(user.party._id);
if (user.challenges.length > 0) challengeIds = challengeIds.concat(user.challenges);
@@ -49,64 +52,56 @@ async function processUsers () {
if (user.tasksOrder.dailys.length > 0) tasksIds = tasksIds.concat(user.tasksOrder.dailys);
if (user.tasksOrder.habits.length > 0) tasksIds = tasksIds.concat(user.tasksOrder.habits);
let userPromise = usersTest.update({_id: user._id}, user, {upsert: true});
const userPromise = usersTest.update({ _id: user._id }, user, { upsert: true });
userPromises.push(userPromise);
}).then(() => {
return Promise.all(userPromises);
})
}).then(() => Promise.all(userPromises))
.then(() => {
console.log('Done User');
});
}
function processGroups () {
let promises = [];
let groupsToQuery = uniq(groupIds);
return groupsLive.find({_id: {$in: groupsToQuery}})
.each((group) => {
let promise = groupsTest.update({_id: group._id}, group, {upsert: true});
const promises = [];
const groupsToQuery = uniq(groupIds);
return groupsLive.find({ _id: { $in: groupsToQuery } })
.each(group => {
const promise = groupsTest.update({ _id: group._id }, group, { upsert: true });
promises.push(promise);
}).then(() => {
return Promise.all(promises);
})
}).then(() => Promise.all(promises))
.then(() => {
console.log('Done Group');
});
}
function processChallenges () {
let promises = [];
let challengesToQuery = uniq(challengeIds);
return challengesLive.find({_id: {$in: challengesToQuery}})
.each((challenge) => {
let promise = challengesTest.update({_id: challenge._id}, challenge, {upsert: true});
const promises = [];
const challengesToQuery = uniq(challengeIds);
return challengesLive.find({ _id: { $in: challengesToQuery } })
.each(challenge => {
const promise = challengesTest.update({ _id: challenge._id }, challenge, { upsert: true });
promises.push(promise);
}).then(() => {
return Promise.all(promises);
})
}).then(() => Promise.all(promises))
.then(() => {
console.log('Done Challenge');
});
}
function processTasks () {
let promises = [];
let tasksToQuery = uniq(tasksIds);
return tasksLive.find({_id: {$in: tasksToQuery}})
.each((task) => {
let promise = tasksTest.update({_id: task._id}, task, {upsert: true});
const promises = [];
const tasksToQuery = uniq(tasksIds);
return tasksLive.find({ _id: { $in: tasksToQuery } })
.each(task => {
const promise = tasksTest.update({ _id: task._id }, task, { upsert: true });
promises.push(promise);
}).then(() => {
return Promise.all(promises);
})
}).then(() => Promise.all(promises))
.then(() => {
console.log('Done Tasks');
});
}
module.exports = async function prodToTest () {
export default async function prodToTest () {
await processUsers();
await processGroups();
await processChallenges();
await processTasks();
};
}

View File

@@ -1,6 +1,5 @@
'use strict';
const MongoClient = require('mongodb').MongoClient;
/* eslint-disable import/no-commonjs */
const { MongoClient } = require('mongodb'); // eslint-disable-line import/no-extraneous-dependencies
const logger = require('./logger');
let dbConnection;
@@ -17,7 +16,7 @@ function connectToDb (dbUri) {
logger.success(`Connected to ${dbUri}`);
resolve(database);
return resolve(database);
});
});
}

View File

@@ -1,10 +1,11 @@
'use strict';
const chalk = require('chalk');
/* eslint-disable import/no-commonjs */
const chalk = require('chalk'); // eslint-disable-line import/no-extraneous-dependencies
function loggerGenerator (type, color) {
return function logger () {
let args = Array.from(arguments).map(arg => chalk[color](arg));
const args = Array
.from(arguments) // eslint-disable-line prefer-rest-params
.map(arg => chalk[color](arg));
console[type].apply(null, args);
};
}

View File

@@ -1,30 +1,30 @@
'use strict';
let logger = require('./logger');
/* eslint-disable import/no-commonjs */
const logger = require('./logger');
class Timer {
constructor (options) {
options = options || {};
let warningThreshold = options.minutesWarningThreshold || 10;
constructor (options = {}) {
const warningThreshold = options.minutesWarningThreshold || 10;
this.count = 0;
this._minutesWarningThreshold = warningThreshold * 60;
if (!options.disableAutoStart) this.start();
}
start () {
this._internalTimer = setInterval(() => {
this.count++;
this.count *= 1;
let shouldWarn = this._minutesWarningThreshold < this.count;
let logStyle = shouldWarn ? 'error' : 'warn';
let dangerMessage = shouldWarn ? 'DANGER: ' : '';
const shouldWarn = this._minutesWarningThreshold < this.count;
const logStyle = shouldWarn ? 'error' : 'warn';
const dangerMessage = shouldWarn ? 'DANGER: ' : '';
if (this.count % 30 === 0) {
logger[logStyle](`${dangerMessage}Process has been running for`, this.count / 60, 'minutes');
}
}, 1000);
}
stop () {
if (!this._internalTimer) {
throw new Error('Timer has not started');

View File

@@ -1,5 +1,4 @@
'use strict';
/* eslint-disable import/no-commonjs */
function unique (array) {
return Array.from(new Set(array));
}

21650
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,120 +1,78 @@
{
"name": "habitica",
"description": "A habit tracker app which treats your goals like a Role Playing Game.",
"version": "4.116.1",
"version": "4.145.1",
"main": "./website/server/index.js",
"dependencies": {
"@google-cloud/trace-agent": "^4.0.0",
"@slack/client": "^3.8.1",
"@babel/core": "^7.10.2",
"@babel/preset-env": "^7.10.2",
"@babel/register": "^7.10.1",
"@google-cloud/trace-agent": "^5.0.0",
"@slack/client": "^4.12.0",
"accepts": "^1.3.5",
"amazon-payments": "^0.2.7",
"amazon-payments": "^0.2.8",
"amplitude": "^3.5.0",
"amplitude-js": "^5.2.2",
"apidoc": "^0.17.5",
"apn": "^2.2.0",
"autoprefixer": "^9.4.0",
"aws-sdk": "^2.432.0",
"axios": "^0.19.0",
"axios-progress-bar": "^1.2.0",
"babel-core": "^6.26.3",
"babel-eslint": "^8.2.3",
"babel-loader": "^7.1.4",
"babel-plugin-syntax-async-functions": "^6.13.0",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-plugin-transform-es2015-modules-commonjs": "^6.26.2",
"babel-plugin-transform-object-rest-spread": "^6.16.0",
"babel-plugin-transform-regenerator": "^6.16.1",
"babel-polyfill": "^6.6.1",
"babel-preset-es2015": "^6.6.0",
"babel-register": "^6.6.0",
"babel-runtime": "^6.11.6",
"bcrypt": "^3.0.6",
"apple-auth": "^1.0.6",
"bcrypt": "^3.0.8",
"body-parser": "^1.18.3",
"bootstrap": "^4.1.1",
"bootstrap-vue": "^2.0.2",
"compression": "^1.7.4",
"cookie-session": "^1.3.3",
"cookie-session": "^1.4.0",
"coupon-code": "^0.4.5",
"cross-env": "^6.0.0",
"css-loader": "^0.28.11",
"csv-stringify": "^5.1.0",
"csv-stringify": "^5.5.0",
"cwait": "^1.1.1",
"domain-middleware": "~0.1.0",
"eslint": "^6.8.0",
"eslint-config-habitrpg": "^6.2.0",
"eslint-plugin-mocha": "^5.0.0",
"express": "^4.16.3",
"express-basic-auth": "^1.1.5",
"express-validator": "^5.2.0",
"extract-text-webpack-plugin": "^3.0.2",
"glob": "^7.1.2",
"got": "^9.0.0",
"glob": "^7.1.6",
"got": "^10.7.0",
"gulp": "^4.0.0",
"gulp-babel": "^7.0.1",
"gulp-imagemin": "^6.0.0",
"gulp-nodemon": "^2.4.1",
"gulp-babel": "^8.0.0",
"gulp-imagemin": "^6.2.0",
"gulp-nodemon": "^2.5.0",
"gulp.spritesmith": "^6.9.0",
"habitica-markdown": "^1.3.0",
"hellojs": "^1.18.1",
"helmet": "^3.21.0",
"html-webpack-plugin": "^3.2.0",
"image-size": "^0.8.0",
"habitica-markdown": "^2.0.0",
"helmet": "^3.22.0",
"image-size": "^0.8.3",
"in-app-purchase": "^1.11.3",
"intro.js": "^2.9.3",
"jquery": ">=3.0.0",
"js2xmlparser": "^4.0.0",
"lodash": "^4.17.10",
"js2xmlparser": "^4.0.1",
"jsonwebtoken": "^8.5.1",
"jwks-rsa": "^1.8.0",
"lodash": "^4.17.15",
"merge-stream": "^2.0.0",
"method-override": "^3.0.0",
"moment": "^2.22.1",
"moment": "^2.26.0",
"moment-recur": "^1.0.7",
"mongoose": "^5.6.9",
"morgan": "^1.7.0",
"mongoose": "^5.9.18",
"morgan": "^1.10.0",
"nconf": "^0.10.0",
"node-gcm": "^1.0.2",
"node-sass": "^4.12.0",
"ora": "^3.2.0",
"pageres": "^5.1.0",
"passport": "^0.4.0",
"on-headers": "^1.0.2",
"passport": "^0.4.1",
"passport-facebook": "^3.0.0",
"passport-google-oauth2": "^0.2.0",
"passport-google-oauth20": "1.0.0",
"paypal-ipn": "3.0.0",
"paypal-rest-sdk": "^1.8.1",
"popper.js": "^1.14.3",
"postcss-easy-import": "^3.0.0",
"ps-tree": "^1.0.0",
"pug": "^2.0.3",
"regenerator-runtime": "^0.13.3",
"rimraf": "^2.4.3",
"sass-loader": "^7.0.3",
"shelljs": "^0.8.2",
"regenerator-runtime": "^0.13.5",
"remove-markdown": "^0.3.0",
"rimraf": "^3.0.2",
"short-uuid": "^3.0.0",
"smartbanner.js": "^1.11.0",
"stripe": "^7.9.0",
"superagent": "^5.0.2",
"svg-inline-loader": "^0.8.0",
"svg-url-loader": "^3.0.0",
"svgo": "^1.2.0",
"svgo-loader": "^2.1.0",
"stripe": "^7.15.0",
"superagent": "^5.2.2",
"universal-analytics": "^0.4.17",
"update": "^0.7.4",
"upgrade": "^1.1.0",
"url-loader": "^1.0.0",
"useragent": "^2.1.9",
"uuid": "^3.0.1",
"uuid": "^3.4.0",
"validator": "^11.0.0",
"vinyl-buffer": "^1.0.1",
"vue": "^2.6.10",
"vue-loader": "^14.2.2",
"vue-mugen-scroll": "^0.2.1",
"vue-router": "^3.0.0",
"vue-style-loader": "^4.1.0",
"vue-template-compiler": "^2.6.10",
"vuedraggable": "^2.20.0",
"vuejs-datepicker": "git://github.com/habitrpg/vuejs-datepicker.git#5d237615463a84a23dd6f3f77c6ab577d68593ec",
"webpack": "^3.12.0",
"webpack-merge": "^4.1.3",
"winston": "^2.4.3",
"winston-loggly-bulk": "^2.0.2",
"xml2js": "^0.4.4"
"winston": "^3.2.1",
"winston-loggly-bulk": "^3.1.0",
"xml2js": "^0.4.23"
},
"private": true,
"engines": {
@@ -122,7 +80,8 @@
"npm": "^6"
},
"scripts": {
"lint": "eslint --ext .js,.vue .",
"lint": "eslint --ext .js --fix . && cd website/client && npm run lint",
"lint-no-fix": "eslint --ext .js . && cd website/client && npm run lint-no-fix",
"test": "npm run lint && gulp test && gulp apidoc",
"test:build": "gulp test:prepare:build",
"test:api-v3": "gulp test:api-v3",
@@ -137,60 +96,27 @@
"test:nodemon": "gulp test:nodemon",
"coverage": "COVERAGE=true mocha --require register-handlers.js --reporter html-cov > coverage.html; open coverage.html",
"sprites": "gulp sprites:compile",
"client:dev": "node webpack/dev-server.js",
"client:build": "gulp build:client",
"client:unit": "cross-env NODE_ENV=test karma start test/client/unit/karma.conf.js --single-run",
"client:unit:watch": "cross-env NODE_ENV=test karma start test/client/unit/karma.conf.js",
"client:e2e": "node test/client/e2e/runner.js",
"client:test": "npm run client:unit && npm run client:e2e",
"client:dev": "cd website/client && npm run serve",
"client:build": "cd website/client && npm run build",
"client:unit": "cd website/client && npm run test:unit",
"start": "gulp nodemon",
"postinstall": "gulp build",
"debug": "gulp nodemon --inspect",
"postinstall": "gulp build && cd website/client && npm install",
"apidoc": "gulp apidoc"
},
"devDependencies": {
"@vue/test-utils": "^1.0.0-beta.29",
"babel-plugin-istanbul": "^4.1.6",
"babel-plugin-syntax-object-rest-spread": "^6.13.0",
"axios": "^0.19.2",
"chai": "^4.1.2",
"chai-as-promised": "^7.1.1",
"chalk": "^2.4.1",
"chromedriver": "^77.0.0",
"connect-history-api-fallback": "^1.1.0",
"cross-spawn": "^7.0.0",
"eslint": "^4.19.1",
"eslint-config-habitrpg": "^4.0.0",
"eslint-friendly-formatter": "^4.0.1",
"eslint-loader": "^2.0.0",
"eslint-plugin-html": "^4.0.3",
"eslint-plugin-mocha": "^5.0.0",
"eventsource-polyfill": "^0.9.6",
"chalk": "^3.0.0",
"expect.js": "^0.3.1",
"http-proxy-middleware": "^0.20.0",
"istanbul": "^1.1.0-alpha.1",
"karma": "^4.0.1",
"karma-babel-preprocessor": "^7.0.0",
"karma-chai-plugins": "^0.9.0",
"karma-chrome-launcher": "^3.0.0",
"karma-coverage": "^1.1.2",
"karma-mocha": "^1.3.0",
"karma-mocha-reporter": "^2.2.5",
"karma-sinon-chai": "^2.0.0",
"karma-sinon-stub-promise": "^1.0.0",
"karma-sourcemap-loader": "^0.3.7",
"karma-spec-reporter": "0.0.32",
"karma-webpack": "^3.0.0",
"mocha": "^5.1.1",
"monk": "^6.0.6",
"nightwatch": "^1.0.16",
"puppeteer": "^1.14.0",
"monk": "^7.3.0",
"require-again": "^2.0.0",
"selenium-server": "^3.12.0",
"sinon": "^7.2.4",
"sinon-chai": "^3.0.0",
"sinon-stub-promise": "^4.0.0",
"webpack-bundle-analyzer": "^2.12.0",
"webpack-dev-middleware": "^2.0.5",
"webpack-hot-middleware": "^2.22.2"
"sinon-chai": "^3.5.0",
"sinon-stub-promise": "^4.0.0"
},
"optionalDependencies": {}
}

View File

@@ -1,13 +1,13 @@
/* eslint-disable no-console */
import axios from 'axios';
import { model as User } from '../website/server/models/user';
/* eslint-disable no-console, import/no-commonjs */
import axios from 'axios'; // eslint-disable-line import/no-extraneous-dependencies
import nconf from 'nconf';
import { model as User } from '../website/server/models/user';
const AMPLITUDE_KEY = nconf.get('AMPLITUDE_KEY');
const AMPLITUDE_SECRET = nconf.get('AMPLITUDE_SECRET');
const BASE_URL = nconf.get('BASE_URL');
async function _deleteAmplitudeData (userId, email) {
async function deleteAmplitudeData (userId, email) {
const response = await axios.post(
'https://amplitude.com/api/2/deletions/users',
{
@@ -19,22 +19,31 @@ async function _deleteAmplitudeData (userId, email) {
username: AMPLITUDE_KEY,
password: AMPLITUDE_SECRET,
},
}
).catch((err) => {
},
).catch(err => {
console.log(err.response.data);
});
if (response) console.log(`${response.status} ${response.statusText}`);
if (response) {
if (response.status === 200) {
console.log(`${userId} (${email}) Amplitude deletion request OK.`);
} else {
console.log(`${userId} (${email}) Amplitude response: ${response.status} ${response.statusText}`);
}
}
}
async function _deleteHabiticaData (user, email) {
async function deleteHabiticaData (user, email) {
const truncatedEmail = email.slice(0, email.indexOf('@'));
await User.update(
{_id: user._id},
{$set: {
'auth.local.email': email,
'auth.local.hashed_password': '$2a$10$QDnNh1j1yMPnTXDEOV38xOePEWFd4X8DSYwAM8XTmqmacG5X0DKjW',
'auth.local.passwordHashMethod': 'bcrypt',
}}
{ _id: user._id },
{
$set: {
'auth.local.email': user.auth.local.email ? email : `${truncatedEmail}@example.com`,
'auth.local.hashed_password': '$2a$10$QDnNh1j1yMPnTXDEOV38xOePEWFd4X8DSYwAM8XTmqmacG5X0DKjW',
'auth.local.passwordHashMethod': 'bcrypt',
},
},
);
const response = await axios.delete(
`${BASE_URL}/api/v3/user`,
@@ -46,44 +55,52 @@ async function _deleteHabiticaData (user, email) {
'x-api-user': user._id,
'x-api-key': user.apiToken,
},
}
).catch((err) => {
},
).catch(err => {
console.log(err.response.data);
});
if (response) {
console.log(`${response.status} ${response.statusText}`);
if (response.status === 200) console.log(`${user._id} (${email}) removed. Last login: ${user.auth.timestamps.loggedin}`);
}
}
async function _processEmailAddress (email) {
const emailRegex = new RegExp(`^${email}$`, 'i');
const users = await User.find({
$or: [
{'auth.local.email': emailRegex},
{'auth.facebook.emails.value': emailRegex},
{'auth.google.emails.value': emailRegex},
]},
{
_id: 1,
apiToken: 1,
auth: 1,
}).exec();
if (users.length < 1) {
console.log(`No users found with email address ${email}`);
} else {
for (const user of users) {
await _deleteAmplitudeData(user._id, email); // eslint-disable-line no-await-in-loop
await _deleteHabiticaData(user, email); // eslint-disable-line no-await-in-loop
if (response.status === 200) {
console.log(`${user._id} (${email}) removed from Habitica. Last login: ${user.auth.timestamps.loggedin}`);
} else {
console.log(`${user._id} (${email}) Habitica response: ${response.status} ${response.statusText}`);
}
}
}
function deleteUserData (emails) {
const emailPromises = emails.map(_processEmailAddress);
return Promise.all(emailPromises);
async function processEmailAddress (email) {
const emailRegex = new RegExp(`^${email}$`, 'i');
const localUsers = await User.find(
{ 'auth.local.email': emailRegex },
{ _id: 1, apiToken: 1, auth: 1 },
).exec();
const socialUsers = await User.find(
{
$or: [
{ 'auth.facebook.emails.value': email },
{ 'auth.google.emails.value': email },
],
},
{ _id: 1, apiToken: 1, auth: 1 },
).collation(
{ locale: 'en', strength: 1 },
).exec();
const users = localUsers.concat(socialUsers);
if (users.length < 1) {
return console.log(`No users found with email address ${email}`);
}
return Promise.all(users.map(user => (async () => {
await deleteAmplitudeData(user._id, email); // eslint-disable-line no-await-in-loop
await deleteHabiticaData(user, email); // eslint-disable-line no-await-in-loop
})()));
}
module.exports = deleteUserData;
export default function deleteUserData (emails) {
const emailPromises = emails.map(processEmailAddress);
return Promise.all(emailPromises);
}

View File

@@ -1,8 +1,12 @@
require('babel-register');
/* eslint-disable import/no-commonjs */
require('@babel/register'); // eslint-disable-line import/no-extraneous-dependencies
// This file is used for creating paypal billing plans. PayPal doesn't have a web interface for setting up recurring
// payment plan definitions, instead you have to create it via their REST SDK and keep it updated the same way. So this
// file will be used once for initing your billing plan (then you get the resultant plan.id to store in config.json),
// This file is used for creating paypal billing plans.
// PayPal doesn't have a web interface for setting up recurring
// payment plan definitions, instead you have to create it
// via their REST SDK and keep it updated the same way. So this
// file will be used once for initing your billing plan
// (then you get the resultant plan.id to store in config.json),
// and once for any time you need to edit the plan thereafter
/* eslint-disable no-console, camelcase, no-case-declarations */
@@ -12,11 +16,12 @@ const nconf = require('nconf');
const _ = require('lodash');
const paypal = require('paypal-rest-sdk');
const blocks = require('../website/common').content.subscriptionBlocks;
const live = nconf.get('PAYPAL_MODE') === 'live';
nconf.argv().env().file('user', path.join(path.resolve(__dirname, '../config.json')));
let OP = 'create'; // list get update create create-webprofile
const OP = 'create'; // list get update create create-webprofile
paypal.configure({
mode: nconf.get('PAYPAL_MODE'), // sandbox or live
@@ -25,8 +30,8 @@ paypal.configure({
});
// https://developer.paypal.com/docs/api/#billing-plans-and-agreements
let billingPlanTitle = 'Habitica Subscription';
let billingPlanAttributes = {
const billingPlanTitle = 'Habitica Subscription';
const billingPlanAttributes = {
description: billingPlanTitle,
type: 'INFINITE',
merchant_preferences: {
@@ -41,7 +46,7 @@ let billingPlanAttributes = {
}],
};
_.each(blocks, (block) => {
_.each(blocks, block => {
block.definition = _.cloneDeep(billingPlanAttributes);
_.merge(block.definition.payment_definitions[0], {
name: `${billingPlanTitle} ($${block.price} every ${block.months} months, recurring)`,
@@ -57,17 +62,17 @@ _.each(blocks, (block) => {
switch (OP) {
case 'list':
paypal.billingPlan.list({status: 'ACTIVE'}, (err, plans) => {
console.log({err, plans});
paypal.billingPlan.list({ status: 'ACTIVE' }, (err, plans) => {
console.log({ err, plans });
});
break;
case 'get':
paypal.billingPlan.get(nconf.get('PAYPAL_BILLING_PLANS_basic_12mo'), (err, plan) => {
console.log({err, plan});
console.log({ err, plan });
});
break;
case 'update':
let updatePayload = {
const updatePayload = {
op: 'replace',
path: '/merchant_preferences',
value: {
@@ -75,7 +80,7 @@ switch (OP) {
},
};
paypal.billingPlan.update(nconf.get('PAYPAL_BILLING_PLANS_basic_12mo'), updatePayload, (err, res) => {
console.log({err, plan: res});
console.log({ err, plan: res });
});
break;
case 'create':
@@ -83,10 +88,10 @@ switch (OP) {
if (err) return console.log(err);
if (plan.state === 'ACTIVE') {
return console.log({err, plan});
return console.log({ err, plan });
}
let billingPlanUpdateAttributes = [{
const billingPlanUpdateAttributes = [{
op: 'replace',
path: '/',
value: {
@@ -96,12 +101,14 @@ switch (OP) {
// Activate the plan by changing status to Active
paypal.billingPlan.update(plan.id, billingPlanUpdateAttributes, (err2, response) => {
console.log({err: err2, response, id: plan.id});
console.log({ err: err2, response, id: plan.id });
});
return null;
});
break;
case 'create-webprofile':
let webexpinfo = {
const webexpinfo = {
name: 'HabiticaProfile',
input_fields: {
no_shipping: 1,
@@ -112,4 +119,6 @@ switch (OP) {
console.log(error, result);
});
break;
default:
throw new Error('Invalid op');
}

View File

@@ -1,12 +0,0 @@
{
"extends": [
"habitrpg/mocha",
"habitrpg/esnext"
],
"env": {
"node": true,
},
"globals": {
"_": true,
}
}

12
test/.eslintrc.js Normal file
View File

@@ -0,0 +1,12 @@
module.exports = {
extends: [
'habitrpg/lib/mocha',
],
globals: {
_: true,
chai: true,
expect: true,
sinon: true,
sandbox: true
},
}

View File

@@ -1,7 +1,7 @@
/* eslint-disable camelcase */
import analyticsService from '../../../../website/server/libs/analyticsService';
import Amplitude from 'amplitude';
import { Visitor } from 'universal-analytics';
import * as analyticsService from '../../../../website/server/libs/analyticsService';
describe('analyticsService', () => {
beforeEach(() => {
@@ -16,7 +16,8 @@ describe('analyticsService', () => {
});
describe('#track', () => {
let eventType, data;
let eventType; let
data;
beforeEach(() => {
Visitor.prototype.event.yields();
@@ -35,12 +36,10 @@ describe('analyticsService', () => {
});
context('Amplitude', () => {
it('calls out to amplitude', () => {
return analyticsService.track(eventType, data)
.then(() => {
expect(Amplitude.prototype.track).to.be.calledOnce;
});
});
it('calls out to amplitude', () => analyticsService.track(eventType, data)
.then(() => {
expect(Amplitude.prototype.track).to.be.calledOnce;
}));
it('uses a dummy user id if none is provided', () => {
delete data.uuid;
@@ -55,7 +54,7 @@ describe('analyticsService', () => {
context('platform', () => {
it('logs web platform', () => {
data.headers = {'x-client': 'habitica-web'};
data.headers = { 'x-client': 'habitica-web' };
return analyticsService.track(eventType, data)
.then(() => {
@@ -66,7 +65,7 @@ describe('analyticsService', () => {
});
it('logs iOS platform', () => {
data.headers = {'x-client': 'habitica-ios'};
data.headers = { 'x-client': 'habitica-ios' };
return analyticsService.track(eventType, data)
.then(() => {
@@ -77,7 +76,7 @@ describe('analyticsService', () => {
});
it('logs Android platform', () => {
data.headers = {'x-client': 'habitica-android'};
data.headers = { 'x-client': 'habitica-android' };
return analyticsService.track(eventType, data)
.then(() => {
@@ -88,7 +87,7 @@ describe('analyticsService', () => {
});
it('logs 3rd Party platform', () => {
data.headers = {'x-client': 'some-third-party'};
data.headers = { 'x-client': 'some-third-party' };
return analyticsService.track(eventType, data)
.then(() => {
@@ -156,7 +155,7 @@ describe('analyticsService', () => {
});
});
it('sets Unkown if headers are not passed in', () => {
it('sets Unknown if headers are not passed in', () => {
delete data.headers;
return analyticsService.track(eventType, data)
@@ -169,18 +168,16 @@ describe('analyticsService', () => {
});
});
it('sends details about event', () => {
return analyticsService.track(eventType, data)
.then(() => {
expect(Amplitude.prototype.track).to.be.calledWithMatch({
event_properties: {
category: 'behavior',
resting: true,
cronCount: 5,
},
});
it('sends details about event', () => analyticsService.track(eventType, data)
.then(() => {
expect(Amplitude.prototype.track).to.be.calledWithMatch({
event_properties: {
category: 'behavior',
resting: true,
cronCount: 5,
},
});
});
}));
it('sends english item name for gear if itemKey is provided', () => {
data.itemKey = 'headAccessory_special_foxEars';
@@ -267,16 +264,18 @@ describe('analyticsService', () => {
});
it('sends user data if provided', () => {
let stats = { class: 'wizard', exp: 5, gp: 23, hp: 10, lvl: 4, mp: 30 };
let user = {
const stats = {
class: 'wizard', exp: 5, gp: 23, hp: 10, lvl: 4, mp: 30,
};
const user = {
stats,
contributor: { level: 1 },
purchased: { plan: { planId: 'foo-plan' } },
flags: {tour: {intro: -2}},
habits: [{_id: 'habit'}],
dailys: [{_id: 'daily'}],
todos: [{_id: 'todo'}],
rewards: [{_id: 'reward'}],
flags: { tour: { intro: -2 } },
habits: [{ _id: 'habit' }],
dailys: [{ _id: 'daily' }],
todos: [{ _id: 'todo' }],
rewards: [{ _id: 'reward' }],
balance: 12,
loginIncentives: 1,
};
@@ -312,27 +311,24 @@ describe('analyticsService', () => {
});
context('GA', () => {
it('calls out to GA', () => {
return analyticsService.track(eventType, data)
.then(() => {
expect(Visitor.prototype.event).to.be.calledOnce;
});
});
it('calls out to GA', () => analyticsService.track(eventType, data)
.then(() => {
expect(Visitor.prototype.event).to.be.calledOnce;
}));
it('sends details about event', () => {
return analyticsService.track(eventType, data)
.then(() => {
expect(Visitor.prototype.event).to.be.calledWith({
ea: 'Cron',
ec: 'behavior',
});
it('sends details about event', () => analyticsService.track(eventType, data)
.then(() => {
expect(Visitor.prototype.event).to.be.calledWith({
ea: 'Cron',
ec: 'behavior',
});
});
}));
});
});
describe('#trackPurchase', () => {
let data, itemSpy;
let data; let
itemSpy;
beforeEach(() => {
Visitor.prototype.event.yields();
@@ -361,12 +357,10 @@ describe('analyticsService', () => {
});
context('Amplitude', () => {
it('calls out to amplitude', () => {
return analyticsService.trackPurchase(data)
.then(() => {
expect(Amplitude.prototype.track).to.be.calledOnce;
});
});
it('calls out to amplitude', () => analyticsService.trackPurchase(data)
.then(() => {
expect(Amplitude.prototype.track).to.be.calledOnce;
}));
it('uses a dummy user id if none is provided', () => {
delete data.uuid;
@@ -381,7 +375,7 @@ describe('analyticsService', () => {
context('platform', () => {
it('logs web platform', () => {
data.headers = {'x-client': 'habitica-web'};
data.headers = { 'x-client': 'habitica-web' };
return analyticsService.trackPurchase(data)
.then(() => {
@@ -392,7 +386,7 @@ describe('analyticsService', () => {
});
it('logs iOS platform', () => {
data.headers = {'x-client': 'habitica-ios'};
data.headers = { 'x-client': 'habitica-ios' };
return analyticsService.trackPurchase(data)
.then(() => {
@@ -403,7 +397,7 @@ describe('analyticsService', () => {
});
it('logs Android platform', () => {
data.headers = {'x-client': 'habitica-android'};
data.headers = { 'x-client': 'habitica-android' };
return analyticsService.trackPurchase(data)
.then(() => {
@@ -414,7 +408,7 @@ describe('analyticsService', () => {
});
it('logs 3rd Party platform', () => {
data.headers = {'x-client': 'some-third-party'};
data.headers = { 'x-client': 'some-third-party' };
return analyticsService.trackPurchase(data)
.then(() => {
@@ -482,7 +476,7 @@ describe('analyticsService', () => {
});
});
it('sets Unkown if headers are not passed in', () => {
it('sets Unknown if headers are not passed in', () => {
delete data.headers;
return analyticsService.trackPurchase(data)
@@ -495,33 +489,33 @@ describe('analyticsService', () => {
});
});
it('sends details about purchase', () => {
return analyticsService.trackPurchase(data)
.then(() => {
expect(Amplitude.prototype.track).to.be.calledWithMatch({
event_properties: {
gift: false,
itemPurchased: 'Gems',
paymentMethod: 'PayPal',
purchaseType: 'checkout',
quantity: 1,
sku: 'paypal-checkout',
},
});
it('sends details about purchase', () => analyticsService.trackPurchase(data)
.then(() => {
expect(Amplitude.prototype.track).to.be.calledWithMatch({
event_properties: {
gift: false,
itemPurchased: 'Gems',
paymentMethod: 'PayPal',
purchaseType: 'checkout',
quantity: 1,
sku: 'paypal-checkout',
},
});
});
}));
it('sends user data if provided', () => {
let stats = { class: 'wizard', exp: 5, gp: 23, hp: 10, lvl: 4, mp: 30 };
let user = {
const stats = {
class: 'wizard', exp: 5, gp: 23, hp: 10, lvl: 4, mp: 30,
};
const user = {
stats,
contributor: { level: 1 },
purchased: { plan: { planId: 'foo-plan' } },
flags: {tour: {intro: -2}},
habits: [{_id: 'habit'}],
dailys: [{_id: 'daily'}],
todos: [{_id: 'todo'}],
rewards: [{_id: 'reward'}],
flags: { tour: { intro: -2 } },
habits: [{ _id: 'habit' }],
dailys: [{ _id: 'daily' }],
todos: [{ _id: 'todo' }],
rewards: [{ _id: 'reward' }],
};
data.user = user;
@@ -552,27 +546,23 @@ describe('analyticsService', () => {
});
context('GA', () => {
it('calls out to GA', () => {
return analyticsService.trackPurchase(data)
.then(() => {
expect(Visitor.prototype.event).to.be.calledOnce;
expect(Visitor.prototype.transaction).to.be.calledOnce;
});
});
it('calls out to GA', () => analyticsService.trackPurchase(data)
.then(() => {
expect(Visitor.prototype.event).to.be.calledOnce;
expect(Visitor.prototype.transaction).to.be.calledOnce;
}));
it('sends details about purchase', () => {
return analyticsService.trackPurchase(data)
.then(() => {
expect(Visitor.prototype.event).to.be.calledWith({
ea: 'checkout',
ec: 'commerce',
el: 'PayPal',
ev: 8,
});
expect(Visitor.prototype.transaction).to.be.calledWith('user-id', 8);
expect(itemSpy).to.be.calledWith(8, 1, 'paypal-checkout', 'Gems', 'checkout');
it('sends details about purchase', () => analyticsService.trackPurchase(data)
.then(() => {
expect(Visitor.prototype.event).to.be.calledWith({
ea: 'checkout',
ec: 'commerce',
el: 'PayPal',
ev: 8,
});
});
expect(Visitor.prototype.transaction).to.be.calledWith('user-id', 8);
expect(itemSpy).to.be.calledWith(8, 1, 'paypal-checkout', 'Gems', 'checkout');
}));
});
});

View File

@@ -11,7 +11,7 @@ describe('API Messages', () => {
});
it('clones the passed variables', () => {
let vars = {a: 1};
const vars = { a: 1 };
sandbox.stub(_, 'clone').returns({});
apiError('guildsOnlyPaginate', vars);
expect(_.clone).to.have.been.calledOnce;
@@ -19,8 +19,8 @@ describe('API Messages', () => {
});
it('pass the message through _.template', () => {
let vars = {a: 1};
let stub = sinon.stub().returns('string');
const vars = { a: 1 };
const stub = sinon.stub().returns('string');
sandbox.stub(_, 'template').returns(stub);
apiError('guildsOnlyPaginate', vars);
expect(_.template).to.have.been.calledOnce;

View File

@@ -1,5 +1,5 @@
import baseModel from '../../../../website/server/libs/baseModel';
import mongoose from 'mongoose';
import baseModel from '../../../../website/server/libs/baseModel';
describe('Base model plugin', () => {
let schema;
@@ -25,7 +25,7 @@ describe('Base model plugin', () => {
});
it('can add timestamps fields', () => {
schema.plugin(baseModel, {timestamps: true});
schema.plugin(baseModel, { timestamps: true });
expect(schema.add).to.be.calledTwice;
});
@@ -36,7 +36,7 @@ describe('Base model plugin', () => {
});
expect(schema.statics.sanitize).to.exist;
let sanitized = schema.statics.sanitize({ok: true, noUpdateForMe: true});
const sanitized = schema.statics.sanitize({ ok: true, noUpdateForMe: true });
expect(sanitized).to.have.property('ok');
expect(sanitized).not.to.have.property('noUpdateForMe');
@@ -49,7 +49,7 @@ describe('Base model plugin', () => {
});
expect(schema.statics.sanitize).to.exist;
let sanitized = schema.statics.sanitize({ok: true, noUpdateForMe: true, usuallySettable: true}, ['usuallySettable']);
const sanitized = schema.statics.sanitize({ ok: true, noUpdateForMe: true, usuallySettable: true }, ['usuallySettable']);
expect(sanitized).to.have.property('ok');
expect(sanitized).not.to.have.property('noUpdateForMe');
@@ -63,31 +63,31 @@ describe('Base model plugin', () => {
});
expect(schema.options.toJSON.transform).to.exist;
let objToTransform = {ok: true, amPrivate: true};
let privatized = schema.options.toJSON.transform({}, objToTransform);
const objToTransform = { ok: true, amPrivate: true };
const privatized = schema.options.toJSON.transform({}, objToTransform);
expect(privatized).to.have.property('ok');
expect(privatized).not.to.have.property('amPrivate');
});
it('accepts a further transform function for toJSON', () => {
let options = {
const options = {
private: ['amPrivate'],
toJSONTransform: sandbox.stub().returns(true),
};
schema.plugin(baseModel, options);
let objToTransform = {ok: true, amPrivate: true};
let doc = {doc: true};
let privatized = schema.options.toJSON.transform(doc, objToTransform);
const objToTransform = { ok: true, amPrivate: true };
const doc = { doc: true };
const privatized = schema.options.toJSON.transform(doc, objToTransform);
expect(privatized).to.equals(true);
expect(options.toJSONTransform).to.be.calledWith(objToTransform, doc);
});
it('accepts a transform function for sanitize', () => {
let options = {
const options = {
private: ['amPrivate'],
sanitizeTransform: sandbox.stub().returns(true),
};
@@ -95,8 +95,8 @@ describe('Base model plugin', () => {
schema.plugin(baseModel, options);
expect(schema.options.toJSON.transform).to.exist;
let objToSanitize = {ok: true, noUpdateForMe: true};
let sanitized = schema.statics.sanitize(objToSanitize);
const objToSanitize = { ok: true, noUpdateForMe: true };
const sanitized = schema.statics.sanitize(objToSanitize);
expect(sanitized).to.equals(true);
expect(options.sanitizeTransform).to.be.calledWith(objToSanitize);

View File

@@ -6,7 +6,7 @@ import {
describe('Collection Manipulators', () => {
describe('removeFromArray', () => {
it('removes element from array', () => {
let array = ['a', 'b', 'c', 'd'];
const array = ['a', 'b', 'c', 'd'];
removeFromArray(array, 'c');
@@ -14,7 +14,7 @@ describe('Collection Manipulators', () => {
});
it('removes object from array', () => {
let array = [
const array = [
{ id: 'a', foo: 'bar' },
{ id: 'b', foo: 'bar' },
{ id: 'c', foo: 'bar' },
@@ -28,7 +28,7 @@ describe('Collection Manipulators', () => {
});
it('does not change array if value is not found', () => {
let array = ['a', 'b', 'c', 'd'];
const array = ['a', 'b', 'c', 'd'];
removeFromArray(array, 'z');
@@ -40,15 +40,15 @@ describe('Collection Manipulators', () => {
});
it('returns the removed element', () => {
let array = ['a', 'b', 'c'];
const array = ['a', 'b', 'c'];
let result = removeFromArray(array, 'b');
const result = removeFromArray(array, 'b');
expect(result).to.eql('b');
});
it('returns the removed object element', () => {
let array = [
const array = [
{ id: 'a', foo: 'bar' },
{ id: 'b', foo: 'bar' },
{ id: 'c', foo: 'bar' },
@@ -56,31 +56,31 @@ describe('Collection Manipulators', () => {
{ id: 'e', foo: 'bar' },
];
let result = removeFromArray(array, { id: 'c' });
const result = removeFromArray(array, { id: 'c' });
expect(result).to.eql({ id: 'c', foo: 'bar' });
});
it('returns false if item is not found', () => {
let array = ['a', 'b', 'c'];
const array = ['a', 'b', 'c'];
let result = removeFromArray(array, 'z');
const result = removeFromArray(array, 'z');
expect(result).to.eql(false);
});
it('persists removal of element when mongoose document is saved', async () => {
let schema = new mongoose.Schema({
const schema = new mongoose.Schema({
array: Array,
});
let Model = mongoose.model('ModelToTestRemoveFromArray', schema);
let model = await new Model({
const Model = mongoose.model('ModelToTestRemoveFromArray', schema);
const model = await new Model({
array: ['a', 'b', 'c'],
}).save(); // Initial creation
removeFromArray(model.array, 'b');
let savedModel = await model.save();
const savedModel = await model.save();
expect(savedModel.array).to.not.include('b');
});

View File

@@ -0,0 +1,17 @@
import * as contentLib from '../../../../website/server/libs/content';
import content from '../../../../website/common/script/content';
describe('contentLib', () => {
describe('CONTENT_CACHE_PATH', () => {
it('exports CONTENT_CACHE_PATH', () => {
expect(contentLib.CONTENT_CACHE_PATH).to.be.a.string;
});
});
describe('getLocalizedContentResponse', () => {
it('clones, not modify, the original content data', () => {
contentLib.getLocalizedContentResponse();
expect(typeof content.backgrounds.backgrounds062014.beach.text).to.equal('function');
});
});
});

File diff suppressed because it is too large Load Diff

View File

@@ -18,6 +18,16 @@ function getUser () {
value: 'email@facebook',
}],
},
google: {
emails: [{
value: 'email@google',
}],
},
apple: {
emails: [{
value: 'email@apple',
}],
},
},
profile: {
name: 'profile name',
@@ -31,20 +41,20 @@ function getUser () {
}
describe('emails', () => {
let pathToEmailLib = '../../../../website/server/libs/email';
const pathToEmailLib = '../../../../website/server/libs/email';
describe('getUserInfo', () => {
it('returns an empty object if no field request', () => {
let attachEmail = requireAgain(pathToEmailLib);
let getUserInfo = attachEmail.getUserInfo;
const attachEmail = requireAgain(pathToEmailLib);
const { getUserInfo } = attachEmail;
expect(getUserInfo({}, [])).to.be.empty;
});
it('returns correct user data', () => {
let attachEmail = requireAgain(pathToEmailLib);
let getUserInfo = attachEmail.getUserInfo;
let user = getUser();
let data = getUserInfo(user, ['name', 'email', '_id', 'canSend']);
const attachEmail = requireAgain(pathToEmailLib);
const { getUserInfo } = attachEmail;
const user = getUser();
const data = getUserInfo(user, ['name', 'email', '_id', 'canSend']);
expect(data).to.have.property('name', user.auth.local.username);
expect(data).to.have.property('email', user.auth.local.email);
@@ -53,13 +63,15 @@ describe('emails', () => {
});
it('returns correct user data [facebook users]', () => {
let attachEmail = requireAgain(pathToEmailLib);
let getUserInfo = attachEmail.getUserInfo;
let user = getUser();
const attachEmail = requireAgain(pathToEmailLib);
const { getUserInfo } = attachEmail;
const user = getUser();
delete user.profile.name;
delete user.auth.local.email;
delete user.auth.google.emails;
delete user.auth.apple.emails;
let data = getUserInfo(user, ['name', 'email', '_id', 'canSend']);
const data = getUserInfo(user, ['name', 'email', '_id', 'canSend']);
expect(data).to.have.property('name', user.auth.local.username);
expect(data).to.have.property('email', user.auth.facebook.emails[0].value);
@@ -67,14 +79,50 @@ describe('emails', () => {
expect(data).to.have.property('canSend', true);
});
it('returns correct user data [google users]', () => {
const attachEmail = requireAgain(pathToEmailLib);
const { getUserInfo } = attachEmail;
const user = getUser();
delete user.profile.name;
delete user.auth.local.email;
delete user.auth.facebook.emails;
delete user.auth.apple.emails;
const data = getUserInfo(user, ['name', 'email', '_id', 'canSend']);
expect(data).to.have.property('name', user.auth.local.username);
expect(data).to.have.property('email', user.auth.google.emails[0].value);
expect(data).to.have.property('_id', user._id);
expect(data).to.have.property('canSend', true);
});
it('returns correct user data [apple users]', () => {
const attachEmail = requireAgain(pathToEmailLib);
const { getUserInfo } = attachEmail;
const user = getUser();
delete user.profile.name;
delete user.auth.local.email;
delete user.auth.google.emails;
delete user.auth.facebook.emails;
const data = getUserInfo(user, ['name', 'email', '_id', 'canSend']);
expect(data).to.have.property('name', user.auth.local.username);
expect(data).to.have.property('email', user.auth.apple.emails[0].value);
expect(data).to.have.property('_id', user._id);
expect(data).to.have.property('canSend', true);
});
it('has fallbacks for missing data', () => {
let attachEmail = requireAgain(pathToEmailLib);
let getUserInfo = attachEmail.getUserInfo;
let user = getUser();
const attachEmail = requireAgain(pathToEmailLib);
const { getUserInfo } = attachEmail;
const user = getUser();
delete user.auth.local.email;
delete user.auth.facebook;
delete user.auth.google;
delete user.auth.apple;
let data = getUserInfo(user, ['name', 'email', '_id', 'canSend']);
const data = getUserInfo(user, ['name', 'email', '_id', 'canSend']);
expect(data).to.have.property('name', user.auth.local.username);
expect(data).not.to.have.property('email');
@@ -85,18 +133,18 @@ describe('emails', () => {
describe('getGroupUrl', () => {
it('returns correct url if group is the tavern', () => {
let getGroupUrl = require(pathToEmailLib).getGroupUrl;
expect(getGroupUrl({_id: TAVERN_ID, type: 'guild'})).to.eql('/groups/tavern');
const { getGroupUrl } = require(pathToEmailLib); // eslint-disable-line import/no-dynamic-require, max-len
expect(getGroupUrl({ _id: TAVERN_ID, type: 'guild' })).to.eql('/groups/tavern');
});
it('returns correct url if group is a guild', () => {
let getGroupUrl = require(pathToEmailLib).getGroupUrl;
expect(getGroupUrl({_id: 'random _id', type: 'guild'})).to.eql('/groups/guild/random _id');
const { getGroupUrl } = require(pathToEmailLib); // eslint-disable-line import/no-dynamic-require, max-len
expect(getGroupUrl({ _id: 'random _id', type: 'guild' })).to.eql('/groups/guild/random _id');
});
it('returns correct url if group is a party', () => {
let getGroupUrl = require(pathToEmailLib).getGroupUrl;
expect(getGroupUrl({_id: 'random _id', type: 'party'})).to.eql('party');
const { getGroupUrl } = require(pathToEmailLib); // eslint-disable-line import/no-dynamic-require, max-len
expect(getGroupUrl({ _id: 'random _id', type: 'party' })).to.eql('party');
});
});
@@ -111,23 +159,20 @@ describe('emails', () => {
it('can send a txn email to one recipient', () => {
sandbox.stub(nconf, 'get').withArgs('IS_PROD').returns(true);
let attachEmail = requireAgain(pathToEmailLib);
let sendTxnEmail = attachEmail.sendTxn;
let emailType = 'an email type';
let mailingInfo = {
const attachEmail = requireAgain(pathToEmailLib);
const sendTxnEmail = attachEmail.sendTxn;
const emailType = 'an email type';
const mailingInfo = {
name: 'my name',
email: 'my@email',
};
sendTxnEmail(mailingInfo, emailType);
expect(got.post).to.be.calledWith('undefined/job', sinon.match({
json: true,
body: {
json: {
data: {
emailType: sinon.match.same(emailType),
to: sinon.match((value) => {
return Array.isArray(value) && value[0].name === mailingInfo.name;
}, 'matches mailing info array'),
to: sinon.match(value => Array.isArray(value) && value[0].name === mailingInfo.name, 'matches mailing info array'),
},
},
}));
@@ -135,10 +180,10 @@ describe('emails', () => {
it('does not send email if address is missing', () => {
sandbox.stub(nconf, 'get').withArgs('IS_PROD').returns(true);
let attachEmail = requireAgain(pathToEmailLib);
let sendTxnEmail = attachEmail.sendTxn;
let emailType = 'an email type';
let mailingInfo = {
const attachEmail = requireAgain(pathToEmailLib);
const sendTxnEmail = attachEmail.sendTxn;
const emailType = 'an email type';
const mailingInfo = {
name: 'my name',
// email: 'my@email',
};
@@ -149,15 +194,14 @@ describe('emails', () => {
it('uses getUserInfo in case of user data', () => {
sandbox.stub(nconf, 'get').withArgs('IS_PROD').returns(true);
let attachEmail = requireAgain(pathToEmailLib);
let sendTxnEmail = attachEmail.sendTxn;
let emailType = 'an email type';
let mailingInfo = getUser();
const attachEmail = requireAgain(pathToEmailLib);
const sendTxnEmail = attachEmail.sendTxn;
const emailType = 'an email type';
const mailingInfo = getUser();
sendTxnEmail(mailingInfo, emailType);
expect(got.post).to.be.calledWith('undefined/job', sinon.match({
json: true,
body: {
json: {
data: {
emailType: sinon.match.same(emailType),
to: sinon.match(val => val[0]._id === mailingInfo._id),
@@ -168,28 +212,23 @@ describe('emails', () => {
it('sends email with some default variables', () => {
sandbox.stub(nconf, 'get').withArgs('IS_PROD').returns(true);
let attachEmail = requireAgain(pathToEmailLib);
let sendTxnEmail = attachEmail.sendTxn;
let emailType = 'an email type';
let mailingInfo = {
const attachEmail = requireAgain(pathToEmailLib);
const sendTxnEmail = attachEmail.sendTxn;
const emailType = 'an email type';
const mailingInfo = {
name: 'my name',
email: 'my@email',
};
let variables = [1, 2, 3];
const variables = [1, 2, 3];
sendTxnEmail(mailingInfo, emailType, variables);
expect(got.post).to.be.calledWith('undefined/job', sinon.match({
json: true,
body: {
json: {
data: {
variables: sinon.match((value) => {
return value[0].name === 'BASE_URL';
}, 'matches variables'),
personalVariables: sinon.match((value) => {
return value[0].rcpt === mailingInfo.email &&
value[0].vars[0].name === 'RECIPIENT_NAME' &&
value[0].vars[1].name === 'RECIPIENT_UNSUB_URL';
}, 'matches personal variables'),
variables: sinon.match(value => value[0].name === 'BASE_URL', 'matches variables'),
personalVariables: sinon.match(value => value[0].rcpt === mailingInfo.email
&& value[0].vars[0].name === 'RECIPIENT_NAME'
&& value[0].vars[1].name === 'RECIPIENT_UNSUB_URL', 'matches personal variables'),
},
},
}));

View File

@@ -5,9 +5,9 @@ import {
describe('encryption', () => {
it('can encrypt and decrypt', () => {
let data = 'some secret text';
let encrypted = encrypt(data);
let decrypted = decrypt(encrypted);
const data = 'some secret text';
const encrypted = encrypt(data);
const decrypted = decrypt(encrypted);
expect(encrypted).not.to.equal(data);
expect(data).to.equal(decrypted);

Some files were not shown because too many files have changed in this diff Show More