updates check

This commit is contained in:
josc146 2023-05-19 23:14:32 +08:00
parent af20324042
commit c5b3246154
4 changed files with 32 additions and 4 deletions

View File

@ -43,6 +43,7 @@
"Open Folder": "打开文件夹",
"Configs": "配置",
"Automatic Updates Check": "自动检查更新",
"Updates Check Error": "检查更新失败",
"Introduction": "介绍",
"Dark Mode": "深色模式",
"Language": "语言",

View File

@ -4,9 +4,8 @@ import {Dropdown, Option, Switch} from '@fluentui/react-components';
import {Labeled} from '../components/Labeled';
import commonStore from '../stores/commonStore';
import {observer} from 'mobx-react-lite';
import {UpdateApp} from '../../wailsjs/go/backend_golang/App';
import {useTranslation} from 'react-i18next';
import {Language, Languages} from '../utils';
import {checkUpdate, Language, Languages} from '../utils';
export const Settings: FC = observer(() => {
const {t, i18n} = useTranslation();
@ -48,7 +47,7 @@ export const Settings: FC = observer(() => {
autoUpdatesCheck: data.checked
});
if (data.checked)
UpdateApp('http://localhost:34115/dist/RWKV-Runner.exe'); //TODO
checkUpdate();
}}/>
}/>
</div>

View File

@ -1,6 +1,6 @@
import commonStore, {defaultModelConfigs} from './stores/commonStore';
import {ReadJson} from '../wailsjs/go/backend_golang/App';
import {downloadProgramFiles, LocalConfig, refreshModels} from './utils';
import {checkUpdate, downloadProgramFiles, LocalConfig, refreshModels} from './utils';
import {getStatus} from './apis';
export async function startup() {
@ -10,6 +10,9 @@ export async function startup() {
initCache();
await initConfig();
if (commonStore.settings.autoUpdatesCheck)
checkUpdate();
getStatus(500).then(status => {
if (status)
commonStore.setModelStatus(status);

View File

@ -1,6 +1,8 @@
import {DownloadFile, FileExists, ListDirFiles, ReadJson, SaveJson} from '../../wailsjs/go/backend_golang/App';
import manifest from '../../../manifest.json';
import commonStore, {ModelConfig, ModelParameters, ModelSourceItem} from '../stores/commonStore';
import {toast} from 'react-toastify';
import {t} from 'i18next';
export const Languages = {
dev: 'English', // i18n default
@ -175,4 +177,27 @@ export function forceDownloadProgramFiles() {
manifest.programFiles.forEach(({url, path}) => {
DownloadFile(path, url);
});
}
export async function checkUpdate() {
let updateUrl = '';
await fetch('https://api.github.com/repos/josstorer/RWKV-Runner/releases/latest').then((r) => {
if (r.ok) {
r.json().then((data) => {
if (data.tag_name) {
const versionTag = data.tag_name;
if (versionTag.replace('v', '') > manifest.version)
updateUrl = `https://github.com/josStorer/RWKV-Runner/releases/download/${versionTag}/RWKV-Runner_windows_x64.exe`;
} else {
throw new Error('Invalid response.');
}
});
} else {
throw new Error('Network response was not ok.');
}
}
).catch((e) => {
toast(t('Updates Check Error') + ' - ' + e.message, {type: 'error', position: 'bottom-left'});
});
return updateUrl;
}