fix(settings): properly save and clear configuration values

Backend:
- Replace dict mutation with dict replacement to fix SQLAlchemy JSON
  mutation tracking issue (config.config = {**config.config, **update_data})

Frontend:
- Send explicit null values instead of undefined so fields can be cleared
- Update UserConfigUpdate interface to accept null values
This commit is contained in:
Fusion
2026-05-20 15:17:33 +02:00
parent 294d02f9fb
commit d11b43b69f
3 changed files with 10 additions and 9 deletions
+2 -1
View File
@@ -112,7 +112,8 @@ async def update_user_config(
# Merge updates
update_data = data.model_dump(exclude_unset=True)
logger.info("Updating user config for user %s: %s", user_id, update_data)
config.config.update(update_data)
# SQLAlchemy JSON doesn't track dict mutations, so we replace the whole dict
config.config = {**config.config, **update_data}
await session.commit()
await session.refresh(config)