From 0bdfd990bdb61d8ed95893ad660a861f2168fe79 Mon Sep 17 00:00:00 2001 From: hlohaus <983577+hlohaus@users.noreply.github.com> Date: Mon, 27 Jan 2025 13:04:30 +0100 Subject: Support token in OpenaiTemplate Fix image selection on mobile Support boxed inline MathJax --- g4f/gui/client/static/js/chat.v1.js | 57 +++++++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 22 deletions(-) (limited to 'g4f/gui/client/static/js') diff --git a/g4f/gui/client/static/js/chat.v1.js b/g4f/gui/client/static/js/chat.v1.js index 01c2e539..e7509a31 100644 --- a/g4f/gui/client/static/js/chat.v1.js +++ b/g4f/gui/client/static/js/chat.v1.js @@ -73,13 +73,14 @@ if (window.markdownit) { } function render_reasoning(reasoning, final = false) { + const inner_text = reasoning.text ? `
+ ${markdown_render(reasoning.text)} +
` : ""; return `
Reasoning : ${escapeHtml(reasoning.status)}
-
- ${markdown_render(reasoning.text)} -
+ ${inner_text}
`; } @@ -342,7 +343,9 @@ const register_message_buttons = async () => { el.dataset.click = "true"; el.addEventListener("click", async () => { let text_el = el.parentElement.querySelector(".reasoning_text"); - text_el.classList[text_el.classList.contains("hidden") ? "remove" : "add"]("hidden"); + if (text_el) { + text_el.classList[text_el.classList.contains("hidden") ? "remove" : "add"]("hidden"); + } }) } }); @@ -495,20 +498,21 @@ const prepare_messages = (messages, message_index = -1, do_continue = false, do_ } } // Combine assistant messages - let last_message; - let new_messages = []; - messages.forEach((message) => { - message_copy = { ...message }; - if (last_message) { - if (last_message["role"] == message["role"] && message["role"] == "assistant") { - message_copy["content"] = last_message["content"] + message_copy["content"]; - new_messages.pop(); - } - } - last_message = message_copy; - new_messages.push(last_message); - }); - messages = new_messages; + // let last_message; + // let new_messages = []; + // messages.forEach((message) => { + // message_copy = { ...message }; + // if (last_message) { + // if (last_message["role"] == message["role"] && message["role"] == "assistant") { + // message_copy["content"] = last_message["content"] + message_copy["content"]; + // new_messages.pop(); + // } + // } + // last_message = message_copy; + // new_messages.push(last_message); + // }); + // messages = new_messages; + // console.log(2, messages); // Insert system prompt as first message let final_messages = []; @@ -555,14 +559,15 @@ const prepare_messages = (messages, message_index = -1, do_continue = false, do_ delete new_message.continue; // Append message to new messages if (do_filter && !new_message.regenerate) { - new_messages.push(new_message) + final_messages.push(new_message) } else if (!do_filter) { - new_messages.push(new_message) + final_messages.push(new_message) } } }); + console.log(4, final_messages); - return new_messages; + return final_messages; } async function load_provider_parameters(provider) { @@ -1721,7 +1726,11 @@ function count_words_and_tokens(text, model, completion_tokens, prompt_tokens) { function update_message(content_map, message_id, content = null, scroll = true) { content_map.update_timeouts.push(setTimeout(() => { if (!content) { - content = markdown_render(message_storage[message_id]); + if (reasoning_storage[message_id]) { + content = render_reasoning(reasoning_storage[message_id], true) + markdown_render(message_storage[message_id]); + } else { + content = markdown_render(message_storage[message_id]); + } let lastElement, lastIndex = null; for (element of ['

', '', '

\n\n', '\n', '\n']) { const index = content.lastIndexOf(element) @@ -2186,6 +2195,10 @@ fileInput.addEventListener('change', async (event) => { } }); +if (!window.matchMedia("(pointer:coarse)").matches) { + document.getElementById("image").setAttribute("multiple", "multiple"); +} + chatPrompt?.addEventListener("input", async () => { await save_system_message(); }); -- cgit v1.2.3