[GH-ISSUE #10156] Allow User Location setting breaks UI when user blocks location requests #135513

Closed
opened 2026-05-25 02:25:42 -05:00 by GiteaMirror · 4 comments
Owner

Originally created by @jpiccari on GitHub (Feb 17, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/10156

Bug Report

Important Notes

  • Before submitting a bug report: Please check the Issues or Discussions section to see if a similar issue or feature request has already been posted. It's likely we're already tracking it! If you’re unsure, start a discussion post first. This will help us efficiently focus on improving the project.

  • Collaborate respectfully: We value a constructive attitude, so please be mindful of your communication. If negativity is part of your approach, our capacity to engage may be limited. We’re here to help if you’re open to learning and communicating positively. Remember, Open WebUI is a volunteer-driven project managed by a single maintainer and supported by contributors who also have full-time jobs. We appreciate your time and ask that you respect ours.

  • Contributing: If you encounter an issue, we highly encourage you to submit a pull request or fork the project. We actively work to prevent contributor burnout to maintain the quality and continuity of Open WebUI.

  • Bug reproducibility: If a bug cannot be reproduced with a :main or :dev Docker setup, or a pip install with Python 3.11, it may require additional help from the community. In such cases, we will move it to the "issues" Discussions section due to our limited resources. We encourage the community to assist with these issues. Remember, it’s not that the issue doesn’t exist; we need your help!

Note: Please remove the notes above when submitting your post. Thank you for your understanding and support!


Installation Method

Docker ghcr.io/open-webui/open-webui:main aka ghcr.io/open-webui/open-webui@sha256:1623214ac0c180cc1f527df3c2cb2be69bd0911016a565edc15e91b4e6ab99dd

Environment

  • Open WebUI Version: v0.5.12

  • Ollama (if applicable): v0.5.11

  • Operating System: iOS 18.3

  • Browser (if applicable): Safari

Confirmation:

  • I have read and followed all the instructions provided in the README.md.
  • I am on 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 the exact steps to reproduce the bug in the "Steps to Reproduce" section below.

Expected Behavior:

Chat response loading UI is replaced with text responses eventually.

Actual Behavior:

UI appears to hang forever, never returning chat responses.

Description

Bug Summary:
When Allow User Location setting in Open WebUI is enabled, and the user has disabled location services at the site/browser/OS level, the UI never displays chat response text.

Reproduction Details

Steps to Reproduce:

  1. Enable Allow User Location in Open WebUI setting (be sure to save)
  2. Disable location services
    a. On iOS you can disable Location Services for all of Safari via Settings -> Privacy & Security -> Location Services -> Safari and selecting Never
    b. On Brave browser you can disable location access using the button to the left of the URL in the address bar
    c. You can also switch to a browser which doesn't support location or simply decline/block Open WebUI's location request when it opens
  3. Start a new chat
  4. New chat UI appears
  5. Loading UI is never replaced with response text

Logs and Screenshots

Browser Console Logs:
Logs from iOS Safari where I first noticed the issue

[Error] Error getting user location: – GeolocationPositionError {code: 1, message: "User denied Geolocation", PERMISSION_DENIED: 1, …}
GeolocationPositionError {code: 1, message: "User denied Geolocation", PERMISSION_DENIED: 1, POSITION_UNAVAILABLE: 2, TIMEOUT: 3}GeolocationPositionError
	(anonymous function) (index.CIZRAtI0.js:10:213)
[Error] Unhandled Promise Rejection: [object GeolocationPositionError]
	(anonymous function) (Help.De2g7uuY.js:138:3151)

Logs from Brave browser on desktop

index.ts:484 Error getting user location: GeolocationPositionError {code: 1, message: 'User denied Geolocation'}
(anonymous) @ index.ts:484
Promise.catch
Zt @ index.ts:483
g @ index.ts:286
ze @ Chat.svelte:1576
await in ze
(anonymous) @ Chat.svelte:1437
await in (anonymous)
Ce @ Chat.svelte:1387
await in Ce
de @ Chat.svelte:1318
ol @ Chat.svelte:2017
await in ol
(anonymous) @ lifecycle.js:105
(anonymous) @ lifecycle.js:104
mt @ MessageInput.svelte:829
(anonymous) @ lifecycle.js:105
(anonymous) @ lifecycle.js:104
keydown @ RichTextInput.svelte:289
(anonymous) @ index.js:3092
someProp @ index.js:5484
da @ index.js:3090
t.dom.addEventListener.t.input.eventHandlers.<computed> @ index.js:3059
Chat.svelte:1318 Uncaught (in promise) GeolocationPositionError {code: 1, message: 'User denied Geolocation'}

Docker Container Logs:
Not applicable, no relevant logs are appear during this issue.

Screenshots/Screen Recordings (if applicable):
None.

Additional Information

Poking around slightly, the issue seems to stem from throwing an exception when the navigator.geolocation.getCurrentPosition() is rejected. The catch block here throws the exception, rather than gracefully handling the lack of user location data.

There are several ways to trigger this bug. I first noticed by enabling user location on my desktop, then attempting to access with iOS where I have location services disabled for all of Safari. I tested a few quick ideas and put them in the repro steps but there may be other scenarios I missed.

Would be willing to submit a PR but figured there were a few directions that the fix could go and should consult the maintainers first.

Note

If the bug report is incomplete or does not follow the provided instructions, it may not be addressed. Please ensure that you have followed the steps outlined in the README.md and troubleshooting.md documents, and provide all necessary information for us to reproduce and address the issue. Thank you!

Originally created by @jpiccari on GitHub (Feb 17, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/10156 # Bug Report ## Important Notes - **Before submitting a bug report**: Please check the Issues or Discussions section to see if a similar issue or feature request has already been posted. It's likely we're already tracking it! If you’re unsure, start a discussion post first. This will help us efficiently focus on improving the project. - **Collaborate respectfully**: We value a constructive attitude, so please be mindful of your communication. If negativity is part of your approach, our capacity to engage may be limited. We’re here to help if you’re open to learning and communicating positively. Remember, Open WebUI is a volunteer-driven project managed by a single maintainer and supported by contributors who also have full-time jobs. We appreciate your time and ask that you respect ours. - **Contributing**: If you encounter an issue, we highly encourage you to submit a pull request or fork the project. We actively work to prevent contributor burnout to maintain the quality and continuity of Open WebUI. - **Bug reproducibility**: If a bug cannot be reproduced with a `:main` or `:dev` Docker setup, or a pip install with Python 3.11, it may require additional help from the community. In such cases, we will move it to the "issues" Discussions section due to our limited resources. We encourage the community to assist with these issues. Remember, it’s not that the issue doesn’t exist; we need your help! Note: Please remove the notes above when submitting your post. Thank you for your understanding and support! --- ## Installation Method Docker `ghcr.io/open-webui/open-webui:main` aka `ghcr.io/open-webui/open-webui@sha256:1623214ac0c180cc1f527df3c2cb2be69bd0911016a565edc15e91b4e6ab99dd` ## Environment - **Open WebUI Version:** v0.5.12 - **Ollama (if applicable):** v0.5.11 - **Operating System:** iOS 18.3 - **Browser (if applicable):** Safari **Confirmation:** - [X] I have read and followed all the instructions provided in the README.md. - [X] I am on 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 the exact steps to reproduce the bug in the "Steps to Reproduce" section below. ## Expected Behavior: Chat response loading UI is replaced with text responses eventually. ## Actual Behavior: UI appears to hang forever, never returning chat responses. ## Description **Bug Summary:** When `Allow User Location` setting in Open WebUI is enabled, and the user has disabled location services at the site/browser/OS level, the UI never displays chat response text. ## Reproduction Details **Steps to Reproduce:** 1. Enable `Allow User Location` in Open WebUI setting (be sure to save) 2. Disable location services a. On iOS you can disable Location Services for all of Safari via Settings -> Privacy & Security -> Location Services -> Safari and selecting Never b. On Brave browser you can disable location access using the button to the left of the URL in the address bar c. You can also switch to a browser which doesn't support location or simply decline/block Open WebUI's location request when it opens 3. Start a new chat 4. New chat UI appears 5. Loading UI is never replaced with response text ## Logs and Screenshots **Browser Console Logs:** Logs from iOS Safari where I first noticed the issue ```txt [Error] Error getting user location: – GeolocationPositionError {code: 1, message: "User denied Geolocation", PERMISSION_DENIED: 1, …} GeolocationPositionError {code: 1, message: "User denied Geolocation", PERMISSION_DENIED: 1, POSITION_UNAVAILABLE: 2, TIMEOUT: 3}GeolocationPositionError (anonymous function) (index.CIZRAtI0.js:10:213) [Error] Unhandled Promise Rejection: [object GeolocationPositionError] (anonymous function) (Help.De2g7uuY.js:138:3151) ``` Logs from Brave browser on desktop ```txt index.ts:484 Error getting user location: GeolocationPositionError {code: 1, message: 'User denied Geolocation'} (anonymous) @ index.ts:484 Promise.catch Zt @ index.ts:483 g @ index.ts:286 ze @ Chat.svelte:1576 await in ze (anonymous) @ Chat.svelte:1437 await in (anonymous) Ce @ Chat.svelte:1387 await in Ce de @ Chat.svelte:1318 ol @ Chat.svelte:2017 await in ol (anonymous) @ lifecycle.js:105 (anonymous) @ lifecycle.js:104 mt @ MessageInput.svelte:829 (anonymous) @ lifecycle.js:105 (anonymous) @ lifecycle.js:104 keydown @ RichTextInput.svelte:289 (anonymous) @ index.js:3092 someProp @ index.js:5484 da @ index.js:3090 t.dom.addEventListener.t.input.eventHandlers.<computed> @ index.js:3059 Chat.svelte:1318 Uncaught (in promise) GeolocationPositionError {code: 1, message: 'User denied Geolocation'} ``` **Docker Container Logs:** Not applicable, no relevant logs are appear during this issue. **Screenshots/Screen Recordings (if applicable):** None. ## Additional Information Poking around slightly, the issue seems to stem from throwing an exception when the `navigator.geolocation.getCurrentPosition()` is rejected. The catch block [here](https://github.com/open-webui/open-webui/blob/2017856791b666fac5f1c2f80a3bc7916439438b/src/lib/utils/index.ts#L542) throws the exception, rather than gracefully handling the lack of user location data. There are several ways to trigger this bug. I first noticed by enabling user location on my desktop, then attempting to access with iOS where I have location services disabled for all of Safari. I tested a few quick ideas and put them in the repro steps but there may be other scenarios I missed. Would be willing to submit a PR but figured there were a few directions that the fix could go and should consult the maintainers first. ## Note If the bug report is incomplete or does not follow the provided instructions, it may not be addressed. Please ensure that you have followed the steps outlined in the README.md and troubleshooting.md documents, and provide all necessary information for us to reproduce and address the issue. Thank you!
Author
Owner

@tjbck commented on GitHub (Feb 18, 2025):

Addressed with 16ce8ab16c05c76b58477b86b93a99418d3b51a2!

<!-- gh-comment-id:2664390394 --> @tjbck commented on GitHub (Feb 18, 2025): Addressed with 16ce8ab16c05c76b58477b86b93a99418d3b51a2!
Author
Owner

@johnschult commented on GitHub (Mar 7, 2026):

Still experiencing this on v0.8.8 with a slightly different failure mode.

When the Comet (Perplexity) browser prompts for location access on the OWUI site, allowing location causes the prompt response to hang indefinitely. Denying works fine. Safari and Edge work correctly either way, allow or deny.

The geolocation promise appears to never resolve in Comet when allowed, blocking the completion response.

<!-- gh-comment-id:4016508411 --> @johnschult commented on GitHub (Mar 7, 2026): Still experiencing this on v0.8.8 with a slightly different failure mode. When the Comet (Perplexity) browser prompts for location access on the OWUI site, allowing location causes the prompt response to hang indefinitely. Denying works fine. Safari and Edge work correctly either way, allow or deny. The geolocation promise appears to never resolve in Comet when allowed, blocking the completion response.
Author
Owner

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

if your browser doesnt have access to the location, the prompt will hang for so long until your location is determined. check your OS' permission system

<!-- gh-comment-id:4016511348 --> @Classic298 commented on GitHub (Mar 7, 2026): if your browser doesnt have access to the location, the prompt will hang for so long until your location is determined. check your OS' permission system
Author
Owner

@johnschult commented on GitHub (Mar 7, 2026):

@Classic298 Confirmed Comet has location access at the OS level and geolocation works correctly on other sites (Google resolves exact location without issue, and so do other sites that ask for location permission). The issue is specific to OWUI... when the browser prompts for location on the OWUI site and I allow it, the completion response hangs indefinitely.

<!-- gh-comment-id:4016515605 --> @johnschult commented on GitHub (Mar 7, 2026): @Classic298 Confirmed Comet has location access at the OS level and geolocation works correctly on other sites (Google resolves exact location without issue, and so do other sites that ask for location permission). The issue is specific to OWUI... when the browser prompts for location on the OWUI site and I allow it, the completion response hangs indefinitely.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#135513