fix: QA — add missing translation namespaces + fix sharedWithMe dead path

- Add 'signatures' translation namespace (27 keys) to locales
- Add 'settings.tabs.signatures' translation key
- Add 'settings.importer' translation namespace (18 keys)
- Fix sharedWithMe never populated in sharing-store — now discovers
  incoming mail/calendar/addressBook shares by checking isShared+myRights
This commit is contained in:
Bernd Rodler
2026-08-07 14:21:07 +02:00
parent a0bffa9467
commit 2e29af50d6
2 changed files with 106 additions and 0 deletions
+45
View File
@@ -258,6 +258,21 @@ export const useSharingStore = create<SharingState>((set, get) => ({
});
}
}
if (mb.isShared && mb.myRights) {
withMe.push({
id: `mb-withme-${mb.id}`,
resourceId: mb.id,
resourceName: mb.name,
resourceKind: "mailbox",
principalId: mb.accountId || "unknown",
principalName: mb.accountName || "Unknown",
principalEmail: null,
role: roleLabel("mailbox", detectMailboxPreset(mb.myRights)),
direction: "withMe",
pending: false,
accountId: mb.accountId,
});
}
}
} catch {
/* mailboxes may not be available */
@@ -286,6 +301,21 @@ export const useSharingStore = create<SharingState>((set, get) => ({
});
}
}
if (cal.isShared && cal.myRights) {
withMe.push({
id: `cal-withme-${cal.id}`,
resourceId: cal.id,
resourceName: cal.name,
resourceKind: "calendar",
principalId: cal.accountId || "unknown",
principalName: cal.accountName || "Unknown",
principalEmail: null,
role: roleLabel("calendar", detectCalendarPreset(cal.myRights)),
direction: "withMe",
pending: false,
accountId: cal.accountId,
});
}
}
}
} catch {
@@ -318,6 +348,21 @@ export const useSharingStore = create<SharingState>((set, get) => ({
});
}
}
if (book.isShared && book.myRights) {
withMe.push({
id: `ab-withme-${book.id}`,
resourceId: book.id,
resourceName: book.name,
resourceKind: "addressBook",
principalId: book.accountId || "unknown",
principalName: book.accountName || "Unknown",
principalEmail: null,
role: roleLabel("addressBook", detectAddressBookPreset(book.myRights)),
direction: "withMe",
pending: false,
accountId: book.accountId,
});
}
}
}
} catch {