diff --git a/android/app/build.gradle b/android/app/build.gradle
index 3837c82e..972f6dbe 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -8,7 +8,7 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 2
- versionName "114.2.0"
+ versionName "114.2.2"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
aaptOptions {
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
diff --git a/android/app/release/output-metadata.json b/android/app/release/output-metadata.json
index 1a578006..6a926053 100644
--- a/android/app/release/output-metadata.json
+++ b/android/app/release/output-metadata.json
@@ -12,7 +12,7 @@
"filters": [],
"attributes": [],
"versionCode": 2,
- "versionName": "114.2.0",
+ "versionName": "114.2.2",
"outputFile": "app-release.apk"
}
],
diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json
index 662c33e4..7459728a 100644
--- a/src-tauri/tauri.conf.json
+++ b/src-tauri/tauri.conf.json
@@ -8,7 +8,7 @@
},
"package": {
"productName": "RisuAI",
- "version": "114.2.0"
+ "version": "114.2.2"
},
"tauri": {
"allowlist": {
diff --git a/src/lib/Playground/PlaygroundMenu.svelte b/src/lib/Playground/PlaygroundMenu.svelte
index cb3ac70e..84f9a699 100644
--- a/src/lib/Playground/PlaygroundMenu.svelte
+++ b/src/lib/Playground/PlaygroundMenu.svelte
@@ -11,6 +11,7 @@
import { get } from "svelte/store";
import { DataBase, setDatabase, type character } from "src/ts/storage/database";
import PlaygroundImageGen from "./PlaygroundImageGen.svelte";
+ import PlaygroundParser from "./PlaygroundParser.svelte";
const playgroundChat = () => {
let db = get(DataBase)
@@ -75,6 +76,11 @@
}}>
{language.imageGeneration}
+
{:else}
{#if $SizeStore.w < 1024}
@@ -105,6 +111,9 @@
{#if $PlaygroundStore === 7}
{/if}
+ {#if $PlaygroundStore === 8}
+
+ {/if}
{/if}
\ No newline at end of file
diff --git a/src/lib/Playground/PlaygroundParser.svelte b/src/lib/Playground/PlaygroundParser.svelte
new file mode 100644
index 00000000..903b43a3
--- /dev/null
+++ b/src/lib/Playground/PlaygroundParser.svelte
@@ -0,0 +1,23 @@
+
+
+Full Parser
+
+Input
+
+
+
+Output HTML
+
+
\ No newline at end of file
diff --git a/src/ts/parser.ts b/src/ts/parser.ts
index 03a8a1b0..925226b8 100644
--- a/src/ts/parser.ts
+++ b/src/ts/parser.ts
@@ -187,8 +187,10 @@ export async function ParseMarkdown(data:string, charArg:(character|simpleCharac
data = await parseInlayImages(data)
data = encodeStyle(data)
- data = risuFormater(data)
- data = mconverted.parse(data)
+ if(mode !== 'back'){
+ data = risuFormater(data)
+ data = mconverted.parse(data)
+ }
return decodeStyle(DOMPurify.sanitize(data, {
ADD_TAGS: ["iframe", "style", "risu-style", "x-em"],
ADD_ATTR: ["allow", "allowfullscreen", "frameborder", "scrolling", "risu-btn", 'risu-trigger', 'risu-mark'],
@@ -761,9 +763,6 @@ const matcher = (p1:string,matcherArg:matcherArg) => {
case 'prefill_supported':{
return db.aiModel.startsWith('claude') ? '1' : '0'
}
- case 'unixtime':{
- return (Date.now() / 1000).toFixed(2)
- }
case 'screen_width':{
return get(SizeStore).w.toString()
}
@@ -1056,9 +1055,9 @@ const matcher = (p1:string,matcherArg:matcherArg) => {
if(p1.startsWith('pick')){
const selchar = db.characters[get(selectedCharID)]
const selChat = selchar.chats[selchar.chatPage]
- const cid = (chatID < 0) ? selChat.message.length : chatID
+ const cid = selChat.message.length
if(p1.startsWith('pick::')){
- const randomIndex = Math.floor(pickHashRand(cid, selchar.chaId) * (arra.length - 1)) + 1
+ const randomIndex = Math.floor(pickHashRand(cid, selchar.chaId + (selChat.id ?? '')) * (arra.length - 1)) + 1
if(matcherArg.tokenizeAccurate){
return arra[0]
}
@@ -1066,7 +1065,7 @@ const matcher = (p1:string,matcherArg:matcherArg) => {
}
else{
const arr = p1.replace(/\\,/g, '§X').split(/\:|\,/g)
- const randomIndex = Math.floor(pickHashRand(cid, selchar.chaId) * (arr.length - 1)) + 1
+ const randomIndex = Math.floor(pickHashRand(cid, selchar.chaId + (selChat.id ?? '')) * (arr.length - 1)) + 1
if(matcherArg.tokenizeAccurate){
return arra[0]
}
@@ -1089,8 +1088,8 @@ const matcher = (p1:string,matcherArg:matcherArg) => {
if(p){
const selchar = db.characters[get(selectedCharID)]
const selChat = selchar.chats[selchar.chatPage]
- const cid = (chatID < 0) ? selChat.message.length : chatID
- return (Math.floor(pickHashRand(cid, selchar.chaId) * maxRoll) + 1).toString()
+ const cid = selChat.message.length
+ return (Math.floor(pickHashRand(cid, selchar.chaId + (selChat.id ?? '')) * maxRoll) + 1).toString()
}
return (Math.floor(Math.random() * maxRoll) + 1).toString()
}
@@ -1127,7 +1126,7 @@ const matcher = (p1:string,matcherArg:matcherArg) => {
}
function pickHashRand(cid:number,word:string) {
- let hashAddress = cid * 23515
+ let hashAddress = 5515
const rand = (word:string) => {
for (let counter = 0; counter
blacklist.includes(child.nodeName.toLowerCase())
);
diff --git a/version.json b/version.json
index 5bc52848..693a9ff3 100644
--- a/version.json
+++ b/version.json
@@ -1 +1 @@
-{"version":"114.2.0"}
\ No newline at end of file
+{"version":"114.2.2"}
\ No newline at end of file