diff --git a/src/lang/en.ts b/src/lang/en.ts
index e1017542..1d3792e1 100644
--- a/src/lang/en.ts
+++ b/src/lang/en.ts
@@ -25,6 +25,9 @@ export const languageEnglish = {
noUserIcon: "You must set your icon first.",
emptyText: "Text is empty.",
wrongPassword: "Wrong Password",
+ networkFetch: "This happens when the network is unstable or the server is down.",
+ networkFetchWeb: "This can be a CORS error. this only happens when using web version dude to limitations of the browser. try using desktop local version, or other version of RisuAI.",
+ networkFetchPlain: "This can be a plain fetch error. try disabling force plain fetch option in settings.",
},
showHelp: "Show Help",
help:{
diff --git a/src/lib/Others/AlertComp.svelte b/src/lib/Others/AlertComp.svelte
index 4c6c5188..e69c1790 100644
--- a/src/lib/Others/AlertComp.svelte
+++ b/src/lib/Others/AlertComp.svelte
@@ -68,6 +68,9 @@
}}>Terms of Service to continue
{:else if $alertStore.type !== 'select'}
{$alertStore.msg}
+ {#if $alertStore.submsg}
+ {$alertStore.submsg}
+ {/if}
{/if}
{#if $alertStore.type === 'ask'}
diff --git a/src/ts/alert.ts b/src/ts/alert.ts
index fbe3e9e1..479f9468 100644
--- a/src/ts/alert.ts
+++ b/src/ts/alert.ts
@@ -1,24 +1,38 @@
import { get, writable } from "svelte/store"
import { sleep } from "./util"
import { language } from "../lang"
+import { isNodeServer, isTauri } from "./storage/globalApi"
+import { Capacitor } from "@capacitor/core"
+import { DataBase } from "./storage/database"
interface alertData{
type: 'error'| 'normal'|'none'|'ask'|'wait'|'selectChar'|'input'|'toast'|'wait2'|'markdown'|'select'|'login'|'tos'|'cardexport'
- msg: string
+ msg: string,
+ submsg?: string
}
export const alertStore = writable({
type: 'none',
- msg: 'n'
+ msg: 'n',
} as alertData)
export function alertError(msg:string){
console.error(msg)
+ const db = get(DataBase)
+
+ let submsg = ''
+
+ //check if it's a known error
+ if(msg.includes('Failed to fetch') || msg.includes("NetworkError when attempting to fetch resource.")){
+ submsg = db.usePlainFetch ? language.errors.networkFetchPlain :
+ (!isTauri && !isNodeServer && !Capacitor.isNativePlatform()) ? language.errors.networkFetchWeb : language.errors.networkFetch
+ }
alertStore.set({
'type': 'error',
- 'msg': msg
+ 'msg': msg,
+ 'submsg': submsg
})
}