mirror of
https://github.com/open-webui/open-webui.git
synced 2026-10-11 03:38:02 +00:00
fix: functions and tools with a required Valves field cannot be saved (#32165)
Since the recent change that keeps a history of function and tool edits, saving a new function or tool whose Valves (its admin settings, such as an API key) have a required field with no default was refused with "Current Valves are incompatible with this code: ... Field required", because a new one has no Valves set yet. Editing the code to add a new required field failed the same way. Missing required fields no longer block saving, so the function or tool can be installed first and its Valves filled in afterwards, as before that change. Saved Valves that have the wrong type for the new code are still rejected. Fixes #32145
This commit is contained in:
parent
93838060b2
commit
c9f9c4b1da
1 changed files with 3 additions and 0 deletions
|
|
@ -50,6 +50,9 @@ def validate_valves(module, valves):
|
|||
# Validate without replacing the stored values (including unused keys/secrets).
|
||||
module.Valves(**{key: value for key, value in values.items() if value is not None})
|
||||
except Exception as error:
|
||||
# Required fields with no stored value yet get filled in after saving.
|
||||
if isinstance(error, ValidationError) and all(item['type'] == 'missing' for item in error.errors()):
|
||||
return
|
||||
detail = (
|
||||
'; '.join(
|
||||
f'{".".join(map(str, item["loc"]))}: {item["msg"]}' for item in error.errors(include_input=False)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue