ai: fewer updates to fix one single latex expr being rendered 800 times

This commit is contained in:
end-4
2025-04-06 18:16:47 +02:00
parent 3dc0a61acc
commit 3f89411205
4 changed files with 15 additions and 6 deletions
@@ -6,6 +6,7 @@
"defaultGPTProvider": "ollama_llama_3_2",
"defaultTemperature": 0.5,
"enhancements": true,
"charsEachUpdate": 50, // Lower = smoother update rate, but more update lag
"keep_alive": -1, // For ollama. -1 means forever
"useHistory": false,
"safety": true,
+2 -2
View File
@@ -49,8 +49,8 @@ const replaceCategory = (text, replaces) => {
// Main function
export function replaceInlineLatexWithCodeBlocks(text) {
return text.replace(/\\\[(.*?)\\\]|\\\((.*?)\\\)/gs, (match, square, round) => {
const latex = square || round;
return text.replace(/\\\[(.*?)\\\]|\\\((.*?)\\\)|\$\$(.*?)\$\$|(?<!\w)\$(.*?[^\\])\$(?!\w)/gs, (match, square, round, double, single) => {
const latex = square || round || double || single;
return `\n\`\`\`latex\n${latex}\n\`\`\`\n`;
});
}
+6 -2
View File
@@ -62,6 +62,7 @@ class GeminiMessage extends Service {
_role = '';
_parts = [{ text: '' }];
_lastContentLength = 0;
_thinking;
_done = false;
_rawData = '';
@@ -88,8 +89,11 @@ class GeminiMessage extends Service {
}
set content(content) {
this._parts = [{ text: content }];
this.notify('content')
this.emit('changed')
if (content.length - this._lastContentLength >= userOptions.ai.charsEachUpdate) {
this.notify('content')
this.emit('changed')
this._lastContentLength = content.length;
}
}
get parts() { return this._parts }
+6 -2
View File
@@ -91,6 +91,7 @@ class GPTMessage extends Service {
_role = '';
_content = '';
_lastContentLength = 0;
_thinking;
_done = false;
@@ -111,8 +112,11 @@ class GPTMessage extends Service {
get content() { return this._content }
set content(content) {
this._content = content;
this.notify('content')
this.emit('changed')
if (this._content.length - this._lastContentLength >= userOptions.ai.charsEachUpdate) {
this.notify('content')
this.emit('changed')
this._lastContentLength = this._content.length;
}
}
get label() { return this._parserState.parsed + this._parserState.stack.join('') }