fix: handle 403 on principal fetch without console error

This commit is contained in:
Linus Rath
2026-04-08 13:08:46 +02:00
parent ffad3ea78b
commit 4024732696
+14 -1
View File
@@ -129,7 +129,20 @@ export const useAccountSecurityStore = create<AccountSecurityState>()((set, get)
const response = await fetch('/api/account/stalwart/principal', {
headers: getApiHeaders(),
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
if (!response.ok) {
if (response.status === 403) {
// User lacks permission to read principal (e.g. non-admin); treat as empty
set({
displayName: '',
emails: [],
quota: 0,
roles: [],
isLoadingPrincipal: false,
});
return;
}
throw new Error(`HTTP ${response.status}`);
}
const data = await response.json();
const principal = data.data;
set({