Fixing conversation history and SearXNG info block
This commit is contained in:
+16
-14
@@ -843,6 +843,20 @@ INTERACTIVE_JS = r'''
|
|||||||
'''
|
'''
|
||||||
|
|
||||||
FRONTEND_JS_TEMPLATE = r"""
|
FRONTEND_JS_TEMPLATE = r"""
|
||||||
|
// Hide SearXNG's native answers div to prevent duplicate answer display
|
||||||
|
(function() {
|
||||||
|
const hideNative = () => {
|
||||||
|
const answersDiv = document.getElementById('answers');
|
||||||
|
if (answersDiv) {
|
||||||
|
answersDiv.style.display = 'none';
|
||||||
|
}
|
||||||
|
};
|
||||||
|
hideNative();
|
||||||
|
// Also run after DOM settles in case it renders after our script
|
||||||
|
setTimeout(hideNative, 100);
|
||||||
|
setTimeout(hideNative, 500);
|
||||||
|
})();
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
const is_interactive = __IS_INTERACTIVE__;
|
const is_interactive = __IS_INTERACTIVE__;
|
||||||
const q_init = __JS_Q__;
|
const q_init = __JS_Q__;
|
||||||
@@ -1102,12 +1116,8 @@ FRONTEND_JS_TEMPLATE = r"""
|
|||||||
|
|
||||||
if (cursor) cursor.remove();
|
if (cursor) cursor.remove();
|
||||||
|
|
||||||
// Replace streamed text nodes with markdown-rendered content
|
// Only remove streaming chunk spans and cursor, preserve everything else
|
||||||
Array.from(data.childNodes).forEach(node => {
|
Array.from(data.querySelectorAll('.sxng-chunk, .sxng-cursor')).forEach(n => n.remove());
|
||||||
if (node.nodeType !== 1 || !node.classList.contains('sxng-prior-history')) {
|
|
||||||
node.remove();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const rendered = parseMarkdown(fullText.trim());
|
const rendered = parseMarkdown(fullText.trim());
|
||||||
const mdDiv = document.createElement('div');
|
const mdDiv = document.createElement('div');
|
||||||
@@ -2069,14 +2079,6 @@ class SXNGPlugin(Plugin):
|
|||||||
</script>
|
</script>
|
||||||
</article>
|
</article>
|
||||||
'''
|
'''
|
||||||
try:
|
|
||||||
search.result_container.answers.clear()
|
|
||||||
except Exception:
|
|
||||||
pass
|
|
||||||
try:
|
|
||||||
search.result_container.infoboxes.clear()
|
|
||||||
except Exception:
|
|
||||||
pass
|
|
||||||
search.result_container.answers.add(results.types.Answer(answer=Markup(html_payload)))
|
search.result_container.answers.add(results.types.Answer(answer=Markup(html_payload)))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"{PLUGIN_NAME}: {e}")
|
logger.error(f"{PLUGIN_NAME}: {e}")
|
||||||
|
|||||||
Reference in New Issue
Block a user