mirror of
https://github.com/sudoxnym/habitica-self-host.git
synced 2026-08-04 04:59:40 +00:00
fix(analytics): problems (#12032)
This commit is contained in:
parent
e21f64edaf
commit
7a51b7593f
8 changed files with 11 additions and 10 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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 => {
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue