Rentiva v4.41.0 — Messages Phase 3: Full React SPA
· 2 min read
The Messages admin page has been completely rewritten as a React SPA, replacing the legacy jQuery/WP_List_Table implementation. Real-time filtering, bulk actions, thread view, reply forms, and settings management — all without page reloads.
What's New
Messages — Full React SPA (Phase 3)
New React Components
MessagesPage— root with URL-param routing (?idfor thread,?tab=settingsfor settings)FilterBar— search + status/category/priority dropdowns with 300 ms debounceMessageTable— checkbox bulk-select, unread dot indicator, row-click to threadPagination— prev/next, hidden when single pageBulkBar— parallel REST status updates + hidden admin-post form for bulk deleteThreadView— full message thread with inline status dropdownReplyForm— "Send" (keep open) + "Send & Close" dual-action buttonsSettingsView— Email / Categories / Statuses tabs, admin-post save
REST API Extensions
Two new filter parameters added to the existing GET /mhm-rentiva/v1/messages endpoint:
search— debounced full-text filter (subject + sender name)priority— filter by message priority level
Bulk Delete
New MessageDeleteHandler admin-post handler with nonce gate for bulk message trash operations. Runs outside the REST layer to leverage WP's post status management.
Why React?
The old WP_List_Table implementation required a full PHP page reload for every filter change, bulk action, or thread view. With 300 ms debounced search and parallel REST updates, the new SPA feels instant.
