make sync config saves select the lowest-id config row explicitly
make async config saves select the same canonical row explicitly
make startup config loading read that same canonical row instead of the highest-id duplicate
This keeps load behavior aligned with the row that runtime persistence already updates, preventing later duplicate/default rows from masking saved external connections or model parameters.
Note: I also attempted uv run --with ruff ruff check backend/open_webui/config.py, but dependency/tool resolution did not finish within the local timeout.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/open-webui/open-webui/pull/24823
**Author:** [@pntech20](https://github.com/pntech20)
**Created:** 5/17/2026
**Status:** ❌ Closed
**Base:** `main` ← **Head:** `codex/load-canonical-persistent-config`
---
### 📝 Commits (1)
- [`1ecd887`](https://github.com/open-webui/open-webui/commit/1ecd8871d1e39bd94662b9a635ae9b6c90efff87) fix: load canonical persistent config row
### 📊 Changes
**1 file changed** (+3 additions, -3 deletions)
<details>
<summary>View changed files</summary>
📝 `backend/open_webui/config.py` (+3 -3)
</details>
### 📄 Description
## Summary
- make sync config saves select the lowest-id config row explicitly
- make async config saves select the same canonical row explicitly
- make startup config loading read that same canonical row instead of the highest-id duplicate
This keeps load behavior aligned with the row that runtime persistence already updates, preventing later duplicate/default rows from masking saved external connections or model parameters.
Fixes #24743.
## Checks
- `python -m py_compile backend/open_webui/config.py`
- `git diff --check`
Note: I also attempted `uv run --with ruff ruff check backend/open_webui/config.py`, but dependency/tool resolution did not finish within the local timeout.
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
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.
📋 Pull Request Information
Original PR: https://github.com/open-webui/open-webui/pull/24823
Author: @pntech20
Created: 5/17/2026
Status: ❌ Closed
Base:
main← Head:codex/load-canonical-persistent-config📝 Commits (1)
1ecd887fix: load canonical persistent config row📊 Changes
1 file changed (+3 additions, -3 deletions)
View changed files
📝
backend/open_webui/config.py(+3 -3)📄 Description
Summary
This keeps load behavior aligned with the row that runtime persistence already updates, preventing later duplicate/default rows from masking saved external connections or model parameters.
Fixes #24743.
Checks
python -m py_compile backend/open_webui/config.pygit diff --checkNote: I also attempted
uv run --with ruff ruff check backend/open_webui/config.py, but dependency/tool resolution did not finish within the local timeout.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.