diff --git a/src-tauri/src/errors.rs b/src-tauri/src/errors.rs index 5d6e10c..d3cc9f3 100644 --- a/src-tauri/src/errors.rs +++ b/src-tauri/src/errors.rs @@ -57,8 +57,12 @@ where E: Error, M: serde::ser::SerializeMap, { - let src = err.source().map(|s| format!("{s}")); - map.serialize_entry("source", &src) + let msg = err.source().map(|s| format!("{s}")); + map.serialize_entry("msg", &msg)?; + map.serialize_entry("code", &None::<&str>)?; + map.serialize_entry("source", &None::<&str>)?; + + Ok(()) } diff --git a/src/views/EnterCredentials.svelte b/src/views/EnterCredentials.svelte index cfecaa8..e62a441 100644 --- a/src/views/EnterCredentials.svelte +++ b/src/views/EnterCredentials.svelte @@ -39,14 +39,16 @@ } } catch (e) { - if (e.code === "GetSession") { - let root = getRootCause(e); + window.error = e; + const root = getRootCause(e); + if (e.code === 'GetSession' && root.code) { errorMsg = `Error response from AWS (${root.code}): ${root.msg}`; } else { errorMsg = e.msg; } + // if the alert already existed, shake it if (alert) { alert.shake(); } diff --git a/src/views/Unlock.svelte b/src/views/Unlock.svelte index 98c0262..5a14a16 100644 --- a/src/views/Unlock.svelte +++ b/src/views/Unlock.svelte @@ -34,8 +34,8 @@ } } catch (e) { - if (e.code === 'GetSession') { - let root = getRootCause(e); + const root = getRootCause(e); + if (e.code === 'GetSession' && root.code) { errorMsg = `Error response from AWS (${root.code}): ${root.msg}`; } else {