import { fetch } from "@tauri-apps/api/http"; import { DataBase, appVer, setDatabase } from "./storage/database"; import { alertConfirm, alertError, alertMd } from "./alert"; import { language } from "../lang"; import { get } from "svelte/store"; import {open} from '@tauri-apps/api/shell' import { Capacitor } from "@capacitor/core"; export async function checkUpdate(){ try { if(Capacitor.isNativePlatform()){ return } let db = get(DataBase) const da = await fetch('https://raw.githubusercontent.com/kwaroran/RisuAI-release/main/version.json') //@ts-ignore const v:string = da.data.version if(!v){ return } if(v === db.lastup){ return } const nextVer = versionStringToNumber(v) if(isNaN(nextVer) || (!nextVer)){ return } const appVerNum = versionStringToNumber(appVer) if(appVerNum < nextVer){ const conf = await alertConfirm(language.newVersion) if(conf){ open("https://risuai.net/?page=download") } else{ db = get(DataBase) db.lastup = v setDatabase(db) } } } catch (error) { alertError(error) return } } function versionStringToNumber(versionString:string):number { return Number( versionString .split(".") .map((component) => component.padStart(4, "0")) .join("") ); }