diff --git a/src/lib/Setting/Pages/AdvancedSettings.svelte b/src/lib/Setting/Pages/AdvancedSettings.svelte
index 22c07940..0bdea6f6 100644
--- a/src/lib/Setting/Pages/AdvancedSettings.svelte
+++ b/src/lib/Setting/Pages/AdvancedSettings.svelte
@@ -134,6 +134,13 @@
+{#if DBState.db?.account?.useSync}
+
+
+
+
+
+{/if}
{#if DBState.db.dynamicAssets}
diff --git a/src/ts/characterCards.ts b/src/ts/characterCards.ts
index 0cb309fe..c895d90a 100644
--- a/src/ts/characterCards.ts
+++ b/src/ts/characterCards.ts
@@ -44,6 +44,7 @@ export async function importCharacter() {
export async function importCharacterProcess(f:{
name: string;
data: Uint8Array|File|ReadableStream
+ lightningRealmImport?:boolean
}) {
if(f.name.endsWith('json')){
if(f.data instanceof ReadableStream){
@@ -123,6 +124,9 @@ export async function importCharacterProcess(f:{
returnTrimed: true
})
const assets:{[key:string]:string} = {}
+ let queueFetch:Promise[] = []
+ let queueFetchKey:string[] = []
+ let queueFetchData:Buffer[] = []
for await (const chunk of readGenerator){
console.log(chunk)
if(!chunk){
@@ -149,10 +153,53 @@ export async function importCharacterProcess(f:{
const assetIndex = chunk.key.replace('chara-ext-asset_:', '').replace('chara-ext-asset_', '')
alertWait('Loading... (Reading Asset ' + assetIndex + ')' )
const assetData = Buffer.from(chunk.value, 'base64')
+ if(db.account?.useSync && f.lightningRealmImport){
+ const id = await hasher(assetData)
+ const xid = 'assets/' + id + '.png'
+ queueFetchKey.push(assetIndex)
+ queueFetchData.push(assetData)
+ queueFetch.push(fetch('https://sv.risuai.xyz/rs/' + xid))
+ assets[assetIndex] = 'xid:' + xid
+ if(queueFetch.length > 10){
+ const res = await Promise.all(queueFetch)
+ for(let i=0;i 0){
+ const res = await Promise.all(queueFetch)
+ for(let i=0;i