From 5adff7767f1dcbc6dca77dff32e9f0deeb248705 Mon Sep 17 00:00:00 2001 From: Patrice-Gaudicheau Date: Thu, 22 Feb 2024 22:00:59 +0100 Subject: [PATCH 01/16] Adding Makefile and LLM update script --- Makefile | 22 ++++++++++++++++++++++ update_llm.sh | 10 ++++++++++ 2 files changed, 32 insertions(+) create mode 100644 Makefile create mode 100644 update_llm.sh diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..f8df0ef4 --- /dev/null +++ b/Makefile @@ -0,0 +1,22 @@ +install: + @docker-compose up -d + +remove: + @docker-compose down -v + +start: + @docker-compose start + +stop: + @docker-compose stop + +update: + # Appelle le script de mise à jour des LLM + @./update_llm.sh + @git pull + @docker-compose down + # Assure-toi que le conteneur ollama-webui est arrêté avant de reconstruire + @docker stop ollama-webui || true + @docker-compose up --build -d + @docker-compose start + diff --git a/update_llm.sh b/update_llm.sh new file mode 100644 index 00000000..4bc423f0 --- /dev/null +++ b/update_llm.sh @@ -0,0 +1,10 @@ +#!/bin/bash +# update_llm.sh + +# Récupère la liste des LLM installées dans le container Docker +llm_list=$(docker exec ollama ollama list | tail -n +2 | awk '{print $1}') + +# Boucle sur chaque LLM pour la mettre à jour +for llm in $llm_list; do + docker exec ollama ollama pull $llm +done From 6bc627bbfba1bf9232286e53993a857aa5cc005b Mon Sep 17 00:00:00 2001 From: Patrice Gaudicheau <61966507+Patrice-Gaudicheau@users.noreply.github.com> Date: Fri, 23 Feb 2024 15:52:55 +0100 Subject: [PATCH 02/16] Updated code comments to English. --- update_llm.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/update_llm.sh b/update_llm.sh index 4bc423f0..bde11b4b 100644 --- a/update_llm.sh +++ b/update_llm.sh @@ -1,10 +1,10 @@ #!/bin/bash # update_llm.sh -# Récupère la liste des LLM installées dans le container Docker +# Retrieves the list of LLMs installed in the Docker container llm_list=$(docker exec ollama ollama list | tail -n +2 | awk '{print $1}') -# Boucle sur chaque LLM pour la mettre à jour +# Loop over each LLM to update it for llm in $llm_list; do docker exec ollama ollama pull $llm done From 7d0d504390c55f09aa31dc6ba555dc8497aab0bb Mon Sep 17 00:00:00 2001 From: Patrice Gaudicheau <61966507+Patrice-Gaudicheau@users.noreply.github.com> Date: Fri, 23 Feb 2024 15:53:47 +0100 Subject: [PATCH 03/16] Updated code comments to English. --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index f8df0ef4..49736e60 100644 --- a/Makefile +++ b/Makefile @@ -11,11 +11,11 @@ stop: @docker-compose stop update: - # Appelle le script de mise à jour des LLM + # Calls the LLM update script @./update_llm.sh @git pull @docker-compose down - # Assure-toi que le conteneur ollama-webui est arrêté avant de reconstruire + # Make sure the ollama-webui container is stopped before rebuilding @docker stop ollama-webui || true @docker-compose up --build -d @docker-compose start From a016171573f9da5d09c1030776d4a9050e55569b Mon Sep 17 00:00:00 2001 From: Patrice-Gaudicheau Date: Sat, 24 Feb 2024 07:51:27 +0100 Subject: [PATCH 04/16] fix: update Makefile and rename script for open-webui integration --- Makefile | 5 +++-- update_llm.sh => update_ollama_models.sh | 0 2 files changed, 3 insertions(+), 2 deletions(-) rename update_llm.sh => update_ollama_models.sh (100%) diff --git a/Makefile b/Makefile index 49736e60..265a608a 100644 --- a/Makefile +++ b/Makefile @@ -12,11 +12,12 @@ stop: update: # Calls the LLM update script - @./update_llm.sh + chmod +x update_ollama_models.sh + @./update_ollama_models.sh @git pull @docker-compose down # Make sure the ollama-webui container is stopped before rebuilding - @docker stop ollama-webui || true + @docker stop open-webui || true @docker-compose up --build -d @docker-compose start diff --git a/update_llm.sh b/update_ollama_models.sh similarity index 100% rename from update_llm.sh rename to update_ollama_models.sh From 0f6bdaa60238e15832bcbe0414b5d62d3fe55669 Mon Sep 17 00:00:00 2001 From: Patrice-Gaudicheau Date: Sat, 24 Feb 2024 09:02:18 +0100 Subject: [PATCH 05/16] feat: implemented user confirmation for safe removal of containers and volumes in Makefile --- Makefile | 4 +++- confirm_remove.sh | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100755 confirm_remove.sh diff --git a/Makefile b/Makefile index 265a608a..cbcc41d9 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,9 @@ install: @docker-compose up -d remove: - @docker-compose down -v + @chmod +x confirm_remove.sh + @./confirm_remove.sh + start: @docker-compose start diff --git a/confirm_remove.sh b/confirm_remove.sh new file mode 100755 index 00000000..729c2507 --- /dev/null +++ b/confirm_remove.sh @@ -0,0 +1,8 @@ +#!/bin/bash +echo "Warning: This will remove all containers and volumes, including persistent data. Do you want to continue? [Y/N]" +read ans +if [ "$ans" == "Y" ] || [ "$ans" == "y" ]; then + docker-compose down -v +else + echo "Operation cancelled." +fi From f4122fd0ced007c47b17921d7919db1a0f3fd13c Mon Sep 17 00:00:00 2001 From: cocktailpeanut Date: Wed, 28 Feb 2024 14:27:12 -0500 Subject: [PATCH 06/16] update --- src/lib/components/chat/Settings/Models.svelte | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/components/chat/Settings/Models.svelte b/src/lib/components/chat/Settings/Models.svelte index 92e6b7dd..60a61f33 100644 --- a/src/lib/components/chat/Settings/Models.svelte +++ b/src/lib/components/chat/Settings/Models.svelte @@ -432,7 +432,7 @@
To access the available model names for downloading, click here. @@ -651,7 +651,7 @@ {/if}
To access the GGUF models available for downloading, click here. @@ -790,7 +790,7 @@
Not sure what to add? @@ -913,7 +913,7 @@ From 705f5aecd761e3675730dc681de81b0eff0ad5eb Mon Sep 17 00:00:00 2001 From: Jannik Streidl Date: Fri, 1 Mar 2024 10:18:07 +0100 Subject: [PATCH 08/16] svelte-sonner migration --- package-lock.json | 46 +++++-------------- package.json | 4 +- src/lib/components/admin/EditUserModal.svelte | 2 +- src/lib/components/chat/MessageInput.svelte | 2 +- .../chat/MessageInput/Documents.svelte | 2 +- .../chat/MessageInput/Models.svelte | 2 +- .../chat/MessageInput/PromptCommands.svelte | 2 +- src/lib/components/chat/Messages.svelte | 2 +- .../chat/Messages/ResponseMessage.svelte | 2 +- src/lib/components/chat/ModelSelector.svelte | 2 +- .../components/chat/Settings/Account.svelte | 2 +- .../Settings/Account/UpdatePassword.svelte | 2 +- src/lib/components/chat/Settings/Audio.svelte | 2 +- src/lib/components/chat/Settings/Chats.svelte | 2 +- .../chat/Settings/Connections.svelte | 2 +- .../components/chat/Settings/General.svelte | 2 +- .../components/chat/Settings/Images.svelte | 2 +- .../components/chat/Settings/Interface.svelte | 2 +- .../components/chat/Settings/Models.svelte | 2 +- src/lib/components/chat/SettingsModal.svelte | 2 +- .../components/documents/AddDocModal.svelte | 2 +- .../components/documents/EditDocModal.svelte | 2 +- .../documents/Settings/General.svelte | 2 +- src/lib/components/layout/Navbar.svelte | 2 +- src/lib/components/layout/Sidebar.svelte | 2 +- src/routes/(app)/+layout.svelte | 2 +- src/routes/(app)/+page.svelte | 2 +- src/routes/(app)/admin/+page.svelte | 2 +- src/routes/(app)/c/[id]/+page.svelte | 2 +- src/routes/(app)/documents/+page.svelte | 2 +- src/routes/(app)/modelfiles/+page.svelte | 2 +- .../(app)/modelfiles/create/+page.svelte | 2 +- src/routes/(app)/modelfiles/edit/+page.svelte | 2 +- src/routes/(app)/prompts/+page.svelte | 2 +- src/routes/(app)/prompts/create/+page.svelte | 2 +- src/routes/(app)/prompts/edit/+page.svelte | 2 +- src/routes/+layout.svelte | 4 +- src/routes/auth/+page.svelte | 2 +- 38 files changed, 51 insertions(+), 73 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9fdfdb8a..43deeace 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "open-webui", - "version": "v1.0.0-alpha.101", + "version": "0.1.106", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "open-webui", - "version": "v1.0.0-alpha.101", + "version": "0.1.106", "dependencies": { "@sveltejs/adapter-node": "^1.3.1", "async": "^3.2.5", @@ -17,7 +17,7 @@ "js-sha256": "^0.10.1", "katex": "^0.16.9", "marked": "^9.1.0", - "svelte-french-toast": "^1.2.0", + "svelte-sonner": "^0.3.19", "tippy.js": "^6.3.7", "uuid": "^9.0.1" }, @@ -3211,17 +3211,6 @@ } } }, - "node_modules/svelte-french-toast": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/svelte-french-toast/-/svelte-french-toast-1.2.0.tgz", - "integrity": "sha512-5PW+6RFX3xQPbR44CngYAP1Sd9oCq9P2FOox4FZffzJuZI2mHOB7q5gJBVnOiLF5y3moVGZ7u2bYt7+yPAgcEQ==", - "dependencies": { - "svelte-writable-derived": "^3.1.0" - }, - "peerDependencies": { - "svelte": "^3.57.0 || ^4.0.0" - } - }, "node_modules/svelte-hmr": { "version": "0.15.3", "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.15.3.tgz", @@ -3307,15 +3296,12 @@ "node": ">=12" } }, - "node_modules/svelte-writable-derived": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/svelte-writable-derived/-/svelte-writable-derived-3.1.0.tgz", - "integrity": "sha512-cTvaVFNIJ036vSDIyPxJYivKC7ZLtcFOPm1Iq6qWBDo1fOHzfk6ZSbwaKrxhjgy52Rbl5IHzRcWgos6Zqn9/rg==", - "funding": { - "url": "https://ko-fi.com/pixievoltno1" - }, + "node_modules/svelte-sonner": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/svelte-sonner/-/svelte-sonner-0.3.19.tgz", + "integrity": "sha512-jpPOgLtHwRaB6Vqo2dUQMv15/yUV/BQWTjKpEqQ11uqRSHKjAYUKZyGrHB2cQsGmyjR0JUzBD58btpgNqINQ/Q==", "peerDependencies": { - "svelte": "^3.2.1 || ^4.0.0-next.1" + "svelte": ">=3 <5" } }, "node_modules/tailwindcss": { @@ -5882,14 +5868,6 @@ "postcss-scss": "^4.0.8" } }, - "svelte-french-toast": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/svelte-french-toast/-/svelte-french-toast-1.2.0.tgz", - "integrity": "sha512-5PW+6RFX3xQPbR44CngYAP1Sd9oCq9P2FOox4FZffzJuZI2mHOB7q5gJBVnOiLF5y3moVGZ7u2bYt7+yPAgcEQ==", - "requires": { - "svelte-writable-derived": "^3.1.0" - } - }, "svelte-hmr": { "version": "0.15.3", "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.15.3.tgz", @@ -5920,10 +5898,10 @@ } } }, - "svelte-writable-derived": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/svelte-writable-derived/-/svelte-writable-derived-3.1.0.tgz", - "integrity": "sha512-cTvaVFNIJ036vSDIyPxJYivKC7ZLtcFOPm1Iq6qWBDo1fOHzfk6ZSbwaKrxhjgy52Rbl5IHzRcWgos6Zqn9/rg==", + "svelte-sonner": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/svelte-sonner/-/svelte-sonner-0.3.19.tgz", + "integrity": "sha512-jpPOgLtHwRaB6Vqo2dUQMv15/yUV/BQWTjKpEqQ11uqRSHKjAYUKZyGrHB2cQsGmyjR0JUzBD58btpgNqINQ/Q==", "requires": {} }, "tailwindcss": { diff --git a/package.json b/package.json index 2ce66e78..ce9c8fcc 100644 --- a/package.json +++ b/package.json @@ -49,8 +49,8 @@ "js-sha256": "^0.10.1", "katex": "^0.16.9", "marked": "^9.1.0", - "svelte-french-toast": "^1.2.0", + "svelte-sonner": "^0.3.19", "tippy.js": "^6.3.7", "uuid": "^9.0.1" } -} \ No newline at end of file +} diff --git a/src/lib/components/admin/EditUserModal.svelte b/src/lib/components/admin/EditUserModal.svelte index 09005b30..d8ceb145 100644 --- a/src/lib/components/admin/EditUserModal.svelte +++ b/src/lib/components/admin/EditUserModal.svelte @@ -1,5 +1,5 @@ + + + {pageTitle} + + +
0} {initNewChat} {tags} {addTag} {deleteTag} />
diff --git a/src/routes/(app)/c/[id]/+page.svelte b/src/routes/(app)/c/[id]/+page.svelte index 32af2b17..bd449652 100644 --- a/src/routes/(app)/c/[id]/+page.svelte +++ b/src/routes/(app)/c/[id]/+page.svelte @@ -14,6 +14,7 @@ chats, chatId, config, + WEBUI_NAME, tags as _tags } from '$lib/stores'; import { copyToClipboard, splitStream, convertMessagesToHistory } from '$lib/utils'; @@ -71,6 +72,7 @@ let tags = []; let title = ''; + let pageTitle = WEBUI_NAME; let prompt = ''; let files = []; @@ -80,6 +82,13 @@ currentId: null }; + $: if (title) { + const trimmedTitle = title.length > 30 ? `${title.slice(0, 30)}...` : title; + pageTitle = `${trimmedTitle} | ${$WEBUI_NAME}`; + } else { + pageTitle = $WEBUI_NAME; + } + $: if (history.currentId !== null) { let _messages = []; @@ -100,6 +109,7 @@ await tick(); loaded = true; + window.setTimeout(() => scrollToBottom(), 0); const chatInput = document.getElementById('chat-textarea'); chatInput?.focus(); } else { @@ -823,6 +833,10 @@ }); + + {pageTitle} + + {#if loaded}
Date: Fri, 1 Mar 2024 22:35:08 -0800 Subject: [PATCH 11/16] refac --- src/routes/(app)/+page.svelte | 12 +++--------- src/routes/(app)/c/[id]/+page.svelte | 14 +++++--------- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/src/routes/(app)/+page.svelte b/src/routes/(app)/+page.svelte index c35b6cd8..e345e2be 100644 --- a/src/routes/(app)/+page.svelte +++ b/src/routes/(app)/+page.svelte @@ -69,7 +69,6 @@ let tags = []; let title = ''; - let pageTitle = WEBUI_NAME; let prompt = ''; let files = []; let messages = []; @@ -78,13 +77,6 @@ currentId: null }; - $: if (title) { - const trimmedTitle = title.length > 30 ? `${title.slice(0, 30)}...` : title; - pageTitle = `${trimmedTitle} | ${$WEBUI_NAME}`; - } else { - pageTitle = $WEBUI_NAME; - } - $: if (history.currentId !== null) { let _messages = []; @@ -819,7 +811,9 @@ - {pageTitle} + {title + ? `${title.length > 30 ? `${title.slice(0, 30)}...` : title} | ${$WEBUI_NAME}` + : `${$WEBUI_NAME}`} diff --git a/src/routes/(app)/c/[id]/+page.svelte b/src/routes/(app)/c/[id]/+page.svelte index bd449652..8448339f 100644 --- a/src/routes/(app)/c/[id]/+page.svelte +++ b/src/routes/(app)/c/[id]/+page.svelte @@ -72,7 +72,6 @@ let tags = []; let title = ''; - let pageTitle = WEBUI_NAME; let prompt = ''; let files = []; @@ -82,13 +81,6 @@ currentId: null }; - $: if (title) { - const trimmedTitle = title.length > 30 ? `${title.slice(0, 30)}...` : title; - pageTitle = `${trimmedTitle} | ${$WEBUI_NAME}`; - } else { - pageTitle = $WEBUI_NAME; - } - $: if (history.currentId !== null) { let _messages = []; @@ -834,7 +826,11 @@ - {pageTitle} + + {title + ? `${title.length > 30 ? `${title.slice(0, 30)}...` : title} | ${$WEBUI_NAME}` + : `${$WEBUI_NAME}`} + {#if loaded} From 78d9c469a2792a82500105abd7c004dedac0905b Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Fri, 1 Mar 2024 22:38:04 -0800 Subject: [PATCH 12/16] feat: title for all routes --- src/routes/(app)/admin/+page.svelte | 8 +++++++- src/routes/(app)/documents/+page.svelte | 8 +++++++- src/routes/(app)/modelfiles/+page.svelte | 8 +++++++- src/routes/(app)/prompts/+page.svelte | 8 +++++++- src/routes/auth/+page.svelte | 6 ++++++ 5 files changed, 34 insertions(+), 4 deletions(-) diff --git a/src/routes/(app)/admin/+page.svelte b/src/routes/(app)/admin/+page.svelte index b1169709..32234b03 100644 --- a/src/routes/(app)/admin/+page.svelte +++ b/src/routes/(app)/admin/+page.svelte @@ -1,6 +1,6 @@ + + + {`Admin Panel | ${$WEBUI_NAME}`} + + + {#key selectedUser} + + + {`Documents | ${$WEBUI_NAME}`} + + + {#if dragged}
+ + + {`Modelfiles | ${$WEBUI_NAME}`} + + +
diff --git a/src/routes/(app)/prompts/+page.svelte b/src/routes/(app)/prompts/+page.svelte index 784c8693..6f0bc0e1 100644 --- a/src/routes/(app)/prompts/+page.svelte +++ b/src/routes/(app)/prompts/+page.svelte @@ -4,7 +4,7 @@ const { saveAs } = fileSaver; import { onMount } from 'svelte'; - import { prompts } from '$lib/stores'; + import { WEBUI_NAME, prompts } from '$lib/stores'; import { createNewPrompt, deletePromptByCommand, getPrompts } from '$lib/apis/prompts'; import { error } from '@sveltejs/kit'; import { goto } from '$app/navigation'; @@ -36,6 +36,12 @@ }; + + + {`Prompts | ${$WEBUI_NAME}`} + + +
diff --git a/src/routes/auth/+page.svelte b/src/routes/auth/+page.svelte index 30c5a93e..a2237794 100644 --- a/src/routes/auth/+page.svelte +++ b/src/routes/auth/+page.svelte @@ -57,6 +57,12 @@ }); + + + {`${$WEBUI_NAME}`} + + + {#if loaded}
From 2564b154fc2381f9060d95e81441fe9f61bb48f6 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Fri, 1 Mar 2024 22:40:55 -0800 Subject: [PATCH 13/16] fix: toast position --- src/routes/+layout.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 7124789b..d604f901 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -68,4 +68,4 @@ {/if} - + From 6f4a863562a6c34fce97e3990574ff6a65987a79 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Fri, 1 Mar 2024 22:52:21 -0800 Subject: [PATCH 14/16] feat: dark mode auth page --- src/routes/auth/+page.svelte | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/routes/auth/+page.svelte b/src/routes/auth/+page.svelte index adeafe51..b84bf87f 100644 --- a/src/routes/auth/+page.svelte +++ b/src/routes/auth/+page.svelte @@ -72,7 +72,7 @@
-
+
-
+
{ submitHandler(); }} > -
+
{mode === 'signin' ? 'Sign in' : 'Sign up'} to {$WEBUI_NAME}
From 63e7246c97a0a6efbd976912489f27ac725f7c42 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Fri, 1 Mar 2024 23:02:47 -0800 Subject: [PATCH 15/16] doc: changelog --- CHANGELOG.md | 16 ++++++++++++++++ package.json | 4 ++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c976a7a..2ec52a3d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,22 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.1.107] - 2024-03-01 + +### Added + +- **🚀 Makefile and LLM Update Script**: Included Makefile and a script for LLM updates in the repository. + +### Fixed + +- Corrected issue where links in the settings modal didn't appear clickable (#960). +- Fixed problem with web UI port not taking effect due to incorrect environment variable name in run-compose.sh (#996). +- Enhanced user experience by displaying chat in browser title and enabling automatic scrolling to the bottom (#992). + +### Changed + +- Migrated from svelte-toast to svelte-sonner for improved functionality. + ## [0.1.106] - 2024-02-27 ### Added diff --git a/package.json b/package.json index ce9c8fcc..0e95102d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "open-webui", - "version": "0.1.106", + "version": "0.1.107", "private": true, "scripts": { "dev": "vite dev --host", @@ -53,4 +53,4 @@ "tippy.js": "^6.3.7", "uuid": "^9.0.1" } -} +} \ No newline at end of file From 96e2ee48f7359c310392aa9b09c37a81b27719fe Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Fri, 1 Mar 2024 23:04:20 -0800 Subject: [PATCH 16/16] Update CHANGELOG.md --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2ec52a3d..d61e40c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed -- Migrated from svelte-toast to svelte-sonner for improved functionality. +- Upgraded toast library from `svelte-french-toast` to `svelte-sonner` for a more polished UI. +- Enhanced accessibility with the addition of dark mode on the authentication page. ## [0.1.106] - 2024-02-27