All updates
QAFrontend

Frontend Aligned with Backend Timestamp Rename and Hardened Folder Deletion (QA)

PR #832pixbox-supportMar 9, 2026 · 16:52 UTC
QAMar 9, 2026

Executive summary

This QA release synchronizes the DSM web apps (Mail, Admin) with a backend data-model change that renamed every record's timestamp fields from created_on/updated_on to created_at/updated_at and replaced the is_deleted flag with an is_active flag. It also realigns the Admin folder-deletion flow with the backend's updated contract so deletions report precise per-folder outcomes. The bulk of the change is a wide-reaching field-rename migration that keeps dates and statuses displaying correctly after the backend update.

Why this was needed

The backend renamed its timestamp fields and inverted its soft-delete flag (is_deletedis_active). Until the frontend matched, any screen reading created_on/updated_on would have shown blank or incorrect Created/Updated dates, and folder deletion would have failed because the API now expects folder IDs as repeated query parameters and returns a richer result object instead of a simple count.

Client / user impact

Created/Updated timestamps render correctly again across mail grids, document and folder details, page-statistics, organization, document-type, and upload-center views once the backend change is live. Admin folder deletion (single and bulk) now gives clearer feedback: success when folders are removed, a warning when a delete is skipped, and a specific error message otherwise. Comment threads keep sorting and live-update ordering intact under the new field names.

Technical scope

  • Batch merge of dev into qa covering feature PRs #828, #829, #830, and #831.
  • Field-rename migration (PR #831): updated ~14 hand-written type files and ~15 component files across the mail and admin apps, regenerated API types, and switched all created_on/updated_on references to created_at/updated_at.
  • Removed the is_deleted field from DocumentDetailsType and related types in favor of is_active.
  • Comments module (message bubbles, drawer hooks, newest-item signature, sorting/optimistic updates and WebSocket events) repointed to created_at.
  • Excel-export date detection and column-detection logic now recognize the _at suffix; hardcoded sort params updated to updated_at.
  • Admin folder delete (PR #829): deleteFolder/bulkDeleteFolders now call DELETE /admin/api/folders with repeated folder_ids query params; new BulkFolderDeleteResponse type carries deleted_count, skipped_count, failed_count, total_mails_reassigned, and per-folder details, driving success/warning/error toasts via getApiErrorMessage.
  • Added Admin notification digest/policy/template response types (NotificationDigest*, NotificationPolicy*, NotificationTemplate*).
  • Net: +2279 / -478 across 100 files; mostly type and field updates, not new product surfaces. Note: vendor-portal parity work referenced in commits landed in earlier dev commits and is not part of this diff.

Risk & mitigation

Primary risk is coupling: the frontend now expects created_at/updated_at and is_active, so it must ship together with (or after) the matching backend rename, or dates will appear blank and folder deletes will error. Because the rename touched many files, the chief regression risk is a missed reference showing an empty timestamp. Mitigation: all three apps were reported passing lint, the changes are mechanical field swaps with no business-logic change, and folder-delete error handling was made more explicit. This is a QA-stage promotion, not a Production release.

QA validation focus

  • Confirm Created/Updated dates render (not blank) on mail grids, document/folder details, page-statistics, organization, document-types, and upload-center screens.
  • Delete a single Admin folder and bulk-delete several; verify the correct success / skipped-warning / error toast and that mail reassignment counts are reflected.
  • Verify comment threads sort newest-correctly and live updates land in order.
  • Export a grid to Excel and confirm date columns are formatted as dates.
  • Smoke-test Mail and Admin portals for any blank timestamp or status field.