chore: simplify syncing of challenge 'Completed' field #2603

Merged
Sainan merged 1 commits from completed-simplify into main 2025-08-11 08:08:47 -07:00

View File

@ -1980,17 +1980,20 @@ export const addChallenges = async (
dbChallenge.Completed ??= []; dbChallenge.Completed ??= [];
for (const completion of Completed!) { for (const completion of Completed!) {
if (dbChallenge.Completed.indexOf(completion) == -1) { if (dbChallenge.Completed.indexOf(completion) == -1) {
dbChallenge.Completed.push(completion);
if (completion == "challengeRewards") { if (completion == "challengeRewards") {
if (Name in challengeRewardsInboxMessages) { if (Name in challengeRewardsInboxMessages) {
await createMessage(account._id, [challengeRewardsInboxMessages[Name]]); await createMessage(account._id, [challengeRewardsInboxMessages[Name]]);
dbChallenge.Completed.push(completion);
// Would love to somehow let the client know about inbox or inventory changes, but there doesn't seem to anything for updateChallengeProgress. // Would love to somehow let the client know about inbox or inventory changes, but there doesn't seem to anything for updateChallengeProgress.
continue; continue;
} }
logger.warn(`ignoring unknown challenge completion`, { challenge: Name, completion });
dbChallenge.Completed = [];
} }
logger.warn(`ignoring unknown challenge completion`, { challenge: Name, completion });
} }
} }
} else {
dbChallenge.Completed = Completed;
} }
} }