From 669b9db7583327f506a94da03c3cbb6838c0062e Mon Sep 17 00:00:00 2001 From: Mathijs van Veluw Date: Sun, 18 Aug 2024 21:04:22 +0200 Subject: [PATCH] Fix Vaultwarden Admin page error messages (#4869) Since the change to camelCase variables the error messages in the Vaultwarden Admin were not shown correctly anymore. This PR fixes this by changing the case of the json key's. Also updated the save and delete of the config to provide a more descriptive error instead of only `Io` or which ever other error might occure. Fixes #4834 --- src/api/admin.rs | 10 ++++++++-- src/static/scripts/admin.js | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/api/admin.rs b/src/api/admin.rs index 9a1d3417..e6be3783 100644 --- a/src/api/admin.rs +++ b/src/api/admin.rs @@ -750,12 +750,18 @@ fn get_diagnostics_config(_token: AdminToken) -> Json { #[post("/config", data = "")] fn post_config(data: Json, _token: AdminToken) -> EmptyResult { let data: ConfigBuilder = data.into_inner(); - CONFIG.update_config(data) + if let Err(e) = CONFIG.update_config(data) { + err!(format!("Unable to save config: {e:?}")) + } + Ok(()) } #[post("/config/delete")] fn delete_config(_token: AdminToken) -> EmptyResult { - CONFIG.delete_user_config() + if let Err(e) = CONFIG.delete_user_config() { + err!(format!("Unable to delete config: {e:?}")) + } + Ok(()) } #[post("/config/backup_db")] diff --git a/src/static/scripts/admin.js b/src/static/scripts/admin.js index bc06c0a3..b194a91d 100644 --- a/src/static/scripts/admin.js +++ b/src/static/scripts/admin.js @@ -49,8 +49,8 @@ function _post(url, successMsg, errMsg, body, reload_page = true) { }).then(respText => { try { const respJson = JSON.parse(respText); - if (respJson.ErrorModel && respJson.ErrorModel.Message) { - return respJson.ErrorModel.Message; + if (respJson.errorModel && respJson.errorModel.message) { + return respJson.errorModel.message; } else { return Promise.reject({ body: `${respStatus} - ${respStatusText}\n\nUnknown error`, error: true }); }