Skip to content

Commit a9b3c70

Browse files
Merge remote-tracking branch 'upstream/dev' into dev
2 parents 6319072 + 5cfb7a0 commit a9b3c70

9 files changed

Lines changed: 157 additions & 139 deletions

File tree

backend/open_webui/config.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2246,9 +2246,13 @@ class BannerModel(BaseModel):
22462246
QDRANT_COLLECTION_PREFIX = os.environ.get("QDRANT_COLLECTION_PREFIX", "open-webui")
22472247

22482248
WEAVIATE_HTTP_HOST = os.environ.get("WEAVIATE_HTTP_HOST", "")
2249+
WEAVIATE_GRPC_HOST = os.environ.get("WEAVIATE_GRPC_HOST", "")
22492250
WEAVIATE_HTTP_PORT = int(os.environ.get("WEAVIATE_HTTP_PORT", "8080"))
22502251
WEAVIATE_GRPC_PORT = int(os.environ.get("WEAVIATE_GRPC_PORT", "50051"))
22512252
WEAVIATE_API_KEY = os.environ.get("WEAVIATE_API_KEY")
2253+
WEAVIATE_HTTP_SECURE = os.environ.get("WEAVIATE_HTTP_SECURE", "false").lower() == "true"
2254+
WEAVIATE_GRPC_SECURE = os.environ.get("WEAVIATE_GRPC_SECURE", "false").lower() == "true"
2255+
WEAVIATE_SKIP_INIT_CHECKS = os.environ.get("WEAVIATE_SKIP_INIT_CHECKS", "false").lower() == "true"
22522256

22532257
# OpenSearch
22542258
OPENSEARCH_URI = os.environ.get("OPENSEARCH_URI", "https://localhost:9200")

backend/open_webui/env.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -673,7 +673,11 @@ def parse_section(section):
673673
os.environ.get("WEBSOCKET_SERVER_LOGGING", "False").lower() == "true"
674674
)
675675
WEBSOCKET_SERVER_ENGINEIO_LOGGING = (
676-
os.environ.get("WEBSOCKET_SERVER_LOGGING", "False").lower() == "true"
676+
os.environ.get(
677+
"WEBSOCKET_SERVER_ENGINEIO_LOGGING",
678+
os.environ.get("WEBSOCKET_SERVER_LOGGING", "False"),
679+
).lower()
680+
== "true"
677681
)
678682
WEBSOCKET_SERVER_PING_TIMEOUT = os.environ.get("WEBSOCKET_SERVER_PING_TIMEOUT", "20")
679683
try:

backend/open_webui/retrieval/vector/dbs/weaviate.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,13 @@
1212
from open_webui.retrieval.vector.utils import process_metadata
1313
from open_webui.config import (
1414
WEAVIATE_HTTP_HOST,
15+
WEAVIATE_GRPC_HOST,
1516
WEAVIATE_HTTP_PORT,
1617
WEAVIATE_GRPC_PORT,
1718
WEAVIATE_API_KEY,
19+
WEAVIATE_HTTP_SECURE,
20+
WEAVIATE_GRPC_SECURE,
21+
WEAVIATE_SKIP_INIT_CHECKS,
1822
)
1923

2024

@@ -52,9 +56,13 @@ def __init__(self):
5256
try:
5357
# Build connection parameters
5458
connection_params = {
55-
"host": WEAVIATE_HTTP_HOST,
56-
"port": WEAVIATE_HTTP_PORT,
59+
"http_host": WEAVIATE_HTTP_HOST,
60+
"http_port": WEAVIATE_HTTP_PORT,
61+
"http_secure": WEAVIATE_HTTP_SECURE,
62+
"grpc_host": WEAVIATE_GRPC_HOST,
5763
"grpc_port": WEAVIATE_GRPC_PORT,
64+
"grpc_secure": WEAVIATE_GRPC_SECURE,
65+
"skip_init_checks": WEAVIATE_SKIP_INIT_CHECKS,
5866
}
5967

6068
# Only add auth_credentials if WEAVIATE_API_KEY exists and is not empty
@@ -63,7 +71,7 @@ def __init__(self):
6371
weaviate.classes.init.Auth.api_key(WEAVIATE_API_KEY)
6472
)
6573

