✨ New Features
- Search & Pagination for Email Accounts & Users - Client-side filter plus paginated display at 50 items per page on MailAccounts and Users index pages.
⚙️ Improvements
- Search Performance for Frequent Search Terms - Restructured the search query with a
MATERIALIZEDCTE so that the GIN full-text index is used independently ofORDER BY ... LIMIT. - Phrase/Quoted & Field-Search Performance - Exact-phrase searches (
"anne 01") and field searches (subject:facture,from:jean) now use the GIN full-text index as a selective pre-filter before the authoritativePOSITIONsubstring verification. - Tenant Management naming - The default account name prefix in Tenant Management is now extracted from the source account instead of using the full source name, preventing double-suffixed names. Added a "Rename existing accounts" checkbox that applies the naming scheme to all M365 accounts sharing the same app registration.
🐛 Bug Fixes
- "word is too long to be indexed" warnings - Long tokens (>2047 characters, e.g. inline Base64/Hex) in the body are now split during import to avoid tsvector warnings and tokenization overhead. The untouched original remains available for UI/export.
- Tenant Manager skip-disabled toggle - Removed the "Skip disabled mailboxes" toggle from the Tenant Management page. Tenant Management now always skips disabled tenant users, consistent with the create-form default.
- Kebab menu clipped in mail accounts table - The overflow action menu on the desktop mail accounts table was cut off by the table-responsive/card container.
- Dark mode fixes for form controls - Input group addons and form-select dropdown carets now adapt to dark mode with matching background and high-contrast icon/caret colors.