I have searched the existing issues and discussions.
I am using the latest version of Open WebUI.
Installation Method
Git Clone
Open WebUI Version
v0.6.22
Ollama Version (if applicable)
n/a
Operating System
macOS 26
Browser (if applicable)
Safari
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
Expected behaviour:
Open user settings
Click Audio
Select "Kokoro.js (Browser)" from the TTS Engine list.
Close settings
Click the button to speak a response
Hear the response
Actual Behavior
Click user settings
Click Audio, then select "Kokoro.js (Browser)" as the TTS engine.
A spinner will start and never complete.
The browser console will have the message below:
[Error] Unhandled Promise Rejection: TypeError: undefined is not a function (near '...x of w...')
(anonymous function) (2.f9LfW7pL.js:2824:729544)
(anonymous function) (2.f9LfW7pL.js:2824:729619)
(anonymous function) (2.f9LfW7pL.js:2824:729620)
(anonymous function) (2.f9LfW7pL.js:2824:729687)
Module Code (2.f9LfW7pL.js:2824:746127)
Steps to Reproduce
Using macOS 26, where Safari has WebGPU enabled, and open-webui v0.6.22.
I'm trying to use the browser-based TTS via Kokoro. Enabled this in TTS Settings by setting Text-to-Speech Engine to "Kokoro.js (Browser)".
To test:
Click your profile name at the bottom left of Open-WebUI
Click Audio, then select "Kokoro.js (Browser)" as the TTS engine.
A spinner will start and never complete.
The browser console will have this error:
[Error] Unhandled Promise Rejection: TypeError: undefined is not a function (near '...x of w...')
(anonymous function) (2.f9LfW7pL.js:2824:729544)
(anonymous function) (2.f9LfW7pL.js:2824:729619)
(anonymous function) (2.f9LfW7pL.js:2824:729620)
(anonymous function) (2.f9LfW7pL.js:2824:729687)
Module Code (2.f9LfW7pL.js:2824:746127)
Safari in macOS 26 enables WebGPU support by default, but this can also be tested in the latest non-beta macOS by enabling WebGPU in Feature Flags.
Logs & Screenshots
[Error] Unhandled Promise Rejection: TypeError: undefined is not a function (near '...x of w...')
(anonymous function) (2.f9LfW7pL.js:2824:729544)
(anonymous function) (2.f9LfW7pL.js:2824:729619)
(anonymous function) (2.f9LfW7pL.js:2824:729620)
(anonymous function) (2.f9LfW7pL.js:2824:729687)
Module Code (2.f9LfW7pL.js:2824:746127)
Additional Information
Kokoro does work in Safari in other applications; here's a page that loads it and lets you run TTS in the browser where it can be tested:
Originally created by @fdstevex on GitHub (Aug 14, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/16618
### Check Existing Issues
- [x] I have searched the existing issues and discussions.
- [x] I am using the latest version of Open WebUI.
### Installation Method
Git Clone
### Open WebUI Version
v0.6.22
### Ollama Version (if applicable)
n/a
### Operating System
macOS 26
### Browser (if applicable)
Safari
### 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
Expected behaviour:
- Open user settings
- Click Audio
- Select "Kokoro.js (Browser)" from the TTS Engine list.
- Close settings
- Click the button to speak a response
- Hear the response
### Actual Behavior
- Click user settings
- Click Audio, then select "Kokoro.js (Browser)" as the TTS engine.
- A spinner will start and never complete.
- The browser console will have the message below:
-
[Error] Unhandled Promise Rejection: TypeError: undefined is not a function (near '...x of w...')
(anonymous function) (2.f9LfW7pL.js:2824:729544)
(anonymous function) (2.f9LfW7pL.js:2824:729619)
(anonymous function) (2.f9LfW7pL.js:2824:729620)
(anonymous function) (2.f9LfW7pL.js:2824:729687)
Module Code (2.f9LfW7pL.js:2824:746127)
### Steps to Reproduce
Using macOS 26, where Safari has WebGPU enabled, and open-webui v0.6.22.
I'm trying to use the browser-based TTS via Kokoro. Enabled this in TTS Settings by setting Text-to-Speech Engine to "Kokoro.js (Browser)".
To test:
- Click your profile name at the bottom left of Open-WebUI
- Click Audio, then select "Kokoro.js (Browser)" as the TTS engine.
- A spinner will start and never complete.
The browser console will have this error:
[Error] Unhandled Promise Rejection: TypeError: undefined is not a function (near '...x of w...')
(anonymous function) (2.f9LfW7pL.js:2824:729544)
(anonymous function) (2.f9LfW7pL.js:2824:729619)
(anonymous function) (2.f9LfW7pL.js:2824:729620)
(anonymous function) (2.f9LfW7pL.js:2824:729687)
Module Code (2.f9LfW7pL.js:2824:746127)
Safari in macOS 26 enables WebGPU support by default, but this can also be tested in the latest non-beta macOS by enabling WebGPU in Feature Flags.
### Logs & Screenshots
<img width="1732" height="1648" alt="Image" src="https://github.com/user-attachments/assets/07a5873e-dccf-4a54-80d8-86b07539cccc" />
[Error] Unhandled Promise Rejection: TypeError: undefined is not a function (near '...x of w...')
(anonymous function) (2.f9LfW7pL.js:2824:729544)
(anonymous function) (2.f9LfW7pL.js:2824:729619)
(anonymous function) (2.f9LfW7pL.js:2824:729620)
(anonymous function) (2.f9LfW7pL.js:2824:729687)
Module Code (2.f9LfW7pL.js:2824:746127)
### Additional Information
Kokoro does work in Safari in other applications; here's a page that loads it and lets you run TTS in the browser where it can be tested:
https://voice-generator.pages.dev
GiteaMirror
added the bug label 2026-05-15 13:30:16 -05:00
(I didn't include Docker log since this is all client side; let me know if you need it).
<!-- gh-comment-id:3188198473 -->
@fdstevex commented on GitHub (Aug 14, 2025):
(I didn't include Docker log since this is all client side; let me know if you need it).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @fdstevex on GitHub (Aug 14, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/16618
Check Existing Issues
Installation Method
Git Clone
Open WebUI Version
v0.6.22
Ollama Version (if applicable)
n/a
Operating System
macOS 26
Browser (if applicable)
Safari
Confirmation
README.md.Expected Behavior
Expected behaviour:
Actual Behavior
[Error] Unhandled Promise Rejection: TypeError: undefined is not a function (near '...x of w...')
(anonymous function) (2.f9LfW7pL.js:2824:729544)
(anonymous function) (2.f9LfW7pL.js:2824:729619)
(anonymous function) (2.f9LfW7pL.js:2824:729620)
(anonymous function) (2.f9LfW7pL.js:2824:729687)
Module Code (2.f9LfW7pL.js:2824:746127)
Steps to Reproduce
Using macOS 26, where Safari has WebGPU enabled, and open-webui v0.6.22.
I'm trying to use the browser-based TTS via Kokoro. Enabled this in TTS Settings by setting Text-to-Speech Engine to "Kokoro.js (Browser)".
To test:
The browser console will have this error:
[Error] Unhandled Promise Rejection: TypeError: undefined is not a function (near '...x of w...')
(anonymous function) (2.f9LfW7pL.js:2824:729544)
(anonymous function) (2.f9LfW7pL.js:2824:729619)
(anonymous function) (2.f9LfW7pL.js:2824:729620)
(anonymous function) (2.f9LfW7pL.js:2824:729687)
Module Code (2.f9LfW7pL.js:2824:746127)
Safari in macOS 26 enables WebGPU support by default, but this can also be tested in the latest non-beta macOS by enabling WebGPU in Feature Flags.
Logs & Screenshots
[Error] Unhandled Promise Rejection: TypeError: undefined is not a function (near '...x of w...')
(anonymous function) (2.f9LfW7pL.js:2824:729544)
(anonymous function) (2.f9LfW7pL.js:2824:729619)
(anonymous function) (2.f9LfW7pL.js:2824:729620)
(anonymous function) (2.f9LfW7pL.js:2824:729687)
Module Code (2.f9LfW7pL.js:2824:746127)
Additional Information
Kokoro does work in Safari in other applications; here's a page that loads it and lets you run TTS in the browser where it can be tested:
https://voice-generator.pages.dev
@fdstevex commented on GitHub (Aug 14, 2025):
(I didn't include Docker log since this is all client side; let me know if you need it).
@tjbck commented on GitHub (Aug 14, 2025):
Unable to reproduce from our end (tested with m1 max), keep us updated!