open-webui / open-webui

User-friendly WebUI for LLMs (Formerly Ollama WebUI)
https://openwebui.com
MIT License
38.94k stars 4.54k forks source link

Chat scrollbar is not responsive when pressed at the right edge of the viewport #4072

Closed rotemdan closed 1 month ago

rotemdan commented 1 month ago

Bug Report

Description

Bug Summary: When the mouse cursor is positioned at the very right edge of the viewport, pressing the left mouse button does not impact the scrollbar at all.

You can't operate it normally without "pixel-hunting" the exact bounding box (every time), which is frustrating (also since it's especially thin).

Steps to Reproduce:

  1. Position cursor at the very right edge of the browser's viewport.
  2. Press the left mouse button.

Expected Behavior: Should impact the scrollbar.

Actual Behavior: Doesn't impact the scrollbar.

Environment

Reproduction Details

Confirmation:

Installation Method

docker run -d -p 3000:8080 -e OPENAI_API_KEY=your_secret_key -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

Additional Information

This issue is has become a user experience plague recently. It's usually caused either by:

Notes

A few similar websites or services that are notorious for this issue:

A few chatbot UIs that are not suffering from this issue! (so much more usable!)

rotemdan commented 1 month ago

Update:

After further trial and error, it seems that on open-webui this issue occurs with some zoom levels but not with others.

For example, on my browser (latest Brave on Windows 11) it happens with a zoom level of 110%, but not with 100% or 125%.

I also tested other websites with the problem, but for a lot of them, like Claude.ai, HuggingChat and Poe.com but there the issue happened regardless of zoom level.

On Discord, changing the zoom level to something other than 125% also worked around the issue.

Seems like it's a combination of a UI issue and possibly a Chromium scrollbar issue with different zoom levels (maybe related to rounding of viewport or element dimensions).