diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7b150de25..3c976a7ac 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,19 @@ 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.106] - 2024-02-27
+
+### Added
+
+- **🎯 Auto-focus Feature**: The input area now automatically focuses when initiating or opening a chat conversation.
+
+### Fixed
+
+- Corrected typo from "HuggingFace" to "Hugging Face" (Issue #924).
+- Resolved bug causing errors in chat completion API calls to OpenAI due to missing "num_ctx" parameter (Issue #927).
+- Fixed issues preventing text editing, selection, and cursor retention in the input field (Issue #940).
+- Fixed a bug where defining an OpenAI-compatible API server using 'OPENAI_API_BASE_URL' containing 'openai' string resulted in hiding models not containing 'gpt' string from the model menu. (Issue #930)
+
## [0.1.105] - 2024-02-25
### Added
diff --git a/README.md b/README.md
index 7c40239c7..0b346853b 100644
--- a/README.md
+++ b/README.md
@@ -160,6 +160,16 @@ This project is licensed under the [MIT License](LICENSE) - see the [LICENSE](LI
If you have any questions, suggestions, or need assistance, please open an issue or join our
[Open WebUI Discord community](https://discord.gg/5rJgQTnV4s) to connect with us! 🤝
+## Star History
+
+
+
+
+
+
+
+
+
---
Created by [Timothy J. Baek](https://github.com/tjbck) - Let's make Open Web UI even more amazing together! 💪
diff --git a/backend/apps/openai/main.py b/backend/apps/openai/main.py
index 363264301..8d6fdb509 100644
--- a/backend/apps/openai/main.py
+++ b/backend/apps/openai/main.py
@@ -146,6 +146,13 @@ async def proxy(path: str, request: Request, user=Depends(get_verified_user)):
body["max_tokens"] = 4000
print("Modified body_dict:", body)
+ # Fix for ChatGPT calls failing because the num_ctx key is in body
+ if "num_ctx" in body:
+ # If 'num_ctx' is in the dictionary, delete it
+ # Leaving it there generates an error with the
+ # OpenAI API (Feb 2024)
+ del body["num_ctx"]
+
# Convert the modified body back to JSON
body = json.dumps(body)
except json.JSONDecodeError as e:
@@ -184,7 +191,7 @@ async def proxy(path: str, request: Request, user=Depends(get_verified_user)):
response_data = r.json()
- if "openai" in app.state.OPENAI_API_BASE_URL and path == "models":
+ if "api.openai.com" in app.state.OPENAI_API_BASE_URL and path == "models":
response_data["data"] = list(
filter(lambda model: "gpt" in model["id"], response_data["data"])
)
diff --git a/package.json b/package.json
index dd212e7dd..2ce66e783 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "open-webui",
- "version": "0.1.105",
+ "version": "0.1.106",
"private": true,
"scripts": {
"dev": "vite dev --host",
diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte
index 67bb3d88a..f9ff8fc39 100644
--- a/src/lib/components/chat/MessageInput.svelte
+++ b/src/lib/components/chat/MessageInput.svelte
@@ -293,6 +293,9 @@
};
onMount(() => {
+ const chatInput = document.getElementById('chat-textarea');
+ window.setTimeout(() => chatInput?.focus(), 0);
+
const dropZone = document.querySelector('body');
const onDragOver = (e) => {
diff --git a/src/lib/components/chat/Settings/Models.svelte b/src/lib/components/chat/Settings/Models.svelte
index 455927dfc..92e6b7dd5 100644
--- a/src/lib/components/chat/Settings/Models.svelte
+++ b/src/lib/components/chat/Settings/Models.svelte
@@ -580,7 +580,7 @@
type="url"
required
bind:value={modelFileUrl}
- placeholder="Type HuggingFace Resolve (Download) URL"
+ placeholder="Type Hugging Face Resolve (Download) URL"
/>
{/if}
diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte
index e0965b080..75e05bbd7 100644
--- a/src/lib/components/layout/Sidebar.svelte
+++ b/src/lib/components/layout/Sidebar.svelte
@@ -31,6 +31,7 @@
let chatTitle = '';
let showDropdown = false;
+ let isEditing = false;
onMount(async () => {
if (window.innerWidth > 1280) {
@@ -101,17 +102,16 @@
: 'invisible'}"
>