mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-07 11:28:35 -05:00
bug: "Allow User Location" shouldn't be synced. #2190
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @sebdanielsson on GitHub (Sep 24, 2024).
Bug Report
Installation Method
Not relevant.
Environment
Open WebUI Version: v0.3.28
Operating System: macOS Sequoia & Windows 11
Browser (if applicable): Any. Tested with Arc and Safari.
Confirmation:
Expected Behavior:
Being able to start a chat.
Actual Behavior:
"Uh-oh! There was an issue connecting to gpt-4o-mini-2024-07-18."
Description
Bug Summary:
If starting a chat on a browser where location access isn't enabled. A chat can't be started, even when location variables in system prompt is not present. This makes it impossible to use the same account on two different computers if location access is not allowed on any of them. Even when not using location data in the chat.
Reproduction Details
Steps to Reproduce:
Logs and Screenshots
Browser Console Logs:
Docker Container Logs:
Screenshots/Screen Recordings (if applicable):

Additional Information
@tjbck commented on GitHub (Sep 24, 2024):
Agreed, feel free to make a PR!
@sebdanielsson commented on GitHub (Sep 29, 2024):
Feel free to assign the issue to me, and I'll fix it when I have time!😊
@silentoplayz commented on GitHub (Nov 16, 2024):
Any updates on this? Should this issue be closed or is there any desire to fix this if necessary still?
@sebdanielsson commented on GitHub (Nov 16, 2024):
Haven't had time to create a fix yet, but it's still on my todo list.
@DmitriyAlergant commented on GitHub (Nov 28, 2024):
Respectfully disagree that a config option somehow needs not to be synced. That breaks the entire consistency of user config being in one place. There is no need in that.
What I would do instead:
Don't request browser location simply based on the setting if it was not requested in the prompt in the first place
If location was requested but not obtained, quietly replace the placeholder with {unknown} location rather then failing the chat entirely.
@sebdanielsson commented on GitHub (Dec 17, 2024):
Agree and disagree. I agree that all options should be synced. However, there is no reason for location access to be a user option inside open-webui. The browser should only ask for location access if a prompt requires it. The option is already made at the browser level. If a user doesn't want open-webui to access their location, they can simply decline the popup requesting access. If the user does want to share location access, it should just be provided to the prompt.
What are your thoughts on this? @tjbck
@DmitriyAlergant commented on GitHub (Dec 17, 2024):
For one, this is already the case. It is already only requesting location (setting-permitting) if the prompt requires it. My prompts do not, and browsers are not asking for a location.
Secondly, browser-level permit is typically given once and then the browsers make hard to to track its status. While the prompt may have given or removed the location part over time. You may have given it once and then forgot. Or what's worse, for Safari, you can reject ("Decline for today") but it will keep buzzing you with a new request every day, etc.
So I think
@sebdanielsson commented on GitHub (Dec 17, 2024):
I really don't see the problem here.
First of all, the browser's per-site settings page for controlling location access is two clicks away (Chrome, Edge, Safari, Brave etc); it's not hard to track the current setting. Second, it makes sense for Safari to ask the user for access each time a prompt using location access is sent. If the user doesn't want to share location access, they shouldn't have the variable in the prompt. Third, I haven't seen a solution to the issue described on the first page. How would you solve this issue? The current behavior doesn't make sense.
@1e100 commented on GitHub (Feb 14, 2025):
Seems like as of the most recent release "allow user location" is actually "require user location" in practice. "Allow" to me means that it'll attempt to get user location via the browser API, but if that fails, things would still function. Currently they do not - if I deny location access, the request can't proceed at all.
@sebdanielsson commented on GitHub (Feb 23, 2025):
With #10634 I've updated the behavior to set the location to LOCATION_UNKNOWN if location access is not permitted.