66-
self.client = weaviate.connect_to_local(**connection_params)
74+
self.client = weaviate.connect_to_custom(**connection_params)
6775
self.client.connect()
6876
except Exception as e:
6977
raise ConnectionError(f"Failed to connect to Weaviate: {e}") from e

backend/open_webui/routers/files.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,8 @@ def upload_file_handler(
332332
detail=ERROR_MESSAGES.DEFAULT("Error uploading file"),
333333
)
334334

335+
except HTTPException as e:
336+
raise e
335337
except Exception as e:
336338
log.exception(e)
337339
raise HTTPException(

backend/requirements-min.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ httpx[socks,http2,zstd,cli,brotli]==0.28.1
2525
starsessions[redis]==2.2.1
2626

2727
sqlalchemy==2.0.45
28-
alembic==1.17.2
29-
peewee==3.18.3
28+
alembic==1.18.1
29+
peewee==3.19.0
3030
peewee-migrate==1.14.3
3131

3232
pycrdt==0.12.44
@@ -41,7 +41,7 @@ asgiref==3.11.0
4141
mcp==1.25.0
4242
openai
4343

44-
langchain==1.2.0
44+
langchain==1.2.4
4545
langchain-community==0.4.1
4646
langchain-classic==1.0.1
4747
langchain-text-splitters==1.1.0

backend/requirements.txt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ starsessions[redis]==2.2.1
2323
python-mimeparse==2.0.0
2424

2525
sqlalchemy==2.0.45
26-
alembic==1.17.2
27-
peewee==3.18.3
26+
alembic==1.18.1
27+
peewee==3.19.0
2828
peewee-migrate==1.14.3
2929

3030
pycrdt==0.12.44
@@ -42,32 +42,32 @@ mcp==1.25.0
4242

4343
openai
4444
anthropic
45-
google-genai==1.56.0
45+
google-genai==1.59.0
4646

47-
langchain==1.2.0
47+
langchain==1.2.4
4848
langchain-community==0.4.1
4949
langchain-classic==1.0.1
5050
langchain-text-splitters==1.1.0
5151

5252
fake-useragent==2.2.0
53-
chromadb==1.4.0
53+
chromadb==1.4.1
5454
weaviate-client==4.19.2
5555
opensearch-py==3.1.0
5656

57-
transformers==4.57.3
57+
transformers==4.57.6
5858
sentence-transformers==5.2.0
5959
accelerate
6060
pyarrow==20.0.0 # fix: pin pyarrow version to 20 for rpi compatibility #15897
6161
einops==0.8.1
6262

6363
ftfy==6.3.1
6464
chardet==5.2.0
65-
pypdf==6.5.0
65+
pypdf==6.6.0
6666
fpdf2==2.8.5
6767
pymdown-extensions==10.20
6868
docx2txt==0.9
6969
python-pptx==1.0.2
70-
unstructured==0.18.24
70+
unstructured==0.18.27
7171
msoffcrypto-tool==5.4.2
7272
nltk==3.9.2
7373
Markdown==3.10
@@ -98,7 +98,7 @@ ddgs==9.10.0
9898

9999
azure-ai-documentintelligence==1.0.2
100100
azure-identity==1.25.1
101-
azure-storage-blob==12.27.1
101+
azure-storage-blob==12.28.0
102102
azure-search-documents==11.6.0
103103

104104
## Google Drive
@@ -107,15 +107,15 @@ google-auth-httplib2
107107
google-auth-oauthlib
108108

109109
googleapis-common-protos==1.72.0
110-
google-cloud-storage==3.7.0
110+
google-cloud-storage==3.8.0
111111

112112
## Databases
113113
pymongo
114114
psycopg2-binary==2.9.11
115115
pgvector==0.4.2
116116

117117
PyMySQL==1.1.2
118-
boto3==1.42.21
118+
boto3==1.42.29
119119

120120
pymilvus==2.6.6
121121
qdrant-client==1.16.2
@@ -138,7 +138,7 @@ pytest-docker~=3.2.5
138138
ldap3==2.9.1
139139

140140
## Firecrawl
141-
firecrawl-py==4.12.0
141+
firecrawl-py==4.13.0
142142

143143
## Trace
144144
opentelemetry-api==1.39.1

pyproject.toml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ dependencies = [
3131
"python-mimeparse==2.0.0",
3232

3333
"sqlalchemy==2.0.45",
34-
"alembic==1.17.2",
35-
"peewee==3.18.3",
34+
"alembic==1.18.1",
35+
"peewee==3.19.0",
3636
"peewee-migrate==1.14.3",
3737

3838
"pycrdt==0.12.44",
@@ -49,33 +49,33 @@ dependencies = [
4949

5050
"openai",
5151
"anthropic",
52-
"google-genai==1.56.0",
52+
"google-genai==1.59.0",
5353

54-
"langchain==1.2.0",
54+
"langchain==1.2.4",
5555
"langchain-community==0.4.1",
5656
"langchain-classic==1.0.1",
5757
"langchain-text-splitters==1.1.0",
5858

5959
"fake-useragent==2.2.0",
60-
"chromadb==1.4.0",
60+
"chromadb==1.4.1",
6161
"opensearch-py==3.1.0",
6262
"PyMySQL==1.1.2",
63-
"boto3==1.42.21",
63+
"boto3==1.42.29",
6464

65-
"transformers==4.57.3",
65+
"transformers==4.57.6",
6666
"sentence-transformers==5.2.0",
6767
"accelerate",
6868
"pyarrow==20.0.0", # fix: pin pyarrow version to 20 for rpi compatibility #15897
6969
"einops==0.8.1",
7070

7171
"ftfy==6.3.1",
7272
"chardet==5.2.0",
73-
"pypdf==6.5.0",
73+
"pypdf==6.6.0",
7474
"fpdf2==2.8.5",
7575
"pymdown-extensions==10.20",
7676
"docx2txt==0.9",
7777
"python-pptx==1.0.2",
78-
"unstructured==0.18.24",
78+
"unstructured==0.18.27",
7979
"msoffcrypto-tool==5.4.2",
8080
"nltk==3.9.2",
8181
"Markdown==3.10",
@@ -110,10 +110,10 @@ dependencies = [
110110
"google-auth-oauthlib",
111111

112112
"googleapis-common-protos==1.72.0",
113-
"google-cloud-storage==3.7.0",
113+
"google-cloud-storage==3.8.0",
114114

115115
"azure-identity==1.25.1",
116-
"azure-storage-blob==12.27.1",
116+
"azure-storage-blob==12.28.0",
117117

118118
"ldap3==2.9.1",
119119
]
@@ -156,7 +156,7 @@ all = [
156156
"oracledb==3.4.1",
157157
"colbert-ai==0.2.22",
158158

159-
"firecrawl-py==4.12.0",
159+
"firecrawl-py==4.13.0",
160160
"azure-search-documents==11.6.0",
161161
]
162162

src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,16 @@
5353
const exportTableToCSVHandler = (token, tokenIdx = 0) => {
5454
console.log('Exporting table to CSV');
5555
56-
// Extract header row text and escape for CSV.
57-
const header = token.header.map((headerCell) => `"${headerCell.text.replace(/"/g, '""')}"`);
56+
// Extract header row text, decode HTML entities, and escape for CSV.
57+
const header = token.header.map((headerCell) => `"${decode(headerCell.text).replace(/"/g, '""')}"`);
5858
5959
// Create an array for rows that will hold the mapped cell text.
6060
const rows = token.rows.map((row) =>
6161
row.map((cell) => {
6262
// Map tokens into a single text
6363
const cellContent = cell.tokens.map((token) => token.text).join('');
64-
// Escape double quotes and wrap the content in double quotes
65-
return `"${cellContent.replace(/"/g, '""')}"`;
64+
// Decode HTML entities and escape double quotes, wrap in double quotes
65+
return `"${decode(cellContent).replace(/"/g, '""')}"`;
6666
})
6767
);
6868

0 commit comments

Comments
 (0)