Change DataBase inside svelte to DBState for performance

This commit is contained in:
kwaroran
2024-10-23 23:46:32 +09:00
parent a9f1819044
commit 2044d9b63b
122 changed files with 1372 additions and 1424 deletions

View File

@@ -1,5 +1,5 @@
import { get, writable } from "svelte/store"
import { DataBase } from "./database"
import { DataBase } from "./database.svelte"
import { hubURL } from "../characterCards"
import localforage from "localforage"
import { alertError, alertLogin, alertStore, alertWait } from "../alert"

View File

@@ -4,7 +4,7 @@ import { NodeStorage } from "./nodeStorage"
import { OpfsStorage } from "./opfsStorage"
import { alertInput, alertSelect, alertStore } from "../alert"
import { get } from "svelte/store"
import { DataBase, type Database } from "./database"
import { DataBase, type Database } from "./database.svelte"
import { AccountStorage } from "./accountStorage"
import { decodeRisuSave, encodeRisuSave } from "./risuSave";
import { language } from "src/lang"

View File

@@ -1,8 +1,3 @@
export const DataBase = writable({} as any as Database)
export const loadedStore = writable(false)
export let appVer = "137.1.0"
export let webAppSubVer = ''
import { get, writable } from 'svelte/store';
import { checkNullish, decryptBuffer, encryptBuffer, selectSingleFile } from '../util';
import { changeLanguage, language } from '../../lang';
@@ -17,6 +12,18 @@ import { defaultColorScheme, type ColorScheme } from '../gui/colorscheme';
import type { PromptItem, PromptSettings } from '../process/prompt';
import type { OobaChatCompletionRequestParams } from '../model/ooba';
export const DataBase = writable({} as any as Database)
export const DBState = $state({
db: get(DataBase)
})
export const loadedStore = writable(false)
export let appVer = "137.1.0"
export let webAppSubVer = ''
DataBase.subscribe(data => {
DBState.db = data
})
export function setDatabase(data:Database){
if(checkNullish(data.characters)){
data.characters = []
@@ -954,7 +961,7 @@ export interface loreSettings{
}
export interface groupChat{
export interface groupChat{
type: 'group'
image?:string
firstMessage:string
@@ -992,6 +999,30 @@ export interface groupChat{
lowLevelAccess?:boolean
hideChatIcon?:boolean
lastInteraction?:number
//lazy hack for typechecking
voicevoxConfig?:any
ttsSpeech?:string
naittsConfig?:any
oaiVoice?:string
hfTTS?: any
vits?: OnnxModelFiles
gptSoVitsConfig?:any
fishSpeechConfig?:any
ttsReadOnlyQuoted?:boolean
exampleMessage?:string
systemPrompt?:string
replaceGlobalNote?:string
additionalText?:string
personality?:string
scenario?:string
translatorNote?:string
additionalData?: any
depth_prompt?: { depth: number, prompt: string }
additionalAssets?:[string, string, string][]
utilityBot?:boolean
license?:string
realmId:string
}
export interface botPreset{

View File

@@ -1,5 +1,5 @@
import { get } from "svelte/store";
import { DataBase } from "./database";
import { DataBase } from "./database.svelte";
import { downloadFile } from "./globalApi";
import { alertNormal } from "../alert";
import { language } from "src/lang";

View File

@@ -13,7 +13,7 @@ import { v4 as uuidv4, v4 } from 'uuid';
import { appDataDir, join } from "@tauri-apps/api/path";
import { get } from "svelte/store";
import {open} from '@tauri-apps/plugin-shell'
import { DataBase, loadedStore, setDatabase, type Database, defaultSdDataFunc } from "./database";
import { DataBase, loadedStore, setDatabase, type Database, defaultSdDataFunc } from "./database.svelte";
import { getCurrentWebviewWindow } from "@tauri-apps/api/webviewWindow";
import { checkRisuUpdate } from "../update";
import { MobileGUI, botMakerMode, selectedCharID } from "../stores";

View File

@@ -1,5 +1,5 @@
import { get } from "svelte/store";
import { DataBase } from "./database";
import { DataBase } from "./database.svelte";
import { alertNormal } from "../alert";
import { language } from "src/lang";
import { isNodeServer, isTauri } from "./globalApi";