From 9b693f2297ddb5de611e0f353f9baeb6d3a435ad Mon Sep 17 00:00:00 2001 From: Moyasee Date: Mon, 20 Oct 2025 16:26:25 +0300 Subject: [PATCH] ci: fixed files after merging --- .../achievements/get-game-achievement-data.ts | 20 +++++++++---------- .../achievements/merge-achievements.ts | 1 + src/types/level.types.ts | 1 + 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/main/services/achievements/get-game-achievement-data.ts b/src/main/services/achievements/get-game-achievement-data.ts index 72b49bc5..8036004e 100644 --- a/src/main/services/achievements/get-game-achievement-data.ts +++ b/src/main/services/achievements/get-game-achievement-data.ts @@ -5,15 +5,19 @@ import { logger } from "../logger"; import { db, gameAchievementsSublevel, levelKeys } from "@main/level"; import { AxiosError } from "axios"; -const LOCAL_CACHE_EXPIRATION = 1000 * 60 * 60; // 1 hour const getModifiedSinceHeader = ( - cachedAchievements: GameAchievement | undefined + cachedAchievements: GameAchievement | undefined, + userLanguage: string ): Date | undefined => { if (!cachedAchievements) { return undefined; } + if (userLanguage !== cachedAchievements.language) { + return undefined; + } + return cachedAchievements.updatedAt ? new Date(cachedAchievements.updatedAt) : undefined; @@ -28,13 +32,8 @@ export const getGameAchievementData = async ( const cachedAchievements = await gameAchievementsSublevel.get(gameKey); - if (cachedAchievements?.achievements && useCachedData) - return cachedAchievements.achievements; - if ( - cachedAchievements?.achievements && - Date.now() < (cachedAchievements.updatedAt ?? 0) + LOCAL_CACHE_EXPIRATION - ) { + if(cachedAchievements?.achievements && useCachedData) { return cachedAchievements.achievements; } @@ -50,14 +49,15 @@ export const getGameAchievementData = async ( language, }, { - ifModifiedSince: getModifiedSinceHeader(cachedAchievements), + ifModifiedSince: getModifiedSinceHeader(cachedAchievements, language), } ) .then(async (achievements) => { await gameAchievementsSublevel.put(gameKey, { unlockedAchievements: cachedAchievements?.unlockedAchievements ?? [], achievements, - updatedAt: Date.now() + LOCAL_CACHE_EXPIRATION, + updatedAt: Date.now(), + language, }); return achievements; diff --git a/src/main/services/achievements/merge-achievements.ts b/src/main/services/achievements/merge-achievements.ts index 97e44bde..8c8ba971 100644 --- a/src/main/services/achievements/merge-achievements.ts +++ b/src/main/services/achievements/merge-achievements.ts @@ -38,6 +38,7 @@ const saveAchievementsOnLocal = async ( achievements: gameAchievement?.achievements ?? [], unlockedAchievements: unlockedAchievements, updatedAt: gameAchievement?.updatedAt, + language: gameAchievement?.language, }); if (!sendUpdateEvent) return; diff --git a/src/types/level.types.ts b/src/types/level.types.ts index 17dbdf2c..da3915f5 100644 --- a/src/types/level.types.ts +++ b/src/types/level.types.ts @@ -84,6 +84,7 @@ export interface GameAchievement { unlockedAchievements: UnlockedAchievement[]; updatedAt: number | undefined; achievementImageUrl?: string | null; + language?: string; } export type AchievementCustomNotificationPosition =