diff --git a/Dockerfile-Production b/Dockerfile-Production index bd1fbe4d08..537a43df61 100644 --- a/Dockerfile-Production +++ b/Dockerfile-Production @@ -17,7 +17,7 @@ RUN npm install -g gulp-cli mocha # Clone Habitica repo and install dependencies RUN mkdir -p /usr/src/habitrpg WORKDIR /usr/src/habitrpg -RUN git clone --branch v4.44.0 https://github.com/HabitRPG/habitica.git /usr/src/habitrpg +RUN git clone --branch v4.44.2 https://github.com/HabitRPG/habitica.git /usr/src/habitrpg RUN npm install RUN gulp build:prod --force diff --git a/package-lock.json b/package-lock.json index 6ce9326329..8b8a3e13f3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "habitica", - "version": "4.44.2", + "version": "4.44.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index cf3bfbba25..c3a850ae23 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "habitica", "description": "A habit tracker app which treats your goals like a Role Playing Game.", - "version": "4.44.2", + "version": "4.44.3", "main": "./website/server/index.js", "dependencies": { "@slack/client": "^3.8.1", diff --git a/website/client/assets/css/sprites/spritesmith-largeSprites-0.css b/website/client/assets/css/sprites/spritesmith-largeSprites-0.css index c9ada0eca0..4153ac7394 100644 --- a/website/client/assets/css/sprites/spritesmith-largeSprites-0.css +++ b/website/client/assets/css/sprites/spritesmith-largeSprites-0.css @@ -12,7 +12,7 @@ } .promo_earrings_headbands { background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png'); - background-position: -565px -223px; + background-position: -142px -534px; width: 297px; height: 147px; } @@ -36,9 +36,9 @@ } .promo_take_this { background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png'); - background-position: -716px -371px; - width: 114px; - height: 87px; + background-position: -326px -348px; + width: 96px; + height: 69px; } .scene_casting_spells { background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png'); @@ -46,9 +46,15 @@ width: 312px; height: 222px; } +.scene_hiking { + background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png'); + background-position: -565px -223px; + width: 258px; + height: 258px; +} .scene_meditation { background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png'); - background-position: -565px -371px; + background-position: -326px -197px; width: 150px; height: 150px; } diff --git a/website/client/assets/images/sprites/spritesmith-largeSprites-0.png b/website/client/assets/images/sprites/spritesmith-largeSprites-0.png index f149851eda..85fa4ad566 100644 Binary files a/website/client/assets/images/sprites/spritesmith-largeSprites-0.png and b/website/client/assets/images/sprites/spritesmith-largeSprites-0.png differ diff --git a/website/common/locales/bg/groups.json b/website/common/locales/bg/groups.json index b40092f683..3239a186e1 100644 --- a/website/common/locales/bg/groups.json +++ b/website/common/locales/bg/groups.json @@ -126,7 +126,7 @@ "send": "Изпращане", "messageSentAlert": "Съобщението е изпратено", "pmHeading": "Лично съобщение до <%= name %>", - "pmsMarkedRead": "Your Private Messages have been marked as read", + "pmsMarkedRead": "Личните Ви съобщения бяха отбелязани като прочетени", "possessiveParty": "Групата на <%= name %>", "clearAll": "Изтриване на всички съобщения", "confirmDeleteAllMessages": "Наистина ли искате да изтриете всички съобщения от входящата поща? Другите потребители ще виждат изпратените от Вас съобщения.", @@ -134,12 +134,12 @@ "PMPlaceholderDescription": "Изберете разговор отляво", "PMPlaceholderTitleRevoked": "Привилегиите Ви в чата Ви бяха отнети", "PMPlaceholderDescriptionRevoked": "Не можете да изпращате лични съобщения, тъй като привилегиите Ви в чата Ви бяха отнети. Ако имате въпроси или притеснения относно това, моля, пишете на admin@habitica.com, за да ги обсъдите с екипа.", - "PMEnable": "Enable Private Messages", - "PMDisable": "Disable Private Messages", - "PMEnabledOptPopoverText": "When Private Messages are disabled, you still can send messages, but no one can send them to you.", - "PMDisabledOptPopoverText": "Enable this option to be able to receive messages.", - "PMDisabledCaptionTitle": "Private Messages are disabled", - "PMDisabledCaptionText": "You still can send messages, but no one can send them to you.", + "PMEnable": "Разрешаване на личните съобщения", + "PMDisable": "Забраняване на личните съобщения", + "PMEnabledOptPopoverText": "Ако личните съобщения са забранени, Вие ще можете да изпращате съобщения, но никой няма да може да изпраща на Вас.", + "PMDisabledOptPopoverText": "Включете това, за да можете да получавате съобщения.", + "PMDisabledCaptionTitle": "Личните съобщения са забранени", + "PMDisabledCaptionText": "Вие можете да изпращате съобщения, но никой няма да може да изпраща на Вас.", "block": "Блокиране", "unblock": "Отблокиране", "pm-reply": "Изпращане на отговор", diff --git a/website/common/locales/pt_BR/groups.json b/website/common/locales/pt_BR/groups.json index 143acb9c49..f7df40cc5f 100644 --- a/website/common/locales/pt_BR/groups.json +++ b/website/common/locales/pt_BR/groups.json @@ -126,7 +126,7 @@ "send": "Enviar", "messageSentAlert": "Mensagem enviada", "pmHeading": "Mensagem privada para <%= name %>", - "pmsMarkedRead": "Your Private Messages have been marked as read", + "pmsMarkedRead": "Suas Mensagens Privadas foram marcadas como lidas", "possessiveParty": "Grupo de <%= name %>", "clearAll": "Deletar Todas as Mensagens", "confirmDeleteAllMessages": "Tem certeza que deseja deletar todas as mensagens na sua caixa de entrada? Outros usuários ainda irão ver as mensagens que você enviou para eles.", @@ -134,12 +134,12 @@ "PMPlaceholderDescription": "Selecione uma conversa à esquerda", "PMPlaceholderTitleRevoked": "Seus privilégios do chat foram revogados", "PMPlaceholderDescriptionRevoked": "Você não pode enviar mensagens pois seus privilégios do chat foram revogados. Se tiver alguma pergunta ou preocupação quanto a isso, por favor envie um email para admin@habitica.com para argumentar com a Equipe.", - "PMEnable": "Enable Private Messages", - "PMDisable": "Disable Private Messages", - "PMEnabledOptPopoverText": "When Private Messages are disabled, you still can send messages, but no one can send them to you.", - "PMDisabledOptPopoverText": "Enable this option to be able to receive messages.", - "PMDisabledCaptionTitle": "Private Messages are disabled", - "PMDisabledCaptionText": "You still can send messages, but no one can send them to you.", + "PMEnable": "Habilitar Mensagens Privadas", + "PMDisable": "Desabilitar Mensagens Privadas", + "PMEnabledOptPopoverText": "Quando as Mensagens Privadas estiverem desabilitadas, você ainda pode enviar mensagens, mas ninguém poderá lhe enviar.", + "PMDisabledOptPopoverText": "Habilite esta opção para poder receber mensagens.", + "PMDisabledCaptionTitle": "Mensagens Privadas estão desabilitadas", + "PMDisabledCaptionText": "Você ainda pode enviar mensagens, mas ninguém pode lhe enviar.", "block": "Bloquear", "unblock": "Desbloquear", "pm-reply": "Enviar uma resposta", diff --git a/website/common/locales/uk/front.json b/website/common/locales/uk/front.json index 084c12823a..6b9f71e7bd 100644 --- a/website/common/locales/uk/front.json +++ b/website/common/locales/uk/front.json @@ -29,7 +29,7 @@ "communityReddit": "Reddit", "companyAbout": "Як це пряцює", "companyBlog": "Блоґ", - "devBlog": "Developer Blog", + "devBlog": "Блог розробника", "companyContribute": "Contribute", "companyDonate": "Пожертвувати", "companyPrivacy": "Політика конфіденційности", @@ -44,8 +44,8 @@ "forgotPasswordSteps": "Введіть електронну пошту на яку ви реєстрували ваш аккаунт.", "sendLink": "Відправити посилання", "evagantzQuote": "My very first dentist appointment where the hygienist was actually excited about my flossing habits. Thanks [Habitica]!", - "examplesHeading": "Players use Habitica to manage...", - "featureAchievementByline": "Do something totally awesome? Get a badge and show it off!", + "examplesHeading": "Гравці користуються сайтом Habitica щоб керувати ...", + "featureAchievementByline": "Зробили щось надзвичайне? Отримайте значок та хизуйтесь ним!", "featureAchievementHeading": "Значки досягнень", "featureEquipByline": "Buy limited edition equipment, potions, and other virtual goodies in our Market with your task rewards!", "featureEquipHeading": "Equipment and extras", @@ -55,7 +55,7 @@ "featureSocialHeading": "Social play", "featuredIn": "Featured in", "featuresHeading": "We also feature...", - "footerDevs": "Developers", + "footerDevs": "Розробники", "footerCommunity": "Спільнота", "footerCompany": "Компанія", "footerMobile": "Мобільник", @@ -68,7 +68,7 @@ "goalSample2": "Work on article for publication", "goalSample3": "Work on blog post", "goalSample4": "Japanese lesson on Duolingo", - "goalSample5": "Read an Informative Article", + "goalSample5": "Прочитати інформативну Статтю", "goals": "Цілі", "guidanceForBlacksmiths": "Guidance for Blacksmiths", "wellness": "Health", diff --git a/website/common/locales/uk/merch.json b/website/common/locales/uk/merch.json index cca4a94a81..2943143e8e 100644 --- a/website/common/locales/uk/merch.json +++ b/website/common/locales/uk/merch.json @@ -1,12 +1,12 @@ { - "merch" : "Merchandise", + "merch" : "Товари", "merchandiseDescription": "Looking for t-shirts, mugs, or stickers to show off your Habitica pride? Click here!", "merch-teespring-summary" : "Teespring is a platform that makes it easy for anyone to create and sell high-quality products people love, with no cost or risk.", - "merch-teespring-goto" : "Get a Habitica T-shirt", + "merch-teespring-goto" : "Отримати футболку Habitica", "merch-teespring-mug-summary" : "Teespring is a platform that makes it easy for anyone to create and sell high-quality products people love, with no cost or risk.", - "merch-teespring-mug-goto" : "Get a Habitica Mug", + "merch-teespring-mug-goto" : "Отримати кружку Habitica", "merch-teespring-eu-summary" : "EUROPEAN VERSION : Teespring is a platform that makes it easy for anyone to create and sell high-quality products people love, with no cost or risk.", "merch-teespring-eu-goto" : "Get a Habitica T-shirt (EU)", @@ -15,6 +15,6 @@ "merch-teespring-mug-eu-goto" : "Get a Habitica Mug (EU)", "merch-stickermule-summary" : "Stick proud Melior wherever you (or someone else) need a reminder of both present and future accomplishments!", - "merch-stickermule-goto" : "Get Habitica stickers" + "merch-stickermule-goto" : "Отримайте наклейки Habitica" } diff --git a/website/common/script/content/shop-featuredItems.js b/website/common/script/content/shop-featuredItems.js index 7d6017a9b3..af821516b5 100644 --- a/website/common/script/content/shop-featuredItems.js +++ b/website/common/script/content/shop-featuredItems.js @@ -33,10 +33,6 @@ const featuredItems = { type: 'quests', path: 'quests.butterfly', }, - { - type: 'bundles', - path: 'bundles.cuddleBuddies', - }, ], seasonal: '', timeTravelers: [ diff --git a/website/raw_sprites/spritesmith_large/promo_take_this.png b/website/raw_sprites/spritesmith_large/promo_take_this.png index 39ab9af2f9..e86968cadc 100644 Binary files a/website/raw_sprites/spritesmith_large/promo_take_this.png and b/website/raw_sprites/spritesmith_large/promo_take_this.png differ diff --git a/website/raw_sprites/spritesmith_large/scene_hiking.png b/website/raw_sprites/spritesmith_large/scene_hiking.png new file mode 100644 index 0000000000..884f9be27d Binary files /dev/null and b/website/raw_sprites/spritesmith_large/scene_hiking.png differ diff --git a/website/server/controllers/api-v3/news.js b/website/server/controllers/api-v3/news.js index bbe08bedf7..1991cb5c56 100644 --- a/website/server/controllers/api-v3/news.js +++ b/website/server/controllers/api-v3/news.js @@ -3,7 +3,7 @@ import { authWithHeaders } from '../../middlewares/auth'; let api = {}; // @TODO export this const, cannot export it from here because only routes are exported from controllers -const LAST_ANNOUNCEMENT_TITLE = 'LAST CHANCE FOR FAIRY POTIONS AND PEACOCK SET'; +const LAST_ANNOUNCEMENT_TITLE = 'JUNE 2018 RESOLUTION SUCCESS CHALLENGE AND TAKE THIS CHALLENGE'; const worldDmg = { // @TODO bailey: false, }; @@ -32,21 +32,24 @@ api.getNews = {

