mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-08 04:16:03 -05:00
[PR #22617] [CLOSED] fix(xlsx): normalise ZIP entry case to handle xl/SharedStrings.xml on case-sensitive filesystems #65638
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/open-webui/open-webui/pull/22617
Author: @gambletan
Created: 3/12/2026
Status: ❌ Closed
Base:
main← Head:fix/xlsx-case-sensitive-sharedstrings📝 Commits (2)
078663bfix(tool-server): add AbortController timeout to openapi.json fetch145f9b8fix(xlsx): normalise ZIP entry case before passing to openpyxl📊 Changes
2 files changed (+87 additions, -6 deletions)
View changed files
📝
backend/open_webui/retrieval/loaders/main.py(+70 -1)📝
src/lib/apis/index.ts(+17 -5)📄 Description
Summary
.xlsxgenerators (e.g. certain Windows tools) write the shared-strings entry asxl/SharedStrings.xml(capital S) instead of thexl/sharedStrings.xmlspelling that openpyxl expectsKeyError: "There is no item named 'xl/sharedStrings.xml' in the archive"when the file is uploaded and processedFix
Added
_normalize_xlsx_zip_entries()inbackend/open_webui/retrieval/loaders/main.py:xl/SharedStrings.xml→xl/sharedStrings.xml)BadZipFileexception is caught and re-raises the error to the existing error-handling pathThe fix is applied only in the
xls/xlsxbranch of_get_loader(), so it has no impact on other file types.Test plan
test.xlsxattachment from issue #22613 — processing should succeed without theKeyError🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.