From d28a5b828f9ce5650dc718ad7e2df275ca3235f1 Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Wed, 30 Jul 2025 07:52:52 -0300 Subject: [PATCH] feat: use await for firstSyncWithRemoteIfNeeded --- src/main/events/user/get-unlocked-achievements.ts | 2 +- .../services/achievements/achievement-watcher-manager.ts | 4 ++-- src/renderer/src/pages/catalogue/game-item.tsx | 6 +++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/events/user/get-unlocked-achievements.ts b/src/main/events/user/get-unlocked-achievements.ts index b8677894..9e6f044d 100644 --- a/src/main/events/user/get-unlocked-achievements.ts +++ b/src/main/events/user/get-unlocked-achievements.ts @@ -80,7 +80,7 @@ const getUnlockedAchievementsEvent = async ( objectId: string, shop: GameShop ): Promise => { - AchievementWatcherManager.firstSyncWithRemoteIfNeeded(shop, objectId); + await AchievementWatcherManager.firstSyncWithRemoteIfNeeded(shop, objectId); return getUnlockedAchievements(objectId, shop, false); }; diff --git a/src/main/services/achievements/achievement-watcher-manager.ts b/src/main/services/achievements/achievement-watcher-manager.ts index 7924caef..495bafac 100644 --- a/src/main/services/achievements/achievement-watcher-manager.ts +++ b/src/main/services/achievements/achievement-watcher-manager.ts @@ -167,6 +167,8 @@ export class AchievementWatcherManager { const gameKey = levelKeys.game(shop, objectId); if (this.alreadySyncedGames.get(gameKey)) return; + this.alreadySyncedGames.set(gameKey, true); + const game = await gamesSublevel.get(gameKey).catch(() => null); if (!game || game.isDeleted) return; @@ -190,8 +192,6 @@ export class AchievementWatcherManager { } } - this.alreadySyncedGames.set(gameKey, true); - const newAchievements = await mergeAchievements( game, unlockedAchievements, diff --git a/src/renderer/src/pages/catalogue/game-item.tsx b/src/renderer/src/pages/catalogue/game-item.tsx index 69915f20..39f5e6eb 100644 --- a/src/renderer/src/pages/catalogue/game-item.tsx +++ b/src/renderer/src/pages/catalogue/game-item.tsx @@ -36,7 +36,11 @@ export function GameItem({ game }: GameItemProps) { (steamGenre) => steamGenre === genre ); - if (index && steamGenres[language] && steamGenres[language][index]) { + if ( + index !== undefined && + steamGenres[language] && + steamGenres[language][index] + ) { return steamGenres[language][index]; }