diff options
author | Heiner Lohaus <hlohaus@users.noreply.github.com> | 2024-01-03 16:02:06 +0100 |
---|---|---|
committer | Heiner Lohaus <hlohaus@users.noreply.github.com> | 2024-01-03 16:02:06 +0100 |
commit | 25895eb63799a1c38a40f03a48e85cdd8e9dc4b9 (patch) | |
tree | 2e1a35054f01c91298993c777b7756cdd9d7bae9 /g4f/gui/client | |
parent | New Provider 'Bestim' (#1416) (diff) | |
download | gpt4free-25895eb63799a1c38a40f03a48e85cdd8e9dc4b9.tar gpt4free-25895eb63799a1c38a40f03a48e85cdd8e9dc4b9.tar.gz gpt4free-25895eb63799a1c38a40f03a48e85cdd8e9dc4b9.tar.bz2 gpt4free-25895eb63799a1c38a40f03a48e85cdd8e9dc4b9.tar.lz gpt4free-25895eb63799a1c38a40f03a48e85cdd8e9dc4b9.tar.xz gpt4free-25895eb63799a1c38a40f03a48e85cdd8e9dc4b9.tar.zst gpt4free-25895eb63799a1c38a40f03a48e85cdd8e9dc4b9.zip |
Diffstat (limited to '')
-rw-r--r-- | g4f/gui/client/html/index.html | 5 | ||||
-rw-r--r-- | g4f/gui/client/js/chat.v1.js | 26 |
2 files changed, 25 insertions, 6 deletions
diff --git a/g4f/gui/client/html/index.html b/g4f/gui/client/html/index.html index da7aeefb..b47f2a37 100644 --- a/g4f/gui/client/html/index.html +++ b/g4f/gui/client/html/index.html @@ -125,6 +125,11 @@ <span class="about">Web Access</span> </div> <div class="field"> + <input type="checkbox" id="patch" /> + <label for="patch" title="Works only with Bing and some other providers"></label> + <span class="about">Image Generator</span> + </div> + <div class="field"> <select name="model" id="model"> <option value="gpt-3.5-turbo" selected="">gpt-3.5-turbo</option> <option value="gpt-3.5-turbo-0613">gpt-3.5-turbo-0613</option> diff --git a/g4f/gui/client/js/chat.v1.js b/g4f/gui/client/js/chat.v1.js index a335a3cc..9d49d24e 100644 --- a/g4f/gui/client/js/chat.v1.js +++ b/g4f/gui/client/js/chat.v1.js @@ -20,7 +20,10 @@ message_input.addEventListener("focus", () => { }); const markdown_render = (content) => { - return markdown.render(content) + return markdown.render(content + .replaceAll(/<!--.+-->/gm, "") + .replaceAll(/<img data-prompt="[^>]+">/gm, "") + ) .replaceAll("<a href=", '<a target="_blank" href=') .replaceAll('<code>', '<code class="language-plaintext">') } @@ -68,6 +71,15 @@ const ask_gpt = async () => { regenerate.classList.add(`regenerate-hidden`); messages = await get_messages(window.conversation_id); + // Remove generated images from history + for (i in messages) { + messages[i]["content"] = messages[i]["content"].replace( + /<!-- generated images start -->[\s\S]+<!-- generated images end -->/m, + "" + ) + delete messages[i]["provider"]; + } + window.scrollTo(0, 0); window.controller = new AbortController(); @@ -91,7 +103,8 @@ const ask_gpt = async () => { </div> <div class="content" id="gpt_${window.token}"> <div class="provider"></div> - <div class="content_inner"><div id="cursor"></div></div> + <div class="content_inner"></div> + <div id="cursor"></div> </div> </div> `; @@ -115,6 +128,7 @@ const ask_gpt = async () => { jailbreak: jailbreak.options[jailbreak.selectedIndex].value, internet_access: document.getElementById(`switch`).checked, provider: provider.options[provider.selectedIndex].value, + patch_provider: document.getElementById('patch').checked, meta: { id: window.token, content: { @@ -163,8 +177,6 @@ const ask_gpt = async () => { } catch (e) { console.log(e); - let cursorDiv = document.getElementById(`cursor`); - if (cursorDiv) cursorDiv.parentNode.removeChild(cursorDiv); if (e.name != `AbortError`) { text = `oops ! something went wrong, please try again / reload. [stacktrace in console]`; @@ -174,6 +186,8 @@ const ask_gpt = async () => { text += ` [aborted]` } } + let cursorDiv = document.getElementById(`cursor`); + if (cursorDiv) cursorDiv.parentNode.removeChild(cursorDiv); add_message(window.conversation_id, "assistant", text, provider); message_box.scrollTop = message_box.scrollHeight; await remove_cancel_button(); @@ -430,7 +444,7 @@ document.querySelector(".mobile-sidebar").addEventListener("click", (event) => { }); const register_settings_localstorage = async () => { - settings_ids = ["switch", "model", "jailbreak"]; + settings_ids = ["switch", "model", "jailbreak", "patch", "provider"]; settings_elements = settings_ids.map((id) => document.getElementById(id)); settings_elements.map((element) => element.addEventListener(`change`, async (event) => { @@ -449,7 +463,7 @@ const register_settings_localstorage = async () => { }; const load_settings_localstorage = async () => { - settings_ids = ["switch", "model", "jailbreak"]; + settings_ids = ["switch", "model", "jailbreak", "patch", "provider"]; settings_elements = settings_ids.map((id) => document.getElementById(id)); settings_elements.map((element) => { if (localStorage.getItem(element.id)) { |