mirror of
https://github.com/hydralauncher/hydra.git
synced 2026-01-12 06:16:17 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1dc2176813 | ||
|
|
a7ec632a21 | ||
|
|
2b6d8eba78 | ||
|
|
6bc6a10d66 | ||
|
|
51f8b12e13 | ||
|
|
957a6b512e | ||
|
|
8bc1c1c58c |
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "hydralauncher",
|
||||
"version": "3.6.4",
|
||||
"version": "3.6.7",
|
||||
"description": "Hydra",
|
||||
"main": "./out/main/index.js",
|
||||
"author": "Los Broxas",
|
||||
|
||||
@@ -94,7 +94,7 @@ const createSteamShortcut = async (
|
||||
|
||||
if (!steamUserIds.length) {
|
||||
logger.error("No Steam user ID found");
|
||||
return;
|
||||
throw new Error("No Steam user ID found");
|
||||
}
|
||||
|
||||
const [iconImage, heroImage, logoImage, coverImage, libraryImage] =
|
||||
|
||||
@@ -4,7 +4,6 @@ import { Downloader } from "@shared";
|
||||
import { levelKeys, db } from "./level";
|
||||
import type { UserPreferences } from "@types";
|
||||
import {
|
||||
WSClient,
|
||||
SystemPath,
|
||||
CommonRedistManager,
|
||||
TorBoxClient,
|
||||
@@ -47,7 +46,7 @@ export const loadState = async () => {
|
||||
|
||||
await HydraApi.setupApi().then(() => {
|
||||
uploadGamesBatch();
|
||||
WSClient.connect();
|
||||
// WSClient.connect();
|
||||
});
|
||||
|
||||
const downloads = await downloadsSublevel
|
||||
|
||||
@@ -279,13 +279,17 @@ export const findAchievementFiles = (game: Game) => {
|
||||
};
|
||||
|
||||
const steamUserIds = await getSteamUsersIds();
|
||||
const steamPath = await getSteamLocation();
|
||||
const steamPath = await getSteamLocation().catch(() => null);
|
||||
|
||||
export const findAchievementFileInSteamPath = async (game: Game) => {
|
||||
if (!steamUserIds.length) {
|
||||
return [];
|
||||
}
|
||||
|
||||
if (!steamPath) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const userPreferences = await db.get<string, UserPreferences | null>(
|
||||
levelKeys.userPreferences,
|
||||
{
|
||||
|
||||
@@ -11,7 +11,6 @@ import { getUserData } from "./user/get-user-data";
|
||||
import { db } from "@main/level";
|
||||
import { levelKeys } from "@main/level/sublevels";
|
||||
import type { Auth, User } from "@types";
|
||||
import { WSClient } from "./ws/ws-client";
|
||||
|
||||
interface HydraApiOptions {
|
||||
needsAuth?: boolean;
|
||||
@@ -103,8 +102,8 @@ export class HydraApi {
|
||||
WindowManager.mainWindow.webContents.send("on-signin");
|
||||
await clearGamesRemoteIds();
|
||||
uploadGamesBatch();
|
||||
WSClient.close();
|
||||
WSClient.connect();
|
||||
// WSClient.close();
|
||||
// WSClient.connect();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -42,6 +42,10 @@ export const getSteamLocation = async () => {
|
||||
reject(err);
|
||||
}
|
||||
|
||||
if (!value) {
|
||||
reject(new Error("SteamPath not found in registry"));
|
||||
}
|
||||
|
||||
resolve(value.value);
|
||||
});
|
||||
});
|
||||
@@ -78,7 +82,15 @@ export const getSteamAppDetails = async (
|
||||
};
|
||||
|
||||
export const getSteamUsersIds = async () => {
|
||||
const userDataPath = await getSteamLocation();
|
||||
const userDataPath = await getSteamLocation().catch(() => null);
|
||||
|
||||
if (!userDataPath) {
|
||||
return [];
|
||||
}
|
||||
|
||||
if (!fs.existsSync(userDataPath)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const userIds = fs.readdirSync(path.join(userDataPath, "userdata"), {
|
||||
withFileTypes: true,
|
||||
|
||||
@@ -181,6 +181,9 @@ export class WindowManager {
|
||||
});
|
||||
|
||||
this.mainWindow.on("close", async () => {
|
||||
const mainWindow = this.mainWindow;
|
||||
this.mainWindow = null;
|
||||
|
||||
const userPreferences = await db.get<string, UserPreferences>(
|
||||
levelKeys.userPreferences,
|
||||
{
|
||||
@@ -188,9 +191,11 @@ export class WindowManager {
|
||||
}
|
||||
);
|
||||
|
||||
if (this.mainWindow) {
|
||||
const lastBounds = this.mainWindow.getBounds();
|
||||
const isMaximized = this.mainWindow.isMaximized() ?? false;
|
||||
if (mainWindow) {
|
||||
mainWindow.setProgressBar(-1);
|
||||
|
||||
const lastBounds = mainWindow.getBounds();
|
||||
const isMaximized = mainWindow.isMaximized() ?? false;
|
||||
const screenConfig = isMaximized
|
||||
? {
|
||||
x: undefined,
|
||||
@@ -207,9 +212,6 @@ export class WindowManager {
|
||||
if (userPreferences?.preferQuitInsteadOfHiding) {
|
||||
app.quit();
|
||||
}
|
||||
|
||||
WindowManager.mainWindow?.setProgressBar(-1);
|
||||
WindowManager.mainWindow = null;
|
||||
});
|
||||
|
||||
this.mainWindow.webContents.setWindowOpenHandler((handler) => {
|
||||
@@ -584,7 +586,7 @@ export class WindowManager {
|
||||
|
||||
tray.setToolTip("Hydra Launcher");
|
||||
|
||||
if (process.platform !== "darwin") {
|
||||
if (process.platform === "win32") {
|
||||
await updateSystemTray();
|
||||
|
||||
tray.addListener("double-click", () => {
|
||||
@@ -595,6 +597,18 @@ export class WindowManager {
|
||||
}
|
||||
});
|
||||
|
||||
tray.addListener("right-click", showContextMenu);
|
||||
} else if (process.platform === "linux") {
|
||||
await updateSystemTray();
|
||||
|
||||
tray.addListener("click", () => {
|
||||
if (this.mainWindow) {
|
||||
this.mainWindow.show();
|
||||
} else {
|
||||
this.createMainWindow();
|
||||
}
|
||||
});
|
||||
|
||||
tray.addListener("right-click", showContextMenu);
|
||||
} else {
|
||||
tray.addListener("click", showContextMenu);
|
||||
|
||||
@@ -41,7 +41,9 @@ export function GameItem({ game }: GameItemProps) {
|
||||
setAdded(exists);
|
||||
}, [library, game.shop, game.objectId]);
|
||||
|
||||
const addGameToLibrary = async (event: React.MouseEvent | React.KeyboardEvent) => {
|
||||
const addGameToLibrary = async (
|
||||
event: React.MouseEvent | React.KeyboardEvent
|
||||
) => {
|
||||
event.stopPropagation();
|
||||
if (added || isAddingToLibrary) return;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user