快速结论:该问题出现在从侧边栏删除“当前正在查看”的对话之后:侧边栏虽然移除了该对话,但聊天视图仍保留旧消息,随后继续发送消息会触发前端 JSON 解析失败,Safari 报错 issue: deleting the open chat from the sidebar leaves its messages on screen, and the next message fails。应优先排查删除后的聊天视图状态重置逻辑,而不是模型服务或网络。
适用环境:已确认环境为 Open WebUI dev 分支(提交 fc5795e65),通过 Git Clone 安装;设备为 iPhone 13 Pro,操作系统 iOS,浏览器 Safari;Ollama 版本 v0.40.10;配置为默认设置。Issue 未提供 Python、CUDA、PyTorch 或显卡信息,此处不补充。
最快修复方案:暂无确认的一步修复方案。Issue 已定位到 src/lib/components/chat/Chat.svelte 中新建聊天流程在 chat id 变化时提前退出的问题,但讨论中未给出经验证的用户侧规避命令或配置。
注意事项:错误提示 “The string did not match the expected pattern.” 是 Safari 对 JSON 解析失败的表述,并非后端返回的业务错误。在问题修复前,删除当前对话后应手动刷新页面或新建对话,避免在残留的旧聊天视图中继续发送消息,但这是规避手段,不是根因修复。
问题场景
在 iPhone 的 Safari 中打开 Open WebUI,新建对话并发送消息后,通过侧边栏该对话的 ... 菜单选择 Delete 并确认。此时对话已从侧边栏消失,但当前页面仍显示被删除对话的消息。继续在该页面发送消息,会出现错误提示,并在原本模型回复的位置显示 The string did not match the expected pattern.。按报告者描述,默认配置即可复现,且最新 release 与 dev 分支均存在该问题。
报错原文
issue: deleting the open chat from the sidebar leaves its messages on screen, and the next message fails
The string did not match the expected pattern.
原因分析
根据 Issue 正文的分析,删除操作后侧边栏会先导航到一个新对话,随后清除当前打开的 chat id。但新对话的初始化流程在运行过程中检测到 chat id 发生变化,将其误判为“用户切换到了另一个对话”,因而提前结束;结果旧消息没有被清除,界面停留在失效状态。之后在该残留视图中发送消息,请求或响应处理拿到的状态与预期不符,前端 JSON 解析失败,Safari 将该失败显示为 The string did not match the expected pattern.。
可能原因还包括:删除当前对话时的状态清理顺序不当,导致新建对话初始化与 chat id 重置之间产生竞争;该问题与侧边栏删除路径、移动端交互路径相关。关联 Issue 也指向删除侧边栏项目后前端状态未正确重置的同类模式,但本次讨论未确认其他触发条件。
环境排查
- 确认 Open WebUI 版本与分支:Issue 复现于 dev(fc5795e65),需确认是否仍使用包含该提交的版本。
- 确认安装方式:Issue 为 Git Clone 安装,Docker 或其他安装方式未在该 Issue 中验证。
- 确认浏览器与设备:Issue 为 iOS 上的 Safari(iPhone 13 Pro);其他浏览器或桌面端未在该 Issue 中确认。
- 确认 Ollama 版本:v0.40.10。
- 确认配置:Issue 使用默认设置,未涉及自定义模型或代理配置。
- Python、CUDA、PyTorch、显卡信息在 Issue 中未提供,无需作为本问题的首要排查项。
解决步骤
- 先按 Issue 步骤稳定复现:在 Safari 中新建对话并发送一条消息,从侧边栏删除该当前对话,确认消息是否仍留在屏幕上。
- 检查所运行的 Open WebUI 是否包含
src/lib/components/chat/Chat.svelte中对应的新建聊天初始化逻辑;Issue 指向约第 2770 行附近的提前返回分支。 - 关注上游修复进展:该 Issue 已被标记为
bug与confirmed issue,并在 2026-10-24 关闭。可优先尝试升级到包含修复的版本,再按原步骤复测。由于讨论摘要未给出具体修复提交或版本号,升级前应核对发布说明。 - 在修复版本可用前,删除当前对话后立即刷新页面或手动新建对话,不要在残留的旧聊天界面继续发送消息,以避免触发 JSON 解析错误。
- 如自行排查源码,可重点检查删除当前对话后新对话初始化与 chat id 重置的先后顺序,确认初始化流程是否因 id 变化而提前退出。
验证方法
在修复后的版本中重复原复现步骤:删除当前正在查看的对话后,页面应进入一个空白的新对话,旧消息不再显示;随后发送新消息应正常得到模型回复,不再出现错误提示或 The string did not match the expected pattern.。若仅通过刷新页面规避,则只能确认错误不再被触发,不能证明根因已修复。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。
![[BUG] Bedrock file constraints swap the image and document size limits](https://www.chat-gpts.plus/wp-content/uploads/2026/10/8158-6c8f5022-768x403.jpg)

![[Bug]: Bedrock /v1/messages: claude-opus-5-5 rejects thinking.type=enabled, no adaptive translation and output_config is stripped](https://www.chat-gpts.plus/wp-content/uploads/2026/10/47382-4fdc15ce-768x403.jpg)