* remove parallel saves from the code
* fix more unit tests
* do not save users when sending message in buyGift (saved later)
* fix test
* reinstall
* fix tests
* fix tests
* removing duplicate translation key
* fixing typos
* extracting quest prerequisite check. adding check for previous quest completion, if required
* fixing (undoing) static change, adding tests
* more typos
* correcting test failures
* honoring quest prerequisites in quest invite API call. updating format of il8n string replacement arg
* no longer using apiError, use translate method instead (msg key was not defined)
* adding @apiError to docblock as requested in issue
* removing checks on quest invite method. small window of opportunity/low risk
* feat(gdpr) only store necessary data for social login
* feat(gdpr) also store email for social users
* fix(social auth): store emails array instead of single email
* fix(emails): do not get name from old facebook info
* add migration to remove extra data from social profiles
* update migration description
* fix tests
* fix typo in migration file
* fix(challenges): creator should not join challenge automatically
* change behavior on the client side as well
* update tests and fix membercount
* update tests
* fix tests
The parsing in the redirects module was simply determining the base host
via trimming off everything up to //, so a BASE_URL like
"http://localhost:3000" will result in the host name "localhost:3000",
which isn't a valid host name.
So the problem here is that BASE_URL_HOST is used for determining
whether the client should be redirected and it's comparing the hostname
of the request object with BASE_URL_HOST.
For example if we have the aforementioned BASE_URL, we get to the
following comparison:
req.hostname !== BASE_URL_HOST
Which expands to:
"localhost" !== "localhost:3000"
So in order to get rid of the port number, we now use url.parse() to get
the right host name.
Signed-off-by: aszlig <aszlig@nix.build>
* Rarranged payment index functions
* Moved gem function
* Increased buy gems test coverage
* Reduced length of functions. Reduced cognitive complexity
* remove inbox from user/stats routes
* remove inbox from news routes
* change signature for authWithHeaders
* do not load inbox in coupons routes
* do not load inbox in challenge routes
* do not load inbox in some members routes
* do not load inbox in chat routes
* begin implementing global webhooks
* add checklist item scored webhook
* add pet hatched and mount raised webhooks (no tests)
* fix typo
* add lvl up webhooks, remove corrupt notifications and reorganize pre-save hook
* fix typo
* add some tests, globalActivity webhook
* fix bug in global activiy webhook and add more tests
* add tests and fix typo for petHatched and mountRaised webhooks
* fix errors and add tests for level up webhook
* wip: add default data to all webhooks, change signature for WebhookSender.send (missing tests)
* remove unused code
* fix unit tests
* fix chat webhooks
* remove console
* fix lint
* add and fix webhook tests
* add questStarted webhook and questActivity type
* add unit tests
* add finial tests and features
* removing file that only contained a reference to a missing folder
* fixing typo
* using full dates to avoid moment warning in tests
* more typos
* sending an empty string to vue bootstrap tooltip (disabling it) if no challenge short name is set
* Fix challenges export CSV error by checking that users still belong to challenge
* Add test for challenge csv export fix
* Update fix for challenge export CSV bug
* Update tests for challenge export CSV to be more complete
* Refactor a test: change some 'let' variables to 'const'