Fix non-unicode characters in game path (#193)

* replace btoa with a Buffer implementation, as btoa does not support non-unicode characters.

* replace btoa with a Buffer implementation, as btoa does not support non-unicode characters.

* fix linting

* fix linting

* replace buffer implementation with a md5 hash. This also adds the ts-md5 library.

* Revert "replace buffer implementation with a md5 hash. This also adds the ts-md5 library."

This reverts commit f98b811ab9.

* replace buffer implementation with md5 hash from node:crypto

* fix linting.. again

---------

Co-authored-by: FurbyOnSteroids <codeberg@your-moms-bellybutton.hair>
This commit is contained in:
FurbyOnSteroids
2025-08-16 14:23:57 +02:00
committed by GitHub
parent a2ea0060cb
commit 6baddc10e9

View File

@ -14,13 +14,18 @@ import notificationSystem from "../notifications";
import { GameNotFoundError, type LibraryProvider } from "./provider";
import { logger } from "../logging";
import type { GameModel } from "~/prisma/client/models";
import { createHash } from "node:crypto";
export function createGameImportTaskId(libraryId: string, libraryPath: string) {
return btoa(`import:${libraryId}:${libraryPath}`);
return createHash("md5")
.update(`import:${libraryId}:${libraryPath}`)
.digest("hex");
}
export function createVersionImportTaskId(gameId: string, versionName: string) {
return btoa(`import:${gameId}:${versionName}`);
return createHash("md5")
.update(`import:${gameId}:${versionName}`)
.digest("hex");
}
class LibraryManager {