${res.t('newStuff')}

-

5/31/2018 - ${LAST_ANNOUNCEMENT_TITLE}

+

6/1/2018 - ${LAST_ANNOUNCEMENT_TITLE}


-
+
-

Last Chance for Phenomenal Peacock Set

-

Reminder: this is the final day to subscribe and receive the Phenomenal Peacock Set! Subscribing also lets you buy Gems for Gold. The longer your subscription, the more Gems you get!

+

The Habitica team has launched a special official Challenge series hosted in the Official New Year's Resolution Guild. These Challenges are designed to help you build and maintain goals that are destined for success and then stick with them as the year progresses. For this month's Challenge, Mark Your Journey, we're reflecting on your achievements since January and looking ahead to the rest of the year! It has a 15 Gem prize, which will be awarded to five lucky winners on July 2nd.

+

Congratulations to the winners of the May Challenge, RubberSoul, Carolee, MyNameIsNotRyn, Rapunculus IV, and notunremarkable!

-
+
-

Thanks so much for your support! You help keep Habitica running.

-
by Beffymaroo
-

Last Chance for Fairy Hatching Potions

-

Reminder: this is the final day to buy Fairy Hatching Potions! If they come back, it won't be until next year at the earliest, so don't delay!

-
by Edge
-
+

The next Take This Challenge has also launched, Hero's Triumph!, with a focus on volunteer efforts. Be sure to check it out to earn additional pieces of the Take This armor set!

+
+
+
+

Take This is a nonprofit that seeks to inform the gamer community about mental health issues, to provide education about mental disorders and mental illness prevention, and to reduce the stigma of mental illness.

+
+
+

Congratulations to the winners of the last Take This Challenge, "Keep Calm and Carry On!": grand prize winner Betsy, and runners-up Caiwan (Sári Péter), tebrilas, Christopher, eeyoregirl, and Serenity. Plus, all participants in that Challenge have received a piece of the Take This item set if they hadn't collected all the pieces already. It is located in your Rewards column. Enjoy!

+
by Doctor B, the Take This team, Lemoness, Beffymaroo, and SabreCat
`, }); diff --git a/website/server/models/user/methods.js b/website/server/models/user/methods.js index 38af7d6df7..0ca9d43a13 100644 --- a/website/server/models/user/methods.js +++ b/website/server/models/user/methods.js @@ -133,7 +133,7 @@ schema.methods.sendMessage = async function sendMessage (userToReceiveMessage, o sender.markModified('inbox.messages'); if (saveUsers) { - await Promise.all(userToReceiveMessage.save(), sender.save()); + await Promise.all([userToReceiveMessage.save(), sender.save()]); } };