[GH-ISSUE #19225] issue: Chat history cannot be displayed and remains loading indefinitely #122122

Closed
opened 2026-05-21 00:31:14 -05:00 by GiteaMirror · 26 comments
Owner

Originally created by @ShirasawaSama on GitHub (Nov 17, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/19225

Check Existing Issues

  • I have searched for any existing and/or related issues.
  • I have searched for any existing and/or related discussions.
  • I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!).
  • I am using the latest version of Open WebUI.

Installation Method

Git Clone

Open WebUI Version

v0.6.36

Ollama Version (if applicable)

No response

Operating System

MacOS 26

Browser (if applicable)

Edge 141

Confirmation

  • I have read and followed all instructions in README.md.
  • I am using the latest version of both Open WebUI and Ollama.
  • I have included the browser console logs.
  • I have included the Docker container logs.
  • I have provided every relevant configuration, setting, and environment variable used in my setup.
  • I have clearly listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
  • I have documented step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation. My steps:
  • Start with the initial platform/version/OS and dependencies used,
  • Specify exact install/launch/configure commands,
  • List URLs visited, user input (incl. example values/emails/passwords if needed),
  • Describe all options and toggles enabled or changed,
  • Include any files or environmental changes,
  • Identify the expected and actual result at each stage,
  • Ensure any reasonably skilled user can follow and hit the same issue.

Expected Behavior

Chat history can be displayed

Actual Behavior

Chat history cannot be displayed and remains loading indefinitely

Steps to Reproduce

It is unclear what caused this data; further investigation may be required.

Logs & Screenshots

Image

Additional Information

We can see that the data returned by the /api/v1/chats/ endpoint includes the complete chat history:

Image

However, we can see that the chat message corresponding to currentId lacks parentId and other fields, causing it to keep loading.

I'm not sure what caused this data issue.

Originally created by @ShirasawaSama on GitHub (Nov 17, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/19225 ### Check Existing Issues - [x] I have searched for any existing and/or related issues. - [x] I have searched for any existing and/or related discussions. - [x] I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!). - [x] I am using the latest version of Open WebUI. ### Installation Method Git Clone ### Open WebUI Version v0.6.36 ### Ollama Version (if applicable) _No response_ ### Operating System MacOS 26 ### Browser (if applicable) Edge 141 ### Confirmation - [x] I have read and followed all instructions in `README.md`. - [x] I am using the latest version of **both** Open WebUI and Ollama. - [x] I have included the browser console logs. - [x] I have included the Docker container logs. - [x] I have **provided every relevant configuration, setting, and environment variable used in my setup.** - [x] I have clearly **listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup** (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc). - [x] I have documented **step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation**. My steps: - Start with the initial platform/version/OS and dependencies used, - Specify exact install/launch/configure commands, - List URLs visited, user input (incl. example values/emails/passwords if needed), - Describe all options and toggles enabled or changed, - Include any files or environmental changes, - Identify the expected and actual result at each stage, - Ensure any reasonably skilled user can follow and hit the same issue. ### Expected Behavior Chat history can be displayed ### Actual Behavior Chat history cannot be displayed and remains loading indefinitely ### Steps to Reproduce It is unclear what caused this data; further investigation may be required. ### Logs & Screenshots <img width="1384" height="816" alt="Image" src="https://github.com/user-attachments/assets/821327ff-d154-429e-87c1-3b76394df2aa" /> ### Additional Information We can see that the data returned by the `/api/v1/chats/` endpoint includes the complete chat history: <img width="1048" height="978" alt="Image" src="https://github.com/user-attachments/assets/a60380f8-3910-438f-a1f1-3fba98424dbd" /> However, we can see that the chat message corresponding to currentId lacks parentId and other fields, causing it to keep loading. I'm not sure what caused this data issue.
GiteaMirror added the bughelp wanted labels 2026-05-21 00:31:15 -05:00
Author
Owner
<!-- gh-comment-id:3540699287 --> @rgaricano commented on GitHub (Nov 17, 2025): you can try a chat check tool for check &| fix it: https://github.com/open-webui/open-webui/issues/15189#issuecomment-3333298297 (https://discord.com/channels/1170866489302188073/1210732510250541067/1420781986041167932 )
Author
Owner

@ShirasawaSama commented on GitHub (Nov 17, 2025):

you can try a chat check tool for check &| fix it: #15189 (comment) (https://discord.com/channels/1170866489302188073/1210732510250541067/1420781986041167932 )

Thanks, but I tried importing this function, but it shows this. Is my import location incorrect?

Image Image
<!-- gh-comment-id:3540746167 --> @ShirasawaSama commented on GitHub (Nov 17, 2025): > you can try a chat check tool for check &| fix it: [#15189 (comment)](https://github.com/open-webui/open-webui/issues/15189#issuecomment-3333298297) (https://discord.com/channels/1170866489302188073/1210732510250541067/1420781986041167932 ) Thanks, but I tried importing this function, but it shows this. Is my import location incorrect? <img width="744" height="144" alt="Image" src="https://github.com/user-attachments/assets/a4acf7a5-30d1-47ba-97e5-b8787185a674" /> <img width="1648" height="1138" alt="Image" src="https://github.com/user-attachments/assets/b5120d94-6f11-427e-9f45-c40cbc0aa8a9" />
Author
Owner

@Algorithm5838 commented on GitHub (Nov 17, 2025):

A workaround for me is to click the three dots, select Overview, and then choose a chat branch.

<!-- gh-comment-id:3541369389 --> @Algorithm5838 commented on GitHub (Nov 17, 2025): A workaround for me is to click the three dots, select Overview, and then choose a chat branch.
Author
Owner

@ShirasawaSama commented on GitHub (Nov 17, 2025):

A workaround for me is to click the three dots, select Overview, and then choose a chat branch.

Since more than one person has encountered this issue, it clearly indicates that this is a reproducible bug. I believe we need to figure out how to consistently reproduce the bug.

<!-- gh-comment-id:3541537357 --> @ShirasawaSama commented on GitHub (Nov 17, 2025): > A workaround for me is to click the three dots, select Overview, and then choose a chat branch. Since more than one person has encountered this issue, it clearly indicates that this is a reproducible bug. I believe we need to figure out how to consistently reproduce the bug.
Author
Owner

@rgaricano commented on GitHub (Nov 17, 2025):

you can try a chat check tool for check &| fix it: #15189 (comment) (https://discord.com/channels/1170866489302188073/1210732510250541067/1420781986041167932 )

Thanks, but I tried importing this function, but it shows this. Is my import location incorrect?

Use the tool (first I did the function but finally I worked & improved the tool)

<!-- gh-comment-id:3542696255 --> @rgaricano commented on GitHub (Nov 17, 2025): > > you can try a chat check tool for check &| fix it: [#15189 (comment)](https://github.com/open-webui/open-webui/issues/15189#issuecomment-3333298297) (https://discord.com/channels/1170866489302188073/1210732510250541067/1420781986041167932 ) > > Thanks, but I tried importing this function, but it shows this. Is my import location incorrect? > Use the tool (first I did the function but finally I worked & improved the tool)
Author
Owner

@tjbck commented on GitHub (Nov 17, 2025):

@ShirasawaSama indeed, no one has came up with a way to reliably reproduce this issue which makes it extremely challenging to address.

<!-- gh-comment-id:3543578165 --> @tjbck commented on GitHub (Nov 17, 2025): @ShirasawaSama indeed, no one has came up with a way to reliably reproduce this issue which makes it extremely challenging to address.
Author
Owner

@DominikStarke commented on GitHub (Nov 23, 2025):

I found that if a mcp server is unavailable chats don't load until connection to the offending server times out.

open-webui   | 2025-11-23 05:46:57.155 | ERROR    | open_webui.utils.tools:get_tool_server_data:601 - Could not fetch tool server spec from http://host.docker.internal:3003/openapi.json
open-webui   | Traceback (most recent call last):
open-webui   |
open-webui   |   File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 532, in start
open-webui   |     message, payload = await protocol.read()  # type: ignore[union-attr]
open-webui   |                              │        └ <function DataQueue.read at 0xffff91c9b2e0>
open-webui   |                              └ <aiohttp.client_proto.ResponseHandler object at 0xfffec8eeedd0>
open-webui   |   File "/usr/local/lib/python3.11/site-packages/aiohttp/streams.py", line 672, in read
open-webui   |     await self._waiter
open-webui   |           │    └ None
open-webui   |           └ <aiohttp.client_proto.ResponseHandler object at 0xfffec8eeedd0>
open-webui   |
open-webui   | asyncio.exceptions.CancelledError
open-webui   |
open-webui   |
open-webui   | The above exception was the direct cause of the following exception:
open-webui   |
open-webui   |
open-webui   | Traceback (most recent call last):
open-webui   |
open-webui   |   File "<frozen runpy>", line 198, in _run_module_as_main
open-webui   |   File "<frozen runpy>", line 88, in _run_code
open-webui   |   File "/usr/local/lib/python3.11/site-packages/uvicorn/__main__.py", line 4, in <module>
open-webui   |     uvicorn.main()
open-webui   |     │       └ <Command main>
open-webui   |     └ <module 'uvicorn' from '/usr/local/lib/python3.11/site-packages/uvicorn/__init__.py'>
open-webui   |   File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1462, in __call__
open-webui   |     return self.main(*args, **kwargs)
open-webui   |            │    │     │       └ {}
open-webui   |            │    │     └ ()
open-webui   |            │    └ <function Command.main at 0xffff9414f100>
open-webui   |            └ <Command main>
open-webui   |   File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1383, in main
open-webui   |     rv = self.invoke(ctx)
open-webui   |          │    │      └ <click.core.Context object at 0xffff9510c610>
open-webui   |          │    └ <function Command.invoke at 0xffff9414ede0>
open-webui   |          └ <Command main>
open-webui   |   File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1246, in invoke
open-webui   |     return ctx.invoke(self.callback, **ctx.params)
open-webui   |            │   │      │    │           │   └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '*', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ...
open-webui   |            │   │      │    │           └ <click.core.Context object at 0xffff9510c610>
open-webui   |            │   │      │    └ <function main at 0xffff93ddb9c0>
open-webui   |            │   │      └ <Command main>
open-webui   |            │   └ <function Context.invoke at 0xffff9414e020>
open-webui   |            └ <click.core.Context object at 0xffff9510c610>
open-webui   |   File "/usr/local/lib/python3.11/site-packages/click/core.py", line 814, in invoke
open-webui   |     return callback(*args, **kwargs)
open-webui   |            │         │       └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '*', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ...
open-webui   |            │         └ ()
open-webui   |            └ <function main at 0xffff93ddb9c0>
open-webui   |   File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 423, in main
open-webui   |     run(
open-webui   |     └ <function run at 0xffff941e5c60>
open-webui   |   File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 593, in run
open-webui   |     server.run()
open-webui   |     │      └ <function Server.run at 0xffff941e54e0>
open-webui   |     └ <uvicorn.server.Server object at 0xffff941829d0>
open-webui   |   File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 67, in run
open-webui   |     return asyncio_run(self.serve(sockets=sockets), loop_factory=self.config.get_loop_factory())
open-webui   |            │           │    │             │                      │    │      └ <function Config.get_loop_factory at 0xffff94118540>
open-webui   |            │           │    │             │                      │    └ <uvicorn.config.Config object at 0xffff9510c750>
open-webui   |            │           │    │             │                      └ <uvicorn.server.Server object at 0xffff941829d0>
open-webui   |            │           │    │             └ None
open-webui   |            │           │    └ <function Server.serve at 0xffff941e5580>
open-webui   |            │           └ <uvicorn.server.Server object at 0xffff941829d0>
open-webui   |            └ <function asyncio_run at 0xffff941e5440>
open-webui   |   File "/usr/local/lib/python3.11/site-packages/uvicorn/_compat.py", line 23, in asyncio_run
open-webui   |     return runner.run(main)
open-webui   |            │      │   └ <coroutine object Server.serve at 0xffff93d372e0>
open-webui   |            │      └ <function Runner.run at 0xffff9441cf40>
open-webui   |            └ <asyncio.runners.Runner object at 0xffff93deb790>
open-webui   |   File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
open-webui   |     return self._loop.run_until_complete(task)
open-webui   |            │    │     │                  └ <Task pending name='Task-1' coro=<Server.serve() running at /usr/local/lib/python3.11/site-packages/uvicorn/server.py:71> wai...
open-webui   |            │    │     └ <cyfunction Loop.run_until_complete at 0xffff93de2380>
open-webui   |            │    └ <uvloop.Loop running=True closed=False debug=False>
open-webui   |            └ <asyncio.runners.Runner object at 0xffff93deb790>
open-webui   |
open-webui   | > File "/app/backend/open_webui/utils/tools.py", line 576, in get_tool_server_data
open-webui   |     async with session.get(
open-webui   |                │       └ <function ClientSession.get at 0xffff919718a0>
open-webui   |                └ <aiohttp.client.ClientSession object at 0xfffecb013110>
open-webui   |
open-webui   |   File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 1488, in __aenter__
open-webui   |     self._resp: _RetType = await self._coro
open-webui   |     │    │                       │    └ <member '_coro' of '_BaseRequestContextManager' objects>
open-webui   |     │    │                       └ <aiohttp.client._BaseRequestContextManager object at 0xfffec8e41690>
open-webui   |     │    └ <member '_resp' of '_BaseRequestContextManager' objects>
open-webui   |     └ <aiohttp.client._BaseRequestContextManager object at 0xfffec8e41690>
open-webui   |   File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 770, in _request
open-webui   |     resp = await handler(req)
open-webui   |                  │       └ <aiohttp.client_reqrep.ClientRequest object at 0xfffecb010690>
open-webui   |                  └ <function ClientSession._request.<locals>._connect_and_send_request at 0xfffec814b380>
open-webui   |   File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 748, in _connect_and_send_request
open-webui   |     await resp.start(conn)
open-webui   |           │    │     └ Connection<ConnectionKey(host='host.docker.internal', port=3003, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_h...
open-webui   |           │    └ <function ClientResponse.start at 0xffff918c9c60>
open-webui   |           └ <ClientResponse(http://host.docker.internal:3003/openapi.json) [None None]>
open-webui   |             None
open-webui   |   File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 527, in start
open-webui   |     with self._timer:
open-webui   |          │    └ <aiohttp.helpers.TimerContext object at 0xfffec813c350>
open-webui   |          └ <ClientResponse(http://host.docker.internal:3003/openapi.json) [None None]>
open-webui   |            None
open-webui   |   File "/usr/local/lib/python3.11/site-packages/aiohttp/helpers.py", line 685, in __exit__
open-webui   |     raise asyncio.TimeoutError from exc_val
open-webui   |           │       │                 └ CancelledError()
open-webui   |           │       └ <class 'TimeoutError'>
open-webui   |           └ <module 'asyncio' from '/usr/local/lib/python3.11/asyncio/__init__.py'>
open-webui   |
open-webui   | TimeoutError
<!-- gh-comment-id:3567520030 --> @DominikStarke commented on GitHub (Nov 23, 2025): I found that if a mcp server is unavailable chats don't load until connection to the offending server times out. ``` open-webui | 2025-11-23 05:46:57.155 | ERROR | open_webui.utils.tools:get_tool_server_data:601 - Could not fetch tool server spec from http://host.docker.internal:3003/openapi.json open-webui | Traceback (most recent call last): open-webui | open-webui | File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 532, in start open-webui | message, payload = await protocol.read() # type: ignore[union-attr] open-webui | │ └ <function DataQueue.read at 0xffff91c9b2e0> open-webui | └ <aiohttp.client_proto.ResponseHandler object at 0xfffec8eeedd0> open-webui | File "/usr/local/lib/python3.11/site-packages/aiohttp/streams.py", line 672, in read open-webui | await self._waiter open-webui | │ └ None open-webui | └ <aiohttp.client_proto.ResponseHandler object at 0xfffec8eeedd0> open-webui | open-webui | asyncio.exceptions.CancelledError open-webui | open-webui | open-webui | The above exception was the direct cause of the following exception: open-webui | open-webui | open-webui | Traceback (most recent call last): open-webui | open-webui | File "<frozen runpy>", line 198, in _run_module_as_main open-webui | File "<frozen runpy>", line 88, in _run_code open-webui | File "/usr/local/lib/python3.11/site-packages/uvicorn/__main__.py", line 4, in <module> open-webui | uvicorn.main() open-webui | │ └ <Command main> open-webui | └ <module 'uvicorn' from '/usr/local/lib/python3.11/site-packages/uvicorn/__init__.py'> open-webui | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1462, in __call__ open-webui | return self.main(*args, **kwargs) open-webui | │ │ │ └ {} open-webui | │ │ └ () open-webui | │ └ <function Command.main at 0xffff9414f100> open-webui | └ <Command main> open-webui | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1383, in main open-webui | rv = self.invoke(ctx) open-webui | │ │ └ <click.core.Context object at 0xffff9510c610> open-webui | │ └ <function Command.invoke at 0xffff9414ede0> open-webui | └ <Command main> open-webui | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1246, in invoke open-webui | return ctx.invoke(self.callback, **ctx.params) open-webui | │ │ │ │ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '*', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ... open-webui | │ │ │ │ └ <click.core.Context object at 0xffff9510c610> open-webui | │ │ │ └ <function main at 0xffff93ddb9c0> open-webui | │ │ └ <Command main> open-webui | │ └ <function Context.invoke at 0xffff9414e020> open-webui | └ <click.core.Context object at 0xffff9510c610> open-webui | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 814, in invoke open-webui | return callback(*args, **kwargs) open-webui | │ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '*', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ... open-webui | │ └ () open-webui | └ <function main at 0xffff93ddb9c0> open-webui | File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 423, in main open-webui | run( open-webui | └ <function run at 0xffff941e5c60> open-webui | File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 593, in run open-webui | server.run() open-webui | │ └ <function Server.run at 0xffff941e54e0> open-webui | └ <uvicorn.server.Server object at 0xffff941829d0> open-webui | File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 67, in run open-webui | return asyncio_run(self.serve(sockets=sockets), loop_factory=self.config.get_loop_factory()) open-webui | │ │ │ │ │ │ └ <function Config.get_loop_factory at 0xffff94118540> open-webui | │ │ │ │ │ └ <uvicorn.config.Config object at 0xffff9510c750> open-webui | │ │ │ │ └ <uvicorn.server.Server object at 0xffff941829d0> open-webui | │ │ │ └ None open-webui | │ │ └ <function Server.serve at 0xffff941e5580> open-webui | │ └ <uvicorn.server.Server object at 0xffff941829d0> open-webui | └ <function asyncio_run at 0xffff941e5440> open-webui | File "/usr/local/lib/python3.11/site-packages/uvicorn/_compat.py", line 23, in asyncio_run open-webui | return runner.run(main) open-webui | │ │ └ <coroutine object Server.serve at 0xffff93d372e0> open-webui | │ └ <function Runner.run at 0xffff9441cf40> open-webui | └ <asyncio.runners.Runner object at 0xffff93deb790> open-webui | File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run open-webui | return self._loop.run_until_complete(task) open-webui | │ │ │ └ <Task pending name='Task-1' coro=<Server.serve() running at /usr/local/lib/python3.11/site-packages/uvicorn/server.py:71> wai... open-webui | │ │ └ <cyfunction Loop.run_until_complete at 0xffff93de2380> open-webui | │ └ <uvloop.Loop running=True closed=False debug=False> open-webui | └ <asyncio.runners.Runner object at 0xffff93deb790> open-webui | open-webui | > File "/app/backend/open_webui/utils/tools.py", line 576, in get_tool_server_data open-webui | async with session.get( open-webui | │ └ <function ClientSession.get at 0xffff919718a0> open-webui | └ <aiohttp.client.ClientSession object at 0xfffecb013110> open-webui | open-webui | File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 1488, in __aenter__ open-webui | self._resp: _RetType = await self._coro open-webui | │ │ │ └ <member '_coro' of '_BaseRequestContextManager' objects> open-webui | │ │ └ <aiohttp.client._BaseRequestContextManager object at 0xfffec8e41690> open-webui | │ └ <member '_resp' of '_BaseRequestContextManager' objects> open-webui | └ <aiohttp.client._BaseRequestContextManager object at 0xfffec8e41690> open-webui | File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 770, in _request open-webui | resp = await handler(req) open-webui | │ └ <aiohttp.client_reqrep.ClientRequest object at 0xfffecb010690> open-webui | └ <function ClientSession._request.<locals>._connect_and_send_request at 0xfffec814b380> open-webui | File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 748, in _connect_and_send_request open-webui | await resp.start(conn) open-webui | │ │ └ Connection<ConnectionKey(host='host.docker.internal', port=3003, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_h... open-webui | │ └ <function ClientResponse.start at 0xffff918c9c60> open-webui | └ <ClientResponse(http://host.docker.internal:3003/openapi.json) [None None]> open-webui | None open-webui | File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 527, in start open-webui | with self._timer: open-webui | │ └ <aiohttp.helpers.TimerContext object at 0xfffec813c350> open-webui | └ <ClientResponse(http://host.docker.internal:3003/openapi.json) [None None]> open-webui | None open-webui | File "/usr/local/lib/python3.11/site-packages/aiohttp/helpers.py", line 685, in __exit__ open-webui | raise asyncio.TimeoutError from exc_val open-webui | │ │ └ CancelledError() open-webui | │ └ <class 'TimeoutError'> open-webui | └ <module 'asyncio' from '/usr/local/lib/python3.11/asyncio/__init__.py'> open-webui | open-webui | TimeoutError ```
Author
Owner

@ShirasawaSama commented on GitHub (Nov 24, 2025):

@rgaricano This doesn't seem to be working.

Image Image
<!-- gh-comment-id:3569520706 --> @ShirasawaSama commented on GitHub (Nov 24, 2025): @rgaricano This doesn't seem to be working. <img width="2046" height="1384" alt="Image" src="https://github.com/user-attachments/assets/a97fc7f3-95bb-4680-8201-87b824e13c71" /> <img width="2124" height="1164" alt="Image" src="https://github.com/user-attachments/assets/5872382e-804c-4f99-b61e-7f4554084b92" />
Author
Owner

@i-iooi-i commented on GitHub (Nov 25, 2025):

I've previously experienced a problem where, if the large language model hasn't responded in a chat—presumably due to network issues—and I navigate away from and then back to the current chat page, the page content fails to load, regardless of how long I wait.
A similar scenario arises in extended conversations, particularly those incorporating images, where the page becomes significantly sluggish. Should the LLM still be pending a response due to network problems, and I delete my last sent message before exiting and re-entering the page, it remains in a perpetual loading state, unable to render content no matter the waiting period.
While I suspect network connectivity is the underlying cause, I cannot confirm it definitively. This issue is notably more common when using mobile devices. Although it manifested in several earlier versions, it seems to have been resolved in the two most recent updates.

There is indeed a discussion about this in some communities: https://linux.do/t/topic/451908

<!-- gh-comment-id:3574022749 --> @i-iooi-i commented on GitHub (Nov 25, 2025): I've previously experienced a problem where, if the large language model hasn't responded in a chat—presumably due to network issues—and I navigate away from and then back to the current chat page, the page content fails to load, regardless of how long I wait. A similar scenario arises in extended conversations, particularly those incorporating images, where the page becomes significantly sluggish. Should the LLM still be pending a response due to network problems, and I delete my last sent message before exiting and re-entering the page, it remains in a perpetual loading state, unable to render content no matter the waiting period. While I suspect network connectivity is the underlying cause, I cannot confirm it definitively. This issue is notably more common when using mobile devices. Although it manifested in several earlier versions, it seems to have been resolved in the two most recent updates. There is indeed a discussion about this in some communities: https://linux.do/t/topic/451908
Author
Owner

@ShirasawaSama commented on GitHub (Nov 25, 2025):

@i-iooi-i For images in base64 format within chats, you can attempt to mitigate this by setting the environment variable REPLACE_IMAGE_URLS_IN_CHAT_RESPONSE=true in the latest v0.6.38 version.

<!-- gh-comment-id:3574084673 --> @ShirasawaSama commented on GitHub (Nov 25, 2025): @i-iooi-i For images in base64 format within chats, you can attempt to mitigate this by setting the environment variable `REPLACE_IMAGE_URLS_IN_CHAT_RESPONSE=true` in the latest v0.6.38 version.
Author
Owner

@i-iooi-i commented on GitHub (Nov 25, 2025):

@ShirasawaSama Okay, thank you very much, I just added the environment variable. 🌹

<!-- gh-comment-id:3574472289 --> @i-iooi-i commented on GitHub (Nov 25, 2025): @ShirasawaSama Okay, thank you very much, I just added the environment variable. 🌹
Author
Owner

@rgaricano commented on GitHub (Nov 25, 2025):

@rgaricano This doesn't seem to be working.

DryRun valve have to be manually disabled, model can't enable or disable it (the model's question to fix it directly it's a "hallucination")

<!-- gh-comment-id:3574817106 --> @rgaricano commented on GitHub (Nov 25, 2025): > [@rgaricano](https://github.com/rgaricano) This doesn't seem to be working. > DryRun valve have to be manually disabled, model can't enable or disable it (the model's question to fix it directly it's a "hallucination")
Author
Owner

@tjbck commented on GitHub (Nov 27, 2025):

ff4b1b9824 might prevent this issue from occurring, more testing in general is needed here.

<!-- gh-comment-id:3584231544 --> @tjbck commented on GitHub (Nov 27, 2025): ff4b1b9824d38f19286b590f219c26a4b0b79300 might prevent this issue from occurring, more testing in general is needed here.
Author
Owner

@y525455383 commented on GitHub (Dec 4, 2025):

经常出现这个bug,真的很烦人,不知道是否能修复解决

<!-- gh-comment-id:3614371799 --> @y525455383 commented on GitHub (Dec 4, 2025): 经常出现这个bug,真的很烦人,不知道是否能修复解决
Author
Owner

@Sorkai commented on GitHub (Dec 8, 2025):

I have also encountered a similar issue where some specific conversations will cause the CPU utilization to spike to 100% and persist for over a minute when being loaded. This situation does not occur when the browser cache is disabled. I tried to analyze the page using a performance analysis tool, but the performance analysis tool clears the cache by default before loading. I am not very familiar with browser debugging tools and don't know how to inspect this type of problem.

However, I did notice that when this issue occurs, the request for loading this conversation returns an empty {"task_ids": []} (as shown in the image), and it is followed by a pending WebSocket request. The interval in the middle of this WebSocket (in the yellow box) is exactly the time period when the conversation loading was stuck. I don't know what the connection between them is. I checked the server logs but did not find any abnormalities.

Perhaps I need some special tools to inspect this problem.

Or maybe this is a new problem? Should I open a new issue?

Image Image Image
<!-- gh-comment-id:3627109347 --> @Sorkai commented on GitHub (Dec 8, 2025): I have also encountered a similar issue where some specific conversations will cause the CPU utilization to spike to 100% and persist for over a minute when being loaded. This situation does not occur when the browser cache is disabled. I tried to analyze the page using a performance analysis tool, but the performance analysis tool clears the cache by default before loading. I am not very familiar with browser debugging tools and don't know how to inspect this type of problem. However, I did notice that when this issue occurs, the request for loading this conversation returns an empty {"task_ids": []} (as shown in the image), and it is followed by a pending WebSocket request. The interval in the middle of this WebSocket (in the yellow box) is exactly the time period when the conversation loading was stuck. I don't know what the connection between them is. I checked the server logs but did not find any abnormalities. Perhaps I need some special tools to inspect this problem. Or maybe this is a new problem? Should I open a new issue? <img width="834" height="600" alt="Image" src="https://github.com/user-attachments/assets/533e3046-c0cf-482e-a089-d2a30c25f840" /> <img width="2045" height="216" alt="Image" src="https://github.com/user-attachments/assets/2fb7e0a5-10ba-412e-9907-253eb6aab760" /> <img width="1609" height="300" alt="Image" src="https://github.com/user-attachments/assets/7f67c33c-7577-4364-9096-781a0a1a17bf" />
Author
Owner

@ShirasawaSama commented on GitHub (Dec 8, 2025):

I have also encountered a similar issue where some specific conversations will cause the CPU utilization to spike to 100% and persist for over a minute when being loaded. This situation does not occur when the browser cache is disabled. I tried to analyze the page using a performance analysis tool, but the performance analysis tool clears the cache by default before loading. I am not very familiar with browser debugging tools and don't know how to inspect this type of problem.

However, I did notice that when this issue occurs, the request for loading this conversation returns an empty {"task_ids": []} (as shown in the image), and it is followed by a pending WebSocket request. The interval in the middle of this WebSocket (in the yellow box) is exactly the time period when the conversation loading was stuck. I don't know what the connection between them is. I checked the server logs but did not find any abnormalities.

Perhaps I need some special tools to inspect this problem.

Or maybe this is a new problem? Should I open a new issue?

@Sorkai Personally, I'm inclined to think it's a new issue. I suggest you export the chat data as JSON and send it out for debugging.

<!-- gh-comment-id:3628154449 --> @ShirasawaSama commented on GitHub (Dec 8, 2025): > I have also encountered a similar issue where some specific conversations will cause the CPU utilization to spike to 100% and persist for over a minute when being loaded. This situation does not occur when the browser cache is disabled. I tried to analyze the page using a performance analysis tool, but the performance analysis tool clears the cache by default before loading. I am not very familiar with browser debugging tools and don't know how to inspect this type of problem. > > However, I did notice that when this issue occurs, the request for loading this conversation returns an empty {"task_ids": []} (as shown in the image), and it is followed by a pending WebSocket request. The interval in the middle of this WebSocket (in the yellow box) is exactly the time period when the conversation loading was stuck. I don't know what the connection between them is. I checked the server logs but did not find any abnormalities. > > Perhaps I need some special tools to inspect this problem. > > Or maybe this is a new problem? Should I open a new issue? > @Sorkai Personally, I'm inclined to think it's a new issue. I suggest you export the chat data as JSON and send it out for debugging.
Author
Owner

@aristosv commented on GitHub (Dec 11, 2025):

same issue here. this is the error in the browser

/api/v1/channels/:1 Failed to load resource: the server responded with a status of 401 (Unauthorized)

<!-- gh-comment-id:3640545394 --> @aristosv commented on GitHub (Dec 11, 2025): same issue here. this is the error in the browser /api/v1/channels/:1 Failed to load resource: the server responded with a status of 401 (Unauthorized)
Author
Owner

@Classic298 commented on GitHub (Dec 11, 2025):

@aristosv this is fixed in dev

<!-- gh-comment-id:3640566252 --> @Classic298 commented on GitHub (Dec 11, 2025): @aristosv this is fixed in dev
Author
Owner

@ShirasawaSama commented on GitHub (Jan 5, 2026):

@Classic298 4b356a3 This commit doesn't appear to have been merged into the dev branch. I tested it, and the currently corrupted chat history still remains in a continuous loading state.

<!-- gh-comment-id:3709368858 --> @ShirasawaSama commented on GitHub (Jan 5, 2026): @Classic298 [4b356a3](https://github.com/Classic298/open-webui/commit/4b356a37d2cb18b870a580619dc5b0d395d40cf2) This commit doesn't appear to have been merged into the dev branch. I tested it, and the currently corrupted chat history still remains in a continuous loading state.
Author
Owner

@ShirasawaSama commented on GitHub (Mar 9, 2026):

@Classic298

I am still encountering this issue and it doesn't seem to have been fixed in 0.8.10 (Including newly generated data). There may be the following situations:

  1. Only the 'content' field is available, without any other fields
  2. There is no 'id' field, all other fields have it
  3. There is no 'parentId' field, all other fields have it
  4. The 'currentId' field of the 'history' object is empty string

So I added this code at the end of the getChatById function to fix it:

	if (res?.chat?.history && res.chat.messages) {
		const msg = res.chat.history.messages[res.chat.history.currentId];
		if (!msg?.id || Object.keys(msg).length < 2) {
			const id = res.chat.messages.at(-1)?.id;
			if (id) res.chat.history.currentId = id;
		}
	}
<!-- gh-comment-id:4023380745 --> @ShirasawaSama commented on GitHub (Mar 9, 2026): @Classic298 I am still encountering this issue and it doesn't seem to have been fixed in 0.8.10 (Including newly generated data). There may be the following situations: 1. Only the 'content' field is available, without any other fields 2. There is no 'id' field, all other fields have it 3. There is no 'parentId' field, all other fields have it 4. The 'currentId' field of the 'history' object is empty string So I added this code at the end of the getChatById function to fix it: ```ts if (res?.chat?.history && res.chat.messages) { const msg = res.chat.history.messages[res.chat.history.currentId]; if (!msg?.id || Object.keys(msg).length < 2) { const id = res.chat.messages.at(-1)?.id; if (id) res.chat.history.currentId = id; } } ```
Author
Owner

@ShirasawaSama commented on GitHub (Mar 29, 2026):

#23179

<!-- gh-comment-id:4150800586 --> @ShirasawaSama commented on GitHub (Mar 29, 2026): #23179
Author
Owner

@Classic298 commented on GitHub (Mar 29, 2026):

we now know what causes this and how to reproduce it thanks t @ShirasawaSama cc @tjbck

<!-- gh-comment-id:4150822387 --> @Classic298 commented on GitHub (Mar 29, 2026): we now know what causes this and how to reproduce it thanks t @ShirasawaSama cc @tjbck
Author
Owner

@ShirasawaSama commented on GitHub (Mar 29, 2026):

In fact, this is caused by an asynchronous race condition between the three endpoints—/chats/new, post /chats/:id, and /completions—due to improper locking.

<!-- gh-comment-id:4150827736 --> @ShirasawaSama commented on GitHub (Mar 29, 2026): In fact, this is caused by an asynchronous race condition between the three endpoints—/chats/new, post /chats/:id, and /completions—due to improper locking.
Author
Owner

@silenceroom commented on GitHub (May 5, 2026):

experience the same problem on our instance too. some users have long chat session and the loading now goes to infinite spin when try to retrieve the chat session. Have to create a new one and get rid of the broken chat.

<!-- gh-comment-id:4377222085 --> @silenceroom commented on GitHub (May 5, 2026): experience the same problem on our instance too. some users have long chat session and the loading now goes to infinite spin when try to retrieve the chat session. Have to create a new one and get rid of the broken chat.
Author
Owner

@JeslynMcKenzie commented on GitHub (May 11, 2026):

Has this been fixed in any published versions or at least has a workaround to fix broken chats?

<!-- gh-comment-id:4417645900 --> @JeslynMcKenzie commented on GitHub (May 11, 2026): Has this been fixed in any published versions or at least has a workaround to fix broken chats?
Author
Owner

@Classic298 commented on GitHub (May 11, 2026):

Yeah this should've been long fixed now in latest versions

<!-- gh-comment-id:4417876905 --> @Classic298 commented on GitHub (May 11, 2026): Yeah this should've been long fixed now in latest versions
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#122122