diff --git a/src/ts/storage/accountStorage.ts b/src/ts/storage/accountStorage.ts index 22691e45..9a96dc14 100644 --- a/src/ts/storage/accountStorage.ts +++ b/src/ts/storage/accountStorage.ts @@ -21,7 +21,8 @@ export class AccountStorage{ headers: { 'content-type': 'application/json', 'x-risu-key': key, - 'x-risu-auth': this.auth + 'x-risu-auth': this.auth, + 'X-Format': 'nocheck' } }) if(da.status === 304){ diff --git a/src/ts/storage/autoStorage.ts b/src/ts/storage/autoStorage.ts index 509b36b3..ccd2cfdd 100644 --- a/src/ts/storage/autoStorage.ts +++ b/src/ts/storage/autoStorage.ts @@ -4,9 +4,9 @@ import { NodeStorage } from "./nodeStorage" import { OpfsStorage } from "./opfsStorage" import { alertConfirm, alertSelect, alertStore } from "../alert" import { get } from "svelte/store" -import { DataBase } from "./database" +import { DataBase, type Database } from "./database" import { AccountStorage } from "./accountStorage" -import { encodeRisuSave } from "./risuSave"; +import { decodeRisuSave, encodeRisuSave } from "./risuSave"; import { language } from "src/lang" export class AutoStorage{ @@ -80,8 +80,15 @@ export class AutoStorage{ } const dba = replaceDbResources(db, replaced) - await accountStorage.setItem('database/database.bin', encodeRisuSave(dba)) - + const comp = encodeRisuSave(dba, 'compression') + //try decoding + try { + const z:Database = decodeRisuSave(comp) + if(z.formatversion){ + await accountStorage.setItem('database/database.bin', comp) + } + + } catch (error) {} this.realStorage = accountStorage alertStore.set({ type: "none", diff --git a/src/ts/storage/globalApi.ts b/src/ts/storage/globalApi.ts index 4036e157..390926f9 100644 --- a/src/ts/storage/globalApi.ts +++ b/src/ts/storage/globalApi.ts @@ -225,11 +225,16 @@ export async function saveDb(){ await writeBinaryFile(`database/dbbackup-${(Date.now()/100).toFixed()}.bin`, dbData, {dir: BaseDirectory.AppData}) } else{ - await forageStorage.setItem('database/database.bin', dbData) if(!forageStorage.isAccount){ + await forageStorage.setItem('database/database.bin', dbData) await forageStorage.setItem(`database/dbbackup-${(Date.now()/100).toFixed()}.bin`, dbData) } if(forageStorage.isAccount){ + const dbData = encodeRisuSave(db, 'compression') + const z:Database = decodeRisuSave(dbData) + if(z.formatversion){ + await forageStorage.setItem('database/database.bin', dbData) + } await sleep(5000); } }