fix(mail): signature manager error handling - prevent [object Object] display

- Fix error handling in SignatureManager load/save/delete to extract message from ApiError
- Same pattern as sync fix: err?.message || err?.detail instead of String(err)
This commit is contained in:
Agent Zero
2026-07-16 22:02:29 +02:00
parent 7cb1341a28
commit 214814785e
@@ -52,8 +52,8 @@ export function SignatureManager() {
setSignatures(data); setSignatures(data);
setError(null); setError(null);
}) })
.catch((err) => { .catch((err: any) => {
setError(err instanceof Error ? err.message : String(err)); setError(err?.message || err?.detail || (typeof err === 'string' ? err : 'Failed to load signatures'));
}) })
.finally(() => setLoading(false)); .finally(() => setLoading(false));
}, []); }, []);
@@ -90,8 +90,8 @@ export function SignatureManager() {
toast.success(t('mail.signatureCreated')); toast.success(t('mail.signatureCreated'));
} }
setShowForm(false); setShowForm(false);
} catch (err) { } catch (err: any) {
toast.error(err instanceof Error ? err.message : String(err)); toast.error(err?.message || err?.detail || (typeof err === 'string' ? err : 'Save failed'));
} finally { } finally {
setSaving(false); setSaving(false);
} }
@@ -104,8 +104,8 @@ export function SignatureManager() {
setSignatures((prev) => prev.filter((s) => s.id !== deleteTarget.id)); setSignatures((prev) => prev.filter((s) => s.id !== deleteTarget.id));
toast.success(t('mail.signatureDeleted')); toast.success(t('mail.signatureDeleted'));
setDeleteTarget(null); setDeleteTarget(null);
} catch (err) { } catch (err: any) {
toast.error(err instanceof Error ? err.message : String(err)); toast.error(err?.message || err?.detail || (typeof err === 'string' ? err : 'Delete failed'));
} }
}, [deleteTarget, toast, t]); }, [deleteTarget, toast, t]);