issue: the temporary chat URL parameter is ignored when the New Chat page is reached without a page load

这个报错通常出现在 Open WebUI 的 New Chat 页面已经带有临时聊天参数、但页面是通过应用内导航(例如浏览器 Back 按钮)返回而没有发生整页加载时。此时地址栏显示临时聊天参数,但临时模式没有开启,输入内容会被正常保存;优先排查临时聊天参数的读取时机是否只在布局挂载时执行。

快速结论:这个报错通常出现在 Open WebUI 的 New Chat 页面已经带有临时聊天参数、但页面是通过应用内导航(例如浏览器 Back 按钮)返回而没有发生整页加载时。此时地址栏显示临时聊天参数,但临时模式没有开启,输入内容会被正常保存;优先排查临时聊天参数的读取时机是否只在布局挂载时执行。

适用环境:Open WebUI dev commit 621ed6de7(Git Clone 安装)、Linux、Firefox;Issue 未提供 Ollama 版本和其他依赖版本信息。

最快修复方案:升级到已包含提交 67adde319 的 dev 版本。该提交按 Issue 报告中的复现步骤验证通过,问题不再出现。

注意事项:修复针对的是通过应用内导航到达 New Chat 页面的场景;Issue 中的复现依赖“先开启临时聊天、再打开已保存聊天、再按 Back 返回”这一路径。如果你使用的是未包含该提交的版本,Back 返回后仍可能看到地址与页面状态不一致。

问题场景

用户在 Open WebUI 的 New Chat 页面点击临时聊天按钮,地址栏加入临时聊天参数、临时聊天图标点亮。随后点击侧边栏中的已保存聊天,临时模式按预期关闭;再按浏览器 Back 按钮返回 New Chat 页面时,地址栏仍保留临时聊天参数,但临时模式没有恢复,页面按普通聊天处理,输入的内容会被保存。按 F5 整页刷新同一地址后,临时模式又会恢复。

报错原文

issue: the temporary chat URL parameter is ignored when the New Chat page is reached without a page load

原因分析

根据 Issue 报告,临时聊天参数只在一处被读取,即布局的 mount handler(src/routes/(app)/+layout.svelte)。布局每次整页加载时只挂载一次,因此通过应用内导航到达 New Chat 页面时不会重新读取该参数。其他 URL 参数(如 youtubeload-urlweb-searchimage-generationcode-interpretertools)由 initNewChat 在每次打开 New Chat 页面时读取。打开已保存聊天会关闭临时模式,而没有任何逻辑把它重新打开,于是出现地址栏与页面状态不一致的情况。这不是控制台或服务端报错,Issue 中浏览器控制台和服务端日志均无输出。

环境排查

  • 确认 Open WebUI 版本:Issue 中为 dev commit 621ed6de7;是否包含修复提交 67adde319 是关键判断点。
  • 确认安装方式:Issue 中为 Git Clone;其他安装方式未在 Issue 中验证。
  • 确认操作系统:Issue 中为 Linux。
  • 确认浏览器:Issue 中为 Firefox。
  • 确认复现路径是否包含浏览器 Back 返回 New Chat 页面,且地址栏仍带临时聊天参数。
  • Ollama 版本、Python、CUDA、显卡、相关依赖版本在 Issue 中未提供,无需据此排查。

解决步骤

  1. 先按 Issue 给出的复现路径确认问题:在 New Chat 页面开启临时聊天,点击一个已保存聊天,再按浏览器 Back 返回 New Chat 页面,观察临时聊天图标是否关闭、输入内容是否被保存。
  2. 在同一地址按 F5 整页刷新,确认临时模式是否恢复。如果刷新后恢复,说明与 Issue 中“仅整页加载读取参数”的行为一致。
  3. 将 Open WebUI 升级到包含提交 67adde319 的 dev 版本。这是 Issue 中确认的修复提交。
  4. 如果无法立即升级,可优先尝试在每次到达 New Chat 页面时手动按 F5 触发整页加载,让布局重新读取临时聊天参数;这只是绕过方式,不是 Issue 中验证的修复方案。
  5. 如果你在自行修改代码,Issue 提出的修复方向是把临时聊天参数放到 initNewChat 中与其他参数一起读取,位置在该 guard 之上,以保证对不允许使用临时聊天用户的强制关闭逻辑仍然生效。该改法为 Issue 中的提议方向,正式修复以 67adde319 为准。

验证方法

在包含修复提交 67adde319 的版本上重跑 Issue 的复现步骤:开启临时聊天、打开已保存聊天、按 Back 返回 New Chat 页面。此时 New Chat 页面应保持临时模式,临时聊天图标点亮,输入内容不应被保存。Issue 报告者已在该提交上重新测试,确认问题不再发生。

参考来源

open-webui/open-webui #30198

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 24550

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注