Skip to content

Commit

Permalink
refresh local models in real-time (#98)
Browse files Browse the repository at this point in the history
  • Loading branch information
josStorer committed Jul 7, 2023
1 parent 7210a74 commit 2d54560
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 9 deletions.
10 changes: 2 additions & 8 deletions frontend/src/pages/Downloads.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import React, { FC, useEffect } from 'react';
import React, { FC } from 'react';
import { useTranslation } from 'react-i18next';
import { Page } from '../components/Page';
import { observer } from 'mobx-react-lite';
import commonStore from '../stores/commonStore';
import { Divider, Field, ProgressBar } from '@fluentui/react-components';
import { bytesToGb, bytesToKb, bytesToMb, refreshLocalModels } from '../utils';
import { bytesToGb, bytesToKb, bytesToMb } from '../utils';
import { ToolTipButton } from '../components/ToolTipButton';
import { Folder20Regular, Pause20Regular, Play20Regular } from '@fluentui/react-icons';
import { AddToDownloadList, OpenFileFolder, PauseDownload } from '../../wailsjs/go/backend_golang/App';
Expand All @@ -23,12 +23,6 @@ export type DownloadStatus = {

export const Downloads: FC = observer(() => {
const { t } = useTranslation();
const finishedModelsLen = commonStore.downloadList.filter((status) => status.done && status.name.endsWith('.pth')).length;
useEffect(() => {
if (finishedModelsLen > 0)
refreshLocalModels({ models: commonStore.modelSourceList }, false);
console.log('finishedModelsLen:', finishedModelsLen);
}, [finishedModelsLen]);

let displayList = commonStore.downloadList.slice();
const downloadListNames = displayList.map(s => s.name);
Expand Down
10 changes: 9 additions & 1 deletion frontend/src/startup.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import commonStore, { Platform } from './stores/commonStore';
import { GetPlatform, ListDirFiles, ReadJson } from '../wailsjs/go/backend_golang/App';
import { Cache, checkUpdate, downloadProgramFiles, LocalConfig, refreshModels } from './utils';
import { Cache, checkUpdate, downloadProgramFiles, LocalConfig, refreshLocalModels, refreshModels } from './utils';
import { getStatus } from './apis';
import { EventsOn } from '../wailsjs/runtime';
import manifest from '../../manifest.json';
Expand All @@ -18,6 +18,7 @@ export async function startup() {
EventsOn('wslerr', (e) => {
console.log(e);
});
initLocalModelsNotify();
initLoraModels();

initPresets();
Expand Down Expand Up @@ -109,3 +110,10 @@ async function initLoraModels() {
refreshLoraModels();
});
}

async function initLocalModelsNotify() {
EventsOn('fsnotify', (data: string) => {
if (data.includes('models') && !data.includes('lora-models'))
refreshLocalModels({ models: commonStore.modelSourceList }, false); //TODO fix bug that only add models
});
}

0 comments on commit 2d54560

Please sign in to comment.