From df7e7a3a5d04d47a6276bd1704442b25c618db35 Mon Sep 17 00:00:00 2001 From: kwaroran Date: Tue, 9 May 2023 17:25:07 +0900 Subject: [PATCH 1/3] [feat] current spec v2 import implementaion complete --- src/ts/characterCards.ts | 91 +++++++++++++++++++++++++++++++--------- src/ts/database.ts | 3 +- 2 files changed, 73 insertions(+), 21 deletions(-) diff --git a/src/ts/characterCards.ts b/src/ts/characterCards.ts index bc7fdacd..216db824 100644 --- a/src/ts/characterCards.ts +++ b/src/ts/characterCards.ts @@ -1,6 +1,6 @@ import { get } from "svelte/store" import { alertConfirm, alertError, alertNormal, alertStore } from "./alert" -import { DataBase, defaultSdDataFunc, type character, saveImage, setDatabase } from "./database" +import { DataBase, defaultSdDataFunc, type character, saveImage, setDatabase, type customscript } from "./database" import { checkNullish, selectSingleFile, sleep } from "./util" import { language } from "src/lang" import { encode as encodeMsgpack, decode as decodeMsgpack } from "@msgpack/msgpack"; @@ -9,6 +9,7 @@ import exifr from 'exifr' import { PngMetadata } from "./exif" import { characterFormatUpdate } from "./characters" import { downloadFile, readImage } from "./globalApi" +import { cloneDeep } from "lodash" type OfficialCardSpec = { spec: 'chara_card_v2' @@ -43,7 +44,8 @@ export async function importCharacter() { if(f.name.endsWith('json')){ const da = JSON.parse(Buffer.from(f.data).toString('utf-8')) if(await importSpecv2(da)){ - return + let db = get(DataBase) + return db.characters.length - 1 } if((da.char_name || da.name) && (da.char_persona || da.description) && (da.char_greeting || da.first_mes)){ let db = get(DataBase) @@ -86,13 +88,12 @@ export async function importCharacter() { await sleep(10) const img = f.data const readed = (await exifr.parse(img, true)) - - console.log(readed) if(readed.chara){ // standard spec v2 imports const charaData:CharacterCardV2 = JSON.parse(Buffer.from(readed.chara, 'base64').toString('utf-8')) - if(await importSpecv2(charaData)){ - return + if(await importSpecv2(charaData, img)){ + let db = get(DataBase) + return db.characters.length - 1 } } if(readed.risuai){ @@ -272,26 +273,71 @@ export async function exportChar(charaID:number) { } -async function importSpecv2(card:CharacterCardV2):Promise{ +async function importSpecv2(card:CharacterCardV2, img?:Uint8Array):Promise{ if(!card ||card.spec !== 'chara_card_v2'){ return false } - let data = card.data - + const data = card.data + const im = img ? await saveImage(PngMetadata.filter(img)) : undefined let db = get(DataBase) - const risuext = data.extensions.risuai - if(risuext && risuext.emotions){ - for(let i=0;i{ - return JSON.parse(JSON.stringify(defaultSdData)) + return cloneDeep(defaultSdData) } export function updateTextTheme(){ From 753a88d333cd640a45a15f2f192fa1196f07fc7e Mon Sep 17 00:00:00 2001 From: kwaroran Date: Tue, 9 May 2023 18:23:56 +0900 Subject: [PATCH 2/3] update to 0.7.4 --- src-tauri/tauri.conf.json | 2 +- src/ts/database.ts | 2 +- version.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index d2ff6511..7c6bb22a 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -8,7 +8,7 @@ }, "package": { "productName": "RisuAI", - "version": "0.7.3" + "version": "0.7.4" }, "tauri": { "allowlist": { diff --git a/src/ts/database.ts b/src/ts/database.ts index e543725b..afeb1b78 100644 --- a/src/ts/database.ts +++ b/src/ts/database.ts @@ -7,7 +7,7 @@ import { cloneDeep } from 'lodash'; export const DataBase = writable({} as any as Database) export const loadedStore = writable(false) -export let appVer = '0.7.3' +export let appVer = '0.7.4' export function setDatabase(data:Database){ diff --git a/version.json b/version.json index cb4cf34b..2f65d68d 100644 --- a/version.json +++ b/version.json @@ -1 +1 @@ -{"version":"0.7.3"} +{"version":"0.7.4"} From d943bee02e5f71a7af97985c9edb43a27cb6dff1 Mon Sep 17 00:00:00 2001 From: kwaroran Date: Tue, 9 May 2023 18:24:19 +0900 Subject: [PATCH 3/3] [chore] added prefix v to release actions --- .github/workflows/github-actions-builder.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/github-actions-builder.yml b/.github/workflows/github-actions-builder.yml index 8abf199d..c6bb9509 100644 --- a/.github/workflows/github-actions-builder.yml +++ b/.github/workflows/github-actions-builder.yml @@ -47,7 +47,7 @@ jobs: with: repo_token: "${{ secrets.GITHUB_TOKEN }}" automatic_release_tag: "latest" - tag_name: "${{fromJson(env.VERSION_JSON).version}}" + tag_name: "v${{fromJson(env.VERSION_JSON).version}}" name: "${{fromJson(env.VERSION_JSON).version}}" generate_release_notes: true files: | @@ -60,7 +60,7 @@ jobs: with: repo_token: "${{ secrets.GITHUB_TOKEN }}" automatic_release_tag: "latest" - tag_name: "${{fromJson(env.VERSION_JSON).version}}" + tag_name: "v${{fromJson(env.VERSION_JSON).version}}" name: "${{fromJson(env.VERSION_JSON).version}}" generate_release_notes: true files: | @@ -73,7 +73,7 @@ jobs: with: repo_token: "${{ secrets.GITHUB_TOKEN }}" automatic_release_tag: "latest" - tag_name: "${{fromJson(env.VERSION_JSON).version}}" + tag_name: "v${{fromJson(env.VERSION_JSON).version}}" name: "${{fromJson(env.VERSION_JSON).version}}" generate_release_notes: true files: |