Do not allow empty or undefined variable names. Closes #3204

372ac26080d89f8dd249105f3cc381cf746ea7d0

Cohee <18619528+Cohee1207@users.noreply.github.com>

2 files changed, +8 -0Showing whitespace changes
public/scripts/macros.js+4 -0
@@ -516,7 +516,11 @@ export function evaluateMacros(content, env, postProcessFn) {
516 break;516 break;
517 }517 }
518518
519 try {
519 content = content.replace(macro.regex, (...args) => postProcessFn(macro.replace(...args)));520 content = content.replace(macro.regex, (...args) => postProcessFn(macro.replace(...args)));
521 } catch (e) {
522 console.warn(`Macro content can't be replaced: ${macro.regex} in ${content}`, e);
523 }
520 }524 }
521525
522 return content;526 return content;
public/scripts/variables.js+4 -0
@@ -46,6 +46,10 @@ function getLocalVariable(name, args = {}) {
46}46}
4747
48function setLocalVariable(name, value, args = {}) {48function setLocalVariable(name, value, args = {}) {
49 if (!name) {
50 throw new Error('Variable name cannot be empty or undefined.');
51 }
52
49 if (!chat_metadata.variables) {53 if (!chat_metadata.variables) {
50 chat_metadata.variables = {};54 chat_metadata.variables = {};
51 }55 }