diff --git a/backend/apps/ollama/main.py b/backend/apps/ollama/main.py index c7961ea7b..532f3fbfa 100644 --- a/backend/apps/ollama/main.py +++ b/backend/apps/ollama/main.py @@ -61,6 +61,13 @@ def proxy(path): r = None + del headers["Host"] + del headers["Authorization"] + del headers["Origin"] + del headers["Referer"] + + print(headers) + try: # Make a request to the target server r = requests.request( @@ -86,8 +93,10 @@ def proxy(path): return response except Exception as e: + print(e) error_detail = "Ollama WebUI: Server Connection Error" if r != None: + print(r.text) res = r.json() if "error" in res: error_detail = f"Ollama: {res['error']}" diff --git a/backend/dev.sh b/backend/dev.sh index 277939997..e4e1aaa12 100644 --- a/backend/dev.sh +++ b/backend/dev.sh @@ -1 +1 @@ -uvicorn main:app --port 8080 --reload \ No newline at end of file +uvicorn main:app --port 8080 --host 0.0.0.0 --reload \ No newline at end of file diff --git a/src/lib/components/chat/Messages.svelte b/src/lib/components/chat/Messages.svelte index 8b9fd4c63..a4627c5ba 100644 --- a/src/lib/components/chat/Messages.svelte +++ b/src/lib/components/chat/Messages.svelte @@ -83,7 +83,7 @@ blocks.forEach((block) => { // only add button if browser supports Clipboard API - if (navigator.clipboard && block.childNodes.length < 2 && block.id !== 'user-message') { + if (block.childNodes.length < 2 && block.id !== 'user-message') { let code = block.querySelector('code'); code.style.borderTopRightRadius = 0; code.style.borderTopLeftRadius = 0; @@ -121,10 +121,6 @@ topBarDiv.appendChild(button); block.prepend(topBarDiv); - - // button.addEventListener('click', async () => { - // await copyCode(block, button); - // }); } }); @@ -132,7 +128,7 @@ let code = block.querySelector('code'); let text = code.innerText; - await navigator.clipboard.writeText(text); + await copyToClipboard(text); // visual feedback that task is completed button.innerText = 'Copied!'; diff --git a/src/lib/constants.ts b/src/lib/constants.ts index 17449a725..7d67c7a4b 100644 --- a/src/lib/constants.ts +++ b/src/lib/constants.ts @@ -1,12 +1,13 @@ import { dev, browser } from '$app/environment'; import { PUBLIC_API_BASE_URL } from '$env/static/public'; -export const OLLAMA_API_BASE_URL = - PUBLIC_API_BASE_URL === '' - ? browser - ? `http://${location.hostname}:11434/api` - : `http://localhost:11434/api` - : PUBLIC_API_BASE_URL; +export const OLLAMA_API_BASE_URL = dev + ? `http://${location.hostname}:8080/ollama/api` + : PUBLIC_API_BASE_URL === '' + ? browser + ? `http://${location.hostname}:11434/api` + : `http://localhost:11434/api` + : PUBLIC_API_BASE_URL; export const WEBUI_BASE_URL = dev ? `http://${location.hostname}:8080` : ``; export const WEBUI_API_BASE_URL = `${WEBUI_BASE_URL}/api/v1`; diff --git a/src/routes/(app)/c/[id]/+page.svelte b/src/routes/(app)/c/[id]/+page.svelte index 98b16b929..b20e4da40 100644 --- a/src/routes/(app)/c/[id]/+page.svelte +++ b/src/routes/(app)/c/[id]/+page.svelte @@ -4,7 +4,7 @@ import { OLLAMA_API_BASE_URL } from '$lib/constants'; import { onMount, tick } from 'svelte'; - import { convertMessagesToHistory, splitStream } from '$lib/utils'; + import { convertMessagesToHistory, copyToClipboard, splitStream } from '$lib/utils'; import { goto } from '$app/navigation'; import { config, models, modelfiles, user, settings, db, chats, chatId } from '$lib/stores'; @@ -113,41 +113,6 @@ } }; - const copyToClipboard = (text) => { - if (!navigator.clipboard) { - var textArea = document.createElement('textarea'); - textArea.value = text; - - // Avoid scrolling to bottom - textArea.style.top = '0'; - textArea.style.left = '0'; - textArea.style.position = 'fixed'; - - document.body.appendChild(textArea); - textArea.focus(); - textArea.select(); - - try { - var successful = document.execCommand('copy'); - var msg = successful ? 'successful' : 'unsuccessful'; - console.log('Fallback: Copying text command was ' + msg); - } catch (err) { - console.error('Fallback: Oops, unable to copy', err); - } - - document.body.removeChild(textArea); - return; - } - navigator.clipboard.writeText(text).then( - function () { - console.log('Async: Copying to clipboard was successful!'); - }, - function (err) { - console.error('Async: Could not copy text: ', err); - } - ); - }; - ////////////////////////// // Ollama functions //////////////////////////