issue: Scrolling up jumps around in a conversation/chat

该问题发生在 Open WebUI v0.9.1 及部分后续版本中,用户在长对话中向上滚动时页面会来回跳动(尤其在使用 Firefox/Zen 浏览器时明显)。优先排查方向是确认是否为版本回归导致的懒加载/虚拟滚动与滚动锚定冲突,并升级到最新版本验证是否已修复。

快速结论:该问题发生在 Open WebUI v0.9.1 及部分后续版本中,用户在长对话中向上滚动时页面会来回跳动(尤其在使用 Firefox/Zen 浏览器时明显)。优先排查方向是确认是否为版本回归导致的懒加载/虚拟滚动与滚动锚定冲突,并升级到最新版本验证是否已修复。

适用环境:Issue 确认涉及 Open WebUI v0.9.1(Docker 安装方式),操作系统为 Fedora Linux 43;浏览器涉及 Firefox/Zen(Firefox 149.0.2)。评论区进一步确认影响 Firefox、Safari、Chrome、Edge、Brave 及 Android/iOS 移动端(如 Chrome 147.0),Windows、macOS、Linux 均有复现。Ollama 版本未提供。

最快修复方案:暂无确认的一步修复方案。Issue 关闭时开发者表示已“Addressed with the latest release”,因此可优先尝试升级 Open WebUI 到最新版本;但评论区后续验证表明在 v0.9.2 及最新版 FireFox 中仍可能部分复现(尤其首次加载后滚动到顶部时)。

注意事项:该方案仅为基于 Issue 关闭状态的推测性结论,并未在 Issue 中给出明确的修复提交或验证步骤。部分用户反映升级后问题仅在对话顶部首次加载时残留,且仅当滚动到未懒加载区域时触发。

问题场景

用户在 Open WebUI v0.9.1 中打开一个包含较多消息的长对话/聊天记录,尝试向上滚动查看历史内容时出现滚动位置来回跳动(jump around),通常在用户自己的提问/消息附近最明显。使用笔记本触摸板滚动时触发,Chromium 内核浏览器(如 Chrome)中未复现该跳动问题,但会表现为滚动卡顿或轻微上下抖动。有用户反馈使用包含长代码块的超长消息时,问题会严重到直接跳过整条消息甚至无法滚动到首屏之外。

报错原文

issue: Scrolling up jumps around in a conversation/chat

> This site appears to use a scroll-linked positioning effect. This may not work well with asynchronous panning; see https://firefox-source-docs.mozilla.org/performance/scroll-linked_effects.html for further details and to join the discussion on related tools and features!

> Scroll anchoring was disabled in a scroll container because of too many consecutive adjustments (17) with too little total distance (1.41176470588235 px average, 24 px total). index.js:7850:54

原因分析

可能原因:这是 Open WebUI v0.9.x 引入的功能性回归(regression)。有用户指出该版本新增了“任务步骤创建显示”功能,但该功能可能未完全实现,同时破坏了滚动机制。更具体的技术推测与懒加载(lazy loading)和虚拟 DOM(virtual dom)相关:长对话两端使用了动态懒加载机制,配合消息长度不一致时,浏览器滚动锚定(scroll anchoring)被大量触发调整(console 中可见 17 次连续调整提示),导致滚动位置不断被“修正”回原位或跳跃。此外,Firefox 的滚动链接定位效果警告(scroll-linked positioning effect)提示页面存在与滚动位置绑定的布局更新,在 Firefox 的异步平移机制下会加剧问题。Chromium 中虽不跳,但消息渲染时也会出现卡顿,推测为同一根因。

环境排查

  • Open WebUI 版本:需确认是否为 v0.9.1 或 v0.9.2(若在更早版本未复现,则指向版本回归)。
  • 浏览器版本:Firefox/Zen(含 Firefox 149.0.2)、Chrome 147.0.x、Safari、Edge、Brave 均受影响;建议在无扩展的干净配置下测试。
  • 操作系统:Fedora Linux 43、Windows、macOS、CachyOS 等均有复现报告。
  • 设备形态:笔记本触摸板、桌面鼠标、手机/PWA 均受影响。
  • 安装方式:Docker 与 bare metal(非容器)部署均出现相同症状。
  • 环境变量/配置:Issue 中未提供影响该问题的特定环境变量,若涉及自定义 Docker Compose override 可先还原默认再测试。

解决步骤

  1. 升级 Open WebUI:优先升级到最新发布版本。Issue 关闭时标注团队已处理(“Addressed with the latest release”),但评论区显示 v0.9.2 未完全修复,因此升级后需继续验证。
  2. 复现条件收敛(可优先尝试):若升级后仍复现,请确认是否仅在以下条件触发:页面刚加载后立即滚动到对话顶部,或滚动到尚未懒加载完成的区域附近。部分用户反馈调整窗口大小可临时缓解,但遇到不同长度消息时会再次出现。
  3. 更换浏览器做交叉验证:对比 Firefox 与 Chromium 系浏览器的表现差异,以判断是否为浏览器滚动锚定行为差异所致(Firefox 表现最严重,Chromium 表现为卡顿/轻微抖动)。
  4. 清理浏览器状态:在无扩展、无缓存的干净浏览器配置(如 LibreWolf 无扩展、Firefox 无插件)下测试,排除扩展对滚动行为的干扰。
  5. 关注后续版本修复:鉴于 Issue 已关闭且有用户反馈仍可复现,建议持续关注 Open WebUI 后续 release notes 中关于“scrolling”“lazy loading”“virtual dom”的修复说明。

验证方法

升级或调整后,打开一个足够长(至少超过一屏)的对话,执行以下操作:刷新页面使状态重置,从底部向上缓慢滚动(模拟触摸板手势),观察是否还能复现“来回跳动”或“滚动锚定被禁用”的 console 报错。同时切换到 Firefox 与 Chrome 各测一遍,对比是否存在行为差异。若升级后仅在“对话顶部首次加载”这一情境下出现轻微跳动,而正常浏览中不再跳转,则可视为修复有效(结合评论区反馈,这是升级后的预期残留表现)。

参考来源

open-webui/open-webui #23990

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 20521

发表回复

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