Commit Graph

599 Commits

Author SHA1 Message Date
Matteo Pagliazzi c879560445 add ability to log amplitude events (#12120) 2020-04-24 19:02:27 +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 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
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
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
Matteo Pagliazzi f71062e86c Merge branch 'release' into develop 2020-04-17 20:50:11 +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 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
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
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
Sabe Jones 1e1c058d82 Merge branch 'release' into develop 2020-04-14 14:50:46 -05:00
Sabe Jones 168a3a6e89 Merge branch 'sabrecat/potion-time' into release 2020-04-14 14:49:18 -05:00
Matteo Pagliazzi 259b15877b chore(deps): remove unused aws-sdk file and dependency 2020-04-14 17:03:42 +02: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
Sabe Jones 0f2d2ddad6 Merge branch 'develop' into release 2020-04-09 06:28:06 -05: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
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
hamboomger 0bc836b490 refactor(payments): unit tests created for calculation of subscription termination date 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 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
Sabe Jones 7a51b7593f fix(analytics): problems (#12032) 2020-03-30 15:37:01 -05: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
Matteo Pagliazzi 2fc4d0f00c fix(logger): only two arguments to logger when logging an unhandled promise rejection 2020-03-26 17:10:19 +01:00
Matteo Pagliazzi 2cd0ed5973 fix(logger): improve logging and make sure no data is lost 2020-03-24 20:29:31 +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
Matteo Pagliazzi d724933640 update mongoose options 2020-03-18 19:20:09 +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
Matteo Pagliazzi b9bfb3f722 fix(logs): call split on strings only 2020-03-09 16:18:57 +01:00
Matteo Pagliazzi 018c5edfdd fix(logs): FCM, only log defined errors 2020-03-09 15:13:15 +01: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
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 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 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
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
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
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