Skip to content

Commit c522312

Browse files
author
prima
committed
fix: Suggestions not being encoded properly
1 parent 0275d2d commit c522312

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

klite.embd

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25954,10 +25954,32 @@ let checkFinalThoughtsPrompt = `Action: {"command":{"name":"thought","args":{"me
2595425954
{
2595525955
loadingNewGame = false
2595625956
let suggestionsRegex = new RegExp(`suggestionsToPickFrom: (\\[.*?\\])`, "gm")
25957+
25958+
let decodeEntities = (function() {
25959+
// this prevents any overhead from creating the object each time
25960+
let element = document.createElement('div');
25961+
25962+
function decodeHTMLEntities (str) {
25963+
if(str && typeof str === 'string') {
25964+
// strip script/html tags
25965+
str = str.replace(/<script[^>]*>([\S\s]*?)<\/script>/gmi, '');
25966+
str = str.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gmi, '');
25967+
element.innerHTML = str;
25968+
str = element.textContent;
25969+
element.textContent = '';
25970+
}
25971+
25972+
return str;
25973+
}
25974+
25975+
return decodeHTMLEntities;
25976+
})();
25977+
2595725978
for (let i = combined_chunks.length - 1; i >= 0 && i >= combined_chunks.length - 4; i--) {
2595825979
let elem = combined_chunks[i]
2595925980
try {
25960-
let suggestions = JSON.parse([...elem.message.matchAll(suggestionsRegex)][0][1].replaceAll("&quot;", `"`))
25981+
let cleanedText = decodeEntities(elem.message)
25982+
let suggestions = JSON.parse([...cleanedText.matchAll(suggestionsRegex)][0][1].replaceAll("&quot;", `"`))
2596125983
setSuggestions(suggestions)
2596225984
break
2596325985
}

0 commit comments

Comments
 (0)