Skip to content

Commit 0bd661c

Browse files
committed
Refactor updater logic and update dependencies
Refactored updater.js to improve update checking logic, separating automatic and manual update flows. The manual update check now opens the GitHub releases page for downloads. Updated serde_json dependency in Cargo.toml from 1.0.147 to 1.0.148.
1 parent cf07659 commit 0bd661c

3 files changed

Lines changed: 58 additions & 63 deletions

File tree

ets2-tool/src-tauri/Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ets2-tool/src-tauri/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ tauri = { version = "2.9.5", features = [] }
2323
tauri-plugin-opener = "2.5.2"
2424
regex = "1.12.2"
2525
serde = { version = "1.0.228", features = ["derive"] }
26-
serde_json = "1.0.147"
26+
serde_json = "1.0.148"
2727
dirs = "6.0.0"
2828
decrypt_truck = "1.3.4"
2929
log = "0.4.29"

ets2-tool/src/js/updater.js

Lines changed: 56 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,30 @@
11
const updater = window.__TAURI__.updater;
22
const { relaunch } = window.__TAURI__.process;
3+
const { openUrl } = window.__TAURI__.opener;
34

45
/**
56
* Prüft beim Start, ob ein Update verfügbar ist und installiert es ggf.
67
*/
78
export async function checkUpdaterOnStartup(showToast) {
8-
try {
9-
const update = await updater.check();
10-
11-
console.log("[updater] Update-Objekt:", update);
12-
console.log("[updater] Current Version:", update.currentVersion);
13-
console.log("[updater] Latest Version:", update.version);
14-
console.log("[updater] Should Update:", update.shouldUpdate);
15-
16-
if (!update || update.shouldUpdate === false) {
17-
showToast?.(
18-
"Update-Service derzeit nicht verfügbar oder keine neue Version gefunden.",
19-
"warning"
20-
);
21-
return;
22-
}
23-
24-
const shouldUpdate = confirm(
25-
`Ein Update auf Version ${update.version} ist verfügbar.\n\nJetzt herunterladen und installieren?`
26-
);
27-
if (!shouldUpdate) return;
28-
29-
showToast?.("Update wird heruntergeladen …", "info");
30-
31-
await update.downloadAndInstall((event) => {
32-
switch (event.event) {
33-
case "Started":
34-
console.log(`[Updater] Download gestartet: ${event.data.contentLength ?? 0} bytes`);
35-
break;
36-
case "Progress":
37-
console.log(`[Updater] Fortschritt: ${event.data.chunkLength ?? 0} bytes`);
38-
break;
39-
case "Finished":
40-
console.log("[Updater] Download abgeschlossen");
41-
break;
42-
}
43-
});
44-
45-
showToast?.("Update installiert – Neustart …", "success");
46-
await relaunch();
47-
48-
} catch (err) {
49-
console.error("[updater] Fehler beim Auto-Update:", err);
50-
showToast?.("Auto-Update fehlgeschlagen", "error");
51-
}
52-
}
53-
54-
/**
55-
* Manuelles Update-Check
56-
*/
57-
export async function manualUpdateCheck(showToast) {
589
try {
59-
showToast?.("Suche nach Updates …", "info");
60-
6110
const update = await updater.check();
6211

63-
if (!update) {
64-
console.log("[updater] Kein Update verfügbar / Feed nicht erreichbar");
12+
console.log("[updater] Update-Objekt:", update);
13+
console.log("[updater] Current Version:", update.currentVersion);
14+
console.log("[updater] Latest Version:", update.version);
15+
console.log("[updater] Should Update:", update.shouldUpdate);
16+
17+
if (!update || update.shouldUpdate === false) {
6518
showToast?.(
66-
"Update-Service derzeit nicht verfügbar. Prüfe Internetverbindung und Installation.",
19+
"Update-Service derzeit nicht verfügbar oder keine neue Version gefunden.",
6720
"warning"
6821
);
6922
return;
7023
}
7124

72-
console.log(`[updater] Gefundenes Update: aktuelle Version ${update.currentVersion}, neue Version ${update.version}`);
73-
74-
7525
const shouldUpdate = confirm(
76-
`Update verfügbar: v${update.version}\n\nJetzt installieren?`
26+
`Ein Update auf Version ${update.version} ist verfügbar.\n\nJetzt herunterladen und installieren?`
7727
);
78-
7928
if (!shouldUpdate) return;
8029

8130
showToast?.("Update wird heruntergeladen …", "info");
@@ -97,8 +46,54 @@ export async function manualUpdateCheck(showToast) {
9746
showToast?.("Update installiert – Neustart …", "success");
9847
await relaunch();
9948

49+
} catch (err) {
50+
console.error("[updater] Fehler beim Auto-Update:", err);
51+
showToast?.("Auto-Update fehlgeschlagen", "error");
52+
}
53+
}
54+
55+
/**
56+
* Manuelles Update-Check
57+
*/
58+
export async function manualUpdateCheck(showToast) {
59+
try {
60+
showToast?.("Suche nach Updates …", "info");
61+
62+
const update = await updater.check();
63+
64+
if (!update) {
65+
console.warn("[updater] Update-Feed nicht erreichbar");
66+
showToast?.(
67+
"Update-Service derzeit nicht verfügbar. Prüfe Internetverbindung und Installation.",
68+
"warning"
69+
);
70+
return;
71+
}
72+
73+
if (update.version === update.currentVersion) {
74+
console.log("[updater] Keine Updates verfügbar");
75+
showToast?.("Keine Updates verfügbar. Du hast die aktuelle Version.", "success");
76+
return;
77+
}
78+
79+
console.log(`[updater] Gefundenes Update: aktuelle Version ${update.currentVersion}, neue Version ${update.version}`);
80+
showToast?.(`Neue Version verfügbar: ${update.version}`, "info");
81+
82+
// ---- Neuer Teil: GitHub-Link öffnen ----
83+
const shouldOpen = confirm(
84+
`Update verfügbar: v${update.version}\n\nMöchtest du die neue Version auf GitHub herunterladen?`
85+
);
86+
87+
if (shouldOpen) {
88+
// GitHub-Release-Seite öffnen (hier musst du ggf. deine URL anpassen)
89+
await openUrl("https://github.com/xLieferant/Save-Edit-Tool/releases/latest");
90+
}
91+
10092
} catch (err) {
10193
console.error("[updater] Fehler beim manuellen Update-Check:", err);
102-
showToast?.("Update-Check fehlgeschlagen", "error");
94+
showToast?.(
95+
"Update-Service derzeit nicht verfügbar oder Update fehlgeschlagen.",
96+
"warning"
97+
);
10398
}
10499
}

0 commit comments

Comments
 (0)