diff --git a/website/common/script/libs/onboarding.js b/website/common/script/libs/onboarding.js index cf8c09dee4..099a59f080 100644 --- a/website/common/script/libs/onboarding.js +++ b/website/common/script/libs/onboarding.js @@ -23,7 +23,7 @@ export function onOnboardingComplete (user) { } // Add notification and awards (server) -export function checkOnboardingStatus (user, analytics) { +export function checkOnboardingStatus (user, req, analytics) { if (hasActiveOnboarding(user) && hasCompletedOnboarding(user) && user.addNotification) { user.addNotification('ONBOARDING_COMPLETE'); if (analytics) { @@ -31,6 +31,7 @@ export function checkOnboardingStatus (user, analytics) { uuid: user._id, hitType: 'event', category: 'behavior', + headers: req.headers, }); } onOnboardingComplete(user); diff --git a/website/common/script/ops/buy/buyMarketGear.js b/website/common/script/ops/buy/buyMarketGear.js index 0d24e9d063..8c87ef6fa2 100644 --- a/website/common/script/ops/buy/buyMarketGear.js +++ b/website/common/script/ops/buy/buyMarketGear.js @@ -70,7 +70,7 @@ export class BuyMarketGearOperation extends AbstractGoldItemOperation { // eslin if (!user.achievements.purchasedEquipment && user.addAchievement) { user.addAchievement('purchasedEquipment'); - checkOnboardingStatus(user, analytics); + checkOnboardingStatus(user, req, analytics); } removePinnedGearAddPossibleNewOnes(user, `gear.flat.${item.key}`, item.key); diff --git a/website/common/script/ops/feed.js b/website/common/script/ops/feed.js index af3f3c5a0b..663c909e7d 100644 --- a/website/common/script/ops/feed.js +++ b/website/common/script/ops/feed.js @@ -95,7 +95,7 @@ export default function feed (user, req = {}, analytics) { if (!user.achievements.fedPet && user.addAchievement) { user.addAchievement('fedPet'); - checkOnboardingStatus(user, analytics); + checkOnboardingStatus(user, req, analytics); } } diff --git a/website/common/script/ops/hatch.js b/website/common/script/ops/hatch.js index 5bc3897cef..127aca0103 100644 --- a/website/common/script/ops/hatch.js +++ b/website/common/script/ops/hatch.js @@ -56,7 +56,7 @@ export default function hatch (user, req = {}, analytics) { if (!user.achievements.hatchedPet && user.addAchievement) { user.addAchievement('hatchedPet'); - checkOnboardingStatus(user, analytics); + checkOnboardingStatus(user, req, analytics); } forEach(content.animalColorAchievements, achievement => { diff --git a/website/common/script/ops/scoreTask.js b/website/common/script/ops/scoreTask.js index a6be2bda23..d13d566112 100644 --- a/website/common/script/ops/scoreTask.js +++ b/website/common/script/ops/scoreTask.js @@ -349,7 +349,7 @@ export default function scoreTask (options = {}, req = {}, analytics) { if (!user.achievements.completedTask && cron === false && direction === 'up' && user.addAchievement) { user.addAchievement('completedTask'); - checkOnboardingStatus(user, analytics); + checkOnboardingStatus(user, req, analytics); } return [delta]; diff --git a/website/server/controllers/api-v3/tasks.js b/website/server/controllers/api-v3/tasks.js index d63b4a1071..7f247600f3 100644 --- a/website/server/controllers/api-v3/tasks.js +++ b/website/server/controllers/api-v3/tasks.js @@ -205,7 +205,7 @@ api.createUserTasks = { tasks.forEach(task => { // Track when new users (first 7 days) create tasks - if (moment().diff(user.auth.timestamps.created, 'days') < 7) { + if (moment().diff(user.auth.timestamps.created, 'days') < 7 && user.flags.welcomed) { res.analytics.track('task create', { uuid: user._id, hitType: 'event', @@ -888,7 +888,7 @@ api.scoreTask = { } // Track when new users (first 7 days) score tasks - if (moment().diff(user.auth.timestamps.created, 'days') < 7 && user.flags.welcomed) { + if (moment().diff(user.auth.timestamps.created, 'days') < 7) { res.analytics.track('task score', { uuid: user._id, hitType: 'event', diff --git a/website/server/controllers/api-v3/user.js b/website/server/controllers/api-v3/user.js index ac45666121..27d8af337b 100644 --- a/website/server/controllers/api-v3/user.js +++ b/website/server/controllers/api-v3/user.js @@ -790,7 +790,7 @@ api.hatch = { url: '/user/hatch/:egg/:hatchingPotion', async handler (req, res) { const { user } = res.locals; - const hatchRes = common.ops.hatch(user, req); + const hatchRes = common.ops.hatch(user, req, res.analytics); await user.save(); @@ -881,7 +881,7 @@ api.feed = { url: '/user/feed/:pet/:food', async handler (req, res) { const { user } = res.locals; - const feedRes = common.ops.feed(user, req); + const feedRes = common.ops.feed(user, req, res.analytics); await user.save(); diff --git a/website/server/libs/taskManager.js b/website/server/libs/taskManager.js index aae4db924d..858c3524d7 100644 --- a/website/server/libs/taskManager.js +++ b/website/server/libs/taskManager.js @@ -108,7 +108,7 @@ export async function createTasks (req, res, options = {}) { // are the onboarding ones if (!user.achievements.createdTask && user.flags.welcomed) { user.addAchievement('createdTask'); - shared.onboarding.checkOnboardingStatus(user, res.analytics); + shared.onboarding.checkOnboardingStatus(user, req, res.analytics); } }