All updates
QAFrontend

QA Promotion: Async Bulk Mail Share/Export, Upload Center Activation, and Reliability Fixes

PR #1028pixbox-supportMay 23, 2026 · 19:01 UTC
QAMay 23, 2026

Executive summary

A batch promotion of recent frontend work into the QA environment, bundling 7 feature and fix PRs across the Admin and Mail apps. Highlights include background (async) processing for large mail share and export operations, the ability to activate/deactivate upload centers from the admin grid, clearer partial-failure reporting on bulk operations, and several stability fixes for pagination, file previews, and document tags.

Why this was needed

Large mail share and export actions previously assumed a synchronous response, which does not scale to high-volume selections. Admins also had no in-grid way to enable or disable an upload center, the email-reminders list paged incorrectly against the backend's contract, document-tag lookups built fragile hand-rolled URLs, and Filestack preview links could break once their signed credentials expired. This promotion moves those fixes from dev into QA for validation.

Client / user impact

  • Mail users: Bulk share and bulk export of large selections now run as background jobs with live progress, instead of blocking or timing out.
  • Bulk operations: When some items in a batch fail, users see normalized, readable per-item failure reasons rather than raw error blobs.
  • Admins: Can activate or deactivate an upload center directly from the row menu; a deactivated center stays visible in the grid instead of vanishing.
  • Stability: Email-reminder pages now load correct results, document-tag filtering hits the right URL, and document previews refresh their credentials before expiry.

Technical scope

Frontend-only (apps/admin, apps/mail, packages/types); 49 files. Notable PRs included:

  • #1022 Async mail bulk export/share: ServerExportModal and share dialogs now detect HTTP 202 + JSON job references and route them into the bulk-progress UI; ShareWithinSystemDialog split into view/helpers/types/hooks (recipient cards, normalizers).
  • #1024 Partial bulk-failure details: BulkOperationProgress decomposed into BulkOperationProgressPanel + useBulkOperationProgressState hook + types; added failure-message normalization and a SHARE_STATUS_CONFIG.
  • #1025 Upload center status toggle: new useActivate/DeactivateUploadCenter mutations (via the update endpoint's is_active), permission-gated on update_upload_center, with optimistic cache patching so toggled rows persist.
  • #1023 Email reminders pagination: switched from skip offset to 1-based page and totalPages.
  • #1007 Filestack credential refresh: hasUsableFilestackCredentials guard + expiry-based refresh; credentials fetched lazily only when files are present.
  • #1027 Document tags URL: replaced a manual query-string builder with the shared http.get(route, params) helper.
  • #1029: hides the standalone Documents page status-update action (showStatusUpdateActions={false}).
  • Refreshed generated API types and added a docs-only grid freshness/load-strategy guide (355 lines).

Risk & mitigation

Moderate. The async export/share path and the large BulkOperationProgress/ShareWithinSystemDialog refactors (hundreds of lines moved) touch high-traffic flows and depend on the backend returning 202 with the expected job_id shape; a contract mismatch would break share/export. The optimistic upload-center cache update could briefly show stale status if a toggle request fails. Mitigation: changes are isolated to the frontend, status toggles roll back the cache and toast on error, and this promotion targets QA specifically so these paths are validated before reaching Production.

QA validation focus

  • Bulk share/export: Trigger a large select-all share and a large export; confirm the progress panel appears, tracks to completion, and shows per-item failures when some items fail.
  • Upload centers: Activate and deactivate a center from the row menu; confirm the row stays visible, status updates, and the action is hidden for users lacking update_upload_center.
  • Email reminders: Page forward/back and verify correct rows and accurate total page count.
  • Document tags: Filter documents by tag/document type and confirm results load (correct request URL).
  • Previews: Open a Filestack-backed preview; confirm it stays valid and refreshes near credential expiry.
  • Documents page: Confirm the standalone Documents grid no longer exposes the status-update bulk action.