diff --git a/src/main/index.ts b/src/main/index.ts index 6b51f978..33fe128d 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -52,8 +52,8 @@ app.whenReady().then(async () => { electronApp.setAppUserModelId("site.hydralauncher.hydra"); protocol.handle("local", (request) => { - const filePath = request.url.slice("local://".length); - return net.fetch(url.pathToFileURL(filePath).toString()); + const filePath = request.url.slice("local:".length); + return net.fetch(url.pathToFileURL(decodeURI(filePath)).toString()); }); await dataSource.initialize(); diff --git a/src/main/services/library-sync/merge-with-remote-games.ts b/src/main/services/library-sync/merge-with-remote-games.ts index e31310fc..8790318f 100644 --- a/src/main/services/library-sync/merge-with-remote-games.ts +++ b/src/main/services/library-sync/merge-with-remote-games.ts @@ -32,10 +32,12 @@ export const mergeWithRemoteGames = async () => { { objectID: game.objectId, shop: "steam", + }, + { + remoteId: game.id, lastTimePlayed: updatedLastTimePlayed, playTimeInMilliseconds: updatedPlayTime, - }, - { remoteId: game.id } + } ); } else { const steamGame = await steamGamesWorker.run(Number(game.objectId), { diff --git a/src/main/workers/index.ts b/src/main/workers/index.ts index cbcedaff..b0f9721f 100644 --- a/src/main/workers/index.ts +++ b/src/main/workers/index.ts @@ -11,6 +11,7 @@ export const steamGamesWorker = new Piscina({ workerData: { steamGamesPath: path.join(seedsPath, "steam-games.json"), }, + maxThreads: 1, }); export const downloadSourceWorker = new Piscina({