[GH-ISSUE #22745] issue: Uncaught TypeError: can't access property "setId", _() is null when clicking "Read Aloud" in Search Chats preview #19807

Closed
opened 2026-04-20 02:18:25 -05:00 by GiteaMirror · 3 comments
Owner

Originally created by @silentoplayz on GitHub (Mar 17, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/22745

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.8.10

Ollama Version (if applicable)

v0.18.0

Operating System

Ubuntu 24.04.4 LTS

Browser (if applicable)

Mozilla Firefox Snap for Ubuntu v148.0.2 (64-bit) / Google Chrome v146.0.7680.80 (Official Build) (64-bit)

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

Clicking the "Read Aloud" button on a message within the "Search Chats" modal (chat preview) should successfully play the TTS audio without throwing an error, regardless of whether the button was previously clicked within the actual chat interface.

Actual Behavior

Clicking the "Read Aloud" button in the chat preview (from the "Search Chats" modal) throws a TypeError (can't access property "setId", _() is null) in the browser console, and the TTS audio fails to play. This appears to occur only if the "Read Aloud" button hasn't already been clicked from directly within the chat itself first.

Steps to Reproduce

  1. Start an Open WebUI instance utilizing the v0.8.10 version on Ubuntu 24.04.4 LTS using Firefox v148.0.2.
  2. Open the "Search Chats" modal by clicking the Search button in the chats sidebar.
  3. In the modal, hover over an existing chat to view its preview on the right-hand side.
  4. Locate a model's response within the chat preview and click the Read Aloud button beneath it.
  5. Note: This bug specifically surfaces when the Read Aloud button hasn't been clicked directly within that chat prior to attempting it from the preview.

Logs & Screenshots

Browser Console:

Uncaught (in promise) TypeError: can't access property "setId", _() is null
    ee ResponseMessage.svelte:263
    children ResponseMessage.svelte:1026
    s events.js:67
    Ft shared.js:44
    s events.js:66
    Cr events.js:85
    Ta events.js:119
    children ResponseMessage.svelte:1016
    o slot.js:28
    Hi Tooltip.svelte:79
    Jr svelte-element.js:116
    ensure branches.js:194
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Ie effects.js:438
    ensure branches.js:194
    Jr svelte-element.js:72
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Vs effects.js:415
    Jr svelte-element.js:58
    Hi Tooltip.svelte:70
    Or ResponseMessage.svelte:1014
    ensure branches.js:194
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Ie effects.js:438
    ensure branches.js:194
    h if.js:57
    q if.js:65
    Kt ResponseMessage.svelte:1013
    q if.js:63
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Vs effects.js:415
    q if.js:60
    Kt ResponseMessage.svelte:1015
    ensure branches.js:194
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Ie effects.js:438
    ensure branches.js:194
    h if.js:57
    q if.js:65
    ot ResponseMessage.svelte:952
    q if.js:63
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Vs effects.js:415
    q if.js:60
    ot ResponseMessage.svelte:1145
    ensure branches.js:194
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Ie effects.js:438
    ensure branches.js:194
    h if.js:57
    q if.js:65
    ya ResponseMessage.svelte:854
    q if.js:63
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Vs effects.js:415
    q if.js:60
    ya ResponseMessage.svelte:952
    ensure branches.js:194
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Ie effects.js:438
    ensure branches.js:194
    h if.js:57
    q if.js:65
    Kr ResponseMessage.svelte:849
    q if.js:63
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Vs effects.js:415
    q if.js:60
    Kr ResponseMessage.svelte:1452
    ensure branches.js:194
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Ie effects.js:438
    ensure branches.js:194
    h key.js:38
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Vs effects.js:415
    h key.js:25
    Kr ResponseMessage.svelte:615
    w Message.svelte:77
    ensure branches.js:194
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Ie effects.js:438
    ensure branches.js:194
    h if.js:57
    q if.js:65
    h Message.svelte:76
    q if.js:63
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Vs effects.js:415
    q if.js:60
    h Message.svelte:105
    ensure branches.js:194
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Ie effects.js:438
    ensure branches.js:194
    h if.js:57
    q if.js:65
    mi Message.svelte:54
    q if.js:63
ResponseMessage.svelte:263:4
    ee ResponseMessage.svelte:263
    children ResponseMessage.svelte:1026
    s events.js:67
    Ft shared.js:44
    s events.js:66
    (Async: EventListener.handleEvent)
    Cr events.js:85
    Ta events.js:119
    children ResponseMessage.svelte:1016
    o slot.js:28
    Hi Tooltip.svelte:79
    Jr svelte-element.js:116
    ensure branches.js:194
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Ie effects.js:438
    ensure branches.js:194
    Jr svelte-element.js:72
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Vs effects.js:415
    Jr svelte-element.js:58
    Hi Tooltip.svelte:70
    Or ResponseMessage.svelte:1014
    ensure branches.js:194
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Ie effects.js:438
    ensure branches.js:194
    h if.js:57
    q if.js:65
    Kt ResponseMessage.svelte:1013
    q if.js:63
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Vs effects.js:415
    q if.js:60
    Kt ResponseMessage.svelte:1015
    ensure branches.js:194
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Ie effects.js:438
    ensure branches.js:194
    h if.js:57
    q if.js:65
    ot ResponseMessage.svelte:952
    q if.js:63
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Vs effects.js:415
    q if.js:60
    ot ResponseMessage.svelte:1145
    ensure branches.js:194
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Ie effects.js:438
    ensure branches.js:194
    h if.js:57
    q if.js:65
    ya ResponseMessage.svelte:854
    q if.js:63
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Vs effects.js:415
    q if.js:60
    ya ResponseMessage.svelte:952
    ensure branches.js:194
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Ie effects.js:438
    ensure branches.js:194
    h if.js:57
    q if.js:65
    Kr ResponseMessage.svelte:849
    q if.js:63
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Vs effects.js:415
    q if.js:60
    Kr ResponseMessage.svelte:1452
    ensure branches.js:194
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Ie effects.js:438
    ensure branches.js:194
    h key.js:38
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Vs effects.js:415
    h key.js:25
    Kr ResponseMessage.svelte:615
    w Message.svelte:77
    ensure branches.js:194
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Ie effects.js:438
    ensure branches.js:194
    h if.js:57
    q if.js:65
    h Message.svelte:76
    q if.js:63
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Vs effects.js:415
    q if.js:60
    h Message.svelte:105
    ensure branches.js:194
    Nr runtime.js:258
    Ye runtime.js:460
    Y effects.js:136
    Ie effects.js:438
    ensure branches.js:194
    h if.js:57
    q if.js:65
    mi Message.svelte:54
    q if.js:63

Additional Information

  • The issue seems related to how the audio queue or TTS component is initialized within the chat preview context src/lib/components/chat/Messages/ResponseMessage.svelte. The stack trace indicates a TypeError: can't access property "setId", _() is null when the speak button is pressed, suggesting that the store or worker responsible for audio might not be fully initialized or bound correctly when accessed solely through the preview modal.
  • The bug does not trigger 100% of the time, and usually only happens if the button is interacted with in the modal without having been used inside the chat first.
Originally created by @silentoplayz on GitHub (Mar 17, 2026). Original GitHub issue: https://github.com/open-webui/open-webui/issues/22745 ### 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.8.10 ### Ollama Version (if applicable) v0.18.0 ### Operating System Ubuntu 24.04.4 LTS ### Browser (if applicable) Mozilla Firefox Snap for Ubuntu v148.0.2 (64-bit) / Google Chrome v146.0.7680.80 (Official Build) (64-bit) ### 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 Clicking the "Read Aloud" button on a message within the "Search Chats" modal (chat preview) should successfully play the TTS audio without throwing an error, regardless of whether the button was previously clicked within the actual chat interface. ### Actual Behavior Clicking the "Read Aloud" button in the chat preview (from the "Search Chats" modal) throws a TypeError (`can't access property "setId", _() is null`) in the browser console, and the TTS audio fails to play. This appears to occur only if the "Read Aloud" button hasn't already been clicked from directly within the chat itself first. ### Steps to Reproduce 1. Start an Open WebUI instance utilizing the `v0.8.10` version on Ubuntu 24.04.4 LTS using Firefox v148.0.2. 2. Open the "Search Chats" modal by clicking the `Search` button in the chats sidebar. 3. In the modal, hover over an existing chat to view its preview on the right-hand side. 4. Locate a model's response within the chat preview and click the `Read Aloud` button beneath it. 5. Note: This bug specifically surfaces when the `Read Aloud` button hasn't been clicked directly within that chat prior to attempting it from the preview. ### Logs & Screenshots **Browser Console:** ```js Uncaught (in promise) TypeError: can't access property "setId", _() is null ee ResponseMessage.svelte:263 children ResponseMessage.svelte:1026 s events.js:67 Ft shared.js:44 s events.js:66 Cr events.js:85 Ta events.js:119 children ResponseMessage.svelte:1016 o slot.js:28 Hi Tooltip.svelte:79 Jr svelte-element.js:116 ensure branches.js:194 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Ie effects.js:438 ensure branches.js:194 Jr svelte-element.js:72 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Vs effects.js:415 Jr svelte-element.js:58 Hi Tooltip.svelte:70 Or ResponseMessage.svelte:1014 ensure branches.js:194 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Ie effects.js:438 ensure branches.js:194 h if.js:57 q if.js:65 Kt ResponseMessage.svelte:1013 q if.js:63 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Vs effects.js:415 q if.js:60 Kt ResponseMessage.svelte:1015 ensure branches.js:194 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Ie effects.js:438 ensure branches.js:194 h if.js:57 q if.js:65 ot ResponseMessage.svelte:952 q if.js:63 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Vs effects.js:415 q if.js:60 ot ResponseMessage.svelte:1145 ensure branches.js:194 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Ie effects.js:438 ensure branches.js:194 h if.js:57 q if.js:65 ya ResponseMessage.svelte:854 q if.js:63 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Vs effects.js:415 q if.js:60 ya ResponseMessage.svelte:952 ensure branches.js:194 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Ie effects.js:438 ensure branches.js:194 h if.js:57 q if.js:65 Kr ResponseMessage.svelte:849 q if.js:63 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Vs effects.js:415 q if.js:60 Kr ResponseMessage.svelte:1452 ensure branches.js:194 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Ie effects.js:438 ensure branches.js:194 h key.js:38 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Vs effects.js:415 h key.js:25 Kr ResponseMessage.svelte:615 w Message.svelte:77 ensure branches.js:194 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Ie effects.js:438 ensure branches.js:194 h if.js:57 q if.js:65 h Message.svelte:76 q if.js:63 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Vs effects.js:415 q if.js:60 h Message.svelte:105 ensure branches.js:194 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Ie effects.js:438 ensure branches.js:194 h if.js:57 q if.js:65 mi Message.svelte:54 q if.js:63 ResponseMessage.svelte:263:4 ee ResponseMessage.svelte:263 children ResponseMessage.svelte:1026 s events.js:67 Ft shared.js:44 s events.js:66 (Async: EventListener.handleEvent) Cr events.js:85 Ta events.js:119 children ResponseMessage.svelte:1016 o slot.js:28 Hi Tooltip.svelte:79 Jr svelte-element.js:116 ensure branches.js:194 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Ie effects.js:438 ensure branches.js:194 Jr svelte-element.js:72 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Vs effects.js:415 Jr svelte-element.js:58 Hi Tooltip.svelte:70 Or ResponseMessage.svelte:1014 ensure branches.js:194 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Ie effects.js:438 ensure branches.js:194 h if.js:57 q if.js:65 Kt ResponseMessage.svelte:1013 q if.js:63 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Vs effects.js:415 q if.js:60 Kt ResponseMessage.svelte:1015 ensure branches.js:194 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Ie effects.js:438 ensure branches.js:194 h if.js:57 q if.js:65 ot ResponseMessage.svelte:952 q if.js:63 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Vs effects.js:415 q if.js:60 ot ResponseMessage.svelte:1145 ensure branches.js:194 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Ie effects.js:438 ensure branches.js:194 h if.js:57 q if.js:65 ya ResponseMessage.svelte:854 q if.js:63 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Vs effects.js:415 q if.js:60 ya ResponseMessage.svelte:952 ensure branches.js:194 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Ie effects.js:438 ensure branches.js:194 h if.js:57 q if.js:65 Kr ResponseMessage.svelte:849 q if.js:63 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Vs effects.js:415 q if.js:60 Kr ResponseMessage.svelte:1452 ensure branches.js:194 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Ie effects.js:438 ensure branches.js:194 h key.js:38 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Vs effects.js:415 h key.js:25 Kr ResponseMessage.svelte:615 w Message.svelte:77 ensure branches.js:194 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Ie effects.js:438 ensure branches.js:194 h if.js:57 q if.js:65 h Message.svelte:76 q if.js:63 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Vs effects.js:415 q if.js:60 h Message.svelte:105 ensure branches.js:194 Nr runtime.js:258 Ye runtime.js:460 Y effects.js:136 Ie effects.js:438 ensure branches.js:194 h if.js:57 q if.js:65 mi Message.svelte:54 q if.js:63 ``` ### Additional Information - The issue seems related to how the audio queue or TTS component is initialized within the chat preview context `src/lib/components/chat/Messages/ResponseMessage.svelte`. The stack trace indicates a `TypeError: can't access property "setId", _() is null` when the speak button is pressed, suggesting that the store or worker responsible for audio might not be fully initialized or bound correctly when accessed solely through the preview modal. - The bug does not trigger 100% of the time, and usually only happens if the button is interacted with in the modal without having been used inside the chat first.
GiteaMirror added the bugconfirmed issue labels 2026-04-20 02:18:26 -05:00
Author
Owner

@tjbck commented on GitHub (Mar 21, 2026):

Addressed in dev.

<!-- gh-comment-id:4104951787 --> @tjbck commented on GitHub (Mar 21, 2026): Addressed in dev.
Author
Owner

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

d8fa0f426a

<!-- gh-comment-id:4104961309 --> @Classic298 commented on GitHub (Mar 22, 2026): https://github.com/open-webui/open-webui/commit/d8fa0f426a88f5c27b3216b7db35e1db47bbba28
Author
Owner

@silentoplayz commented on GitHub (Mar 23, 2026):

d8fa0f4

This makes the Read Aloud button in the chat preview modal not visible, right?

Image
<!-- gh-comment-id:4109590264 --> @silentoplayz commented on GitHub (Mar 23, 2026): > [d8fa0f4](https://github.com/open-webui/open-webui/commit/d8fa0f426a88f5c27b3216b7db35e1db47bbba28) This makes the `Read Aloud` button in the chat preview modal not visible, right? <img width="545" height="712" alt="Image" src="https://github.com/user-attachments/assets/9aa30535-278c-4109-b8fd-16f69fdf3d9a" />
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#19807