diff --git a/.gitignore b/.gitignore index bbf7c059f..1288c551b 100644 --- a/.gitignore +++ b/.gitignore @@ -51,3 +51,5 @@ electron/shared/** # docs docs/yarn.lock electron/.version.bak +src-tauri/binaries/engines/cortex.llamacpp +src-tauri/resources/themes diff --git a/src-tauri/src/handlers/cmd.rs b/src-tauri/src/handlers/cmd.rs index e9e980a99..82bb06c61 100644 --- a/src-tauri/src/handlers/cmd.rs +++ b/src-tauri/src/handlers/cmd.rs @@ -4,7 +4,7 @@ use std::fs; use std::fs::File; use std::io::Read; use tar::Archive; -use tauri::AppHandle; +use tauri::{process, AppHandle}; use serde::{Deserialize, Serialize}; use std::path::PathBuf; @@ -150,6 +150,11 @@ pub fn default_data_folder_path(app_handle: tauri::AppHandle) -> String { .to_string(); } +#[tauri::command] +pub fn relaunch(app: AppHandle) { + app.restart() +} + #[tauri::command] pub fn get_active_extensions(app: AppHandle) -> Vec { let mut path = get_jan_extensions_path(app); diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index ede050b65..a0cc29d45 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -61,6 +61,7 @@ pub fn run() { handlers::cmd::update_app_configuration, handlers::cmd::get_jan_data_folder_path, handlers::cmd::get_jan_extensions_path, + handlers::cmd::relaunch, app_token, ]) .manage(AppState { diff --git a/web/hooks/useFactoryReset.ts b/web/hooks/useFactoryReset.ts index 43347b26d..90723f9cd 100644 --- a/web/hooks/useFactoryReset.ts +++ b/web/hooks/useFactoryReset.ts @@ -39,18 +39,16 @@ export default function useFactoryReset() { await stopModel() await Promise.all( - EngineManager.instance() - .engines.values() - .map(async (engine) => { - await engine.onUnload() - }) + Object.values(EngineManager.instance().engines).map(async (engine) => { + await engine.onUnload() + }) ) await new Promise((resolve) => setTimeout(resolve, 4000)) // 2: Delete the old jan data folder setFactoryResetState(FactoryResetState.DeletingData) - await fs.rm(janDataFolderPath) + await fs.rm({ args: [janDataFolderPath] }) // 3: Set the default jan data folder if (!keepCurrentFolder) { @@ -64,16 +62,15 @@ export default function useFactoryReset() { } // Perform factory reset - await window.core?.api?.factoryReset() + // await window.core?.api?.factoryReset() // 4: Clear app local storage setFactoryResetState(FactoryResetState.ClearLocalStorage) // reset the localStorage localStorage.clear() - window.core = undefined // 5: Relaunch the app - window.location.reload() + window.core.api.relaunch() }, [defaultJanDataFolder, stopModel, setFactoryResetState] ) diff --git a/web/hooks/useLoadTheme.ts b/web/hooks/useLoadTheme.ts index d292803f6..305663992 100644 --- a/web/hooks/useLoadTheme.ts +++ b/web/hooks/useLoadTheme.ts @@ -51,8 +51,10 @@ export const useLoadTheme = () => { const themesOptions: { name: string; value: string }[] = installedThemes.map((x: string) => ({ - name: x.replace(/-/g, ' ').replace(/\b\w/g, (char) => char.toUpperCase()), - value: x, + name: x + .replace(/-/g, ' ') + .replace(/\b\w/g, (char) => char.toUpperCase()), + value: x, })) setThemeOptions(themesOptions) diff --git a/web/screens/Settings/Appearance/index.tsx b/web/screens/Settings/Appearance/index.tsx index 2eea7c105..9cff4b9ac 100644 --- a/web/screens/Settings/Appearance/index.tsx +++ b/web/screens/Settings/Appearance/index.tsx @@ -56,11 +56,6 @@ export default function AppearanceOptions() { const theme: Theme = JSON.parse(await fs.readFileSync(filePath, 'utf-8')) setThemeData(theme) setTheme(String(theme?.nativeTheme)) - if (theme?.reduceTransparent) { - setReduceTransparent(reduceTransparent) - } else { - setReduceTransparent(true) - } }, [ janDataFolderPath,