All updates
ProductionQAFrontend

QA Release: Mail Details Overhaul, Admin Hub Tab Routing, and Mantine UI Removal

PR #431shoumikssahuOct 5, 2025 · 03:16 UTC
QASep 23, 2025
ProductionOct 5, 2025

Executive summary

This release promotes a batch of frontend work to the QA environment, bundling roughly a dozen feature PRs (#416-#430). Highlights include a rebuilt Mail Details page with an editable file name and in-system/email sharing, role-based permission checks on delete actions, responsive pagination fixes, and removal of the Mantine component library in favor of the app's own UI kit. Most of the changes are UI consolidation and navigation refactors rather than new business capabilities.

Why this was needed

The product was carrying two parallel UI toolkits (Mantine plus the in-house shadcn/Radix kit), which inflated the bundle and produced inconsistent styling. Tab navigation across Admin Hub and Mail/Document details also relied on a custom URL-state hook that pushed the router between tab switches, causing jank. This batch standardizes on one component library, fixes navigation behavior, and adds missing permission gating on destructive actions.

Client / user impact

Users get a more consistent and responsive interface, particularly on tablet and mobile where pagination previously broke. On the Mail Details page they can now rename a file inline, view sharing details, share within the system or via email, and reassign users. Delete actions are now hidden or blocked for users who lack the right permission, reducing the chance of unauthorized removals. Admin Hub tabs (Folders, Document Type, Rules, Organization) are now individually routable URLs, so tabs can be linked and bookmarked directly.

Technical scope

  • Removed Mantine (@mantine/core, dates, form, notifications, mantine-form-zod-resolver) and transitive deps from package.json/pnpm-lock.yaml; components refactored onto the in-house UI kit (#421).
  • Replaced the useUrlState hook with useQueryState across dashboard, batch, and details pages to avoid router.push on tab switches (#416).
  • Admin Hub converted from a single client component to route-based tabs under adminhub/(tabs)/, with the index page redirecting to /adminhub/folders (#430).
  • Mail Details page (batches/mails/[id]) substantially rewritten: lazy per-tab rendering via a renderedTabs list, PDF viewer panel collapse/restore with persisted layout, inline EditableFileName wired to a mail-details mutation, plus Share-via-Email, Share-within-System, and Reassign User flows (#417, #428).
  • Added RBAC permission checks for delete operations across Inbox, Mail, Document, and Standalone Document grids (#420).
  • Pagination responsiveness fixes for tablet/mobile in Inbox (#419), plus assorted batch/table/resolution/dashboard layout refactors (#422, #426, #427, #429).
  • Added Mail Sharing Details and an Address/Organization manager section; new BulkAssignUserModal and reassign handling.
  • Note: a .codex_backup_1758437792/AssignUserModal.tsx backup file and a columns.tsx.tmp temp file were committed unintentionally.

Risk & mitigation

Moderate. The Mantine removal touches dependencies and many components, so visual regressions or missing controls are the main risk; mitigated by the fact that this lands in QA first for verification. The Mail Details rewrite changes state management (custom URL state to local React state) and panel layout persistence, which could affect tab deep-linking and viewer sizing. The committed backup/temp files (.codex_backup_*, *.tmp) are dead artifacts and should be removed before promotion to production.

QA validation focus

  • Verify every Admin Hub tab loads at its own URL and that /adminhub redirects to Folders; confirm deep links and back/forward work.
  • On Mail Details: rename a file inline and confirm it persists and updates the viewer; test Share via Email, Share within System, and Reassign User; switch across Overview/Documents/Activity/Resolution tabs and confirm the PDF panel collapses on Activity/Resolution and restores its width otherwise.
  • Attempt delete on Inbox, Mail, Document, and Standalone Document grids with and without delete permission; confirm gating.
  • Smoke-test pages that previously used Mantine for styling/validation regressions; check date pickers and forms.
  • Check pagination layout on tablet and mobile widths in the Inbox.
  • Confirm batch documents/mails list and detail pages still render after the route refactor.