11const updater = window . __TAURI__ . updater ;
22const { 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 */
78export 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