Skip to main content

Message Drafts

Better Messages auto-saves unsent message text as the user types and restores it the next time they open the same conversation — across page reloads, browser restarts, and (for logged-in users) different devices. Users never lose a long reply because they navigated away mid-compose.

What it adds#

  • Continuous auto-save as the user types — no manual "save draft" button
  • Per-conversation drafts (each thread has its own independent draft)
  • Restored automatically when the user returns to the conversation
  • Survives page reload, browser close, accidental navigation
  • For logged-in users, drafts sync to the database so they restore on any device
  • For guests, drafts persist in browser storage on the same device

How it works#

The plugin debounces draft saves — text is persisted to the server every ~2 seconds while typing stops. The save is silent (no spinner, no toast), but visible in browser DevTools as a small REST call.

User actionOutcome
Types in the message inputDraft auto-saves after a brief pause
Sends the messageDraft is cleared from storage
Navigates away mid-composeDraft stays in storage
Returns to the same conversation laterDraft text restored in the input field
Logs in on a different deviceDraft is fetched and restored from the server
Closes the browser without sendingDraft survives — restored next session

If the user starts typing in the same conversation from a second device after the first device saved a draft, the most recent draft wins (last-write semantics).

When it matters most#

AudienceWhy drafts help
Mobile-app users typing long repliesEasy to navigate away accidentally — draft prevents loss
Support / vendor reps composing detailed answersMulti-paragraph replies often interrupted by other tasks
Multi-device users (desktop + phone)Start a reply on phone, finish on desktop
Long-form announcement messagesAdmin can refine content over several sessions before sending

How to enable#

Navigate to WP Admin → Better Messages → Settings → Messaging.

  • Enable Drafts — Toggle auto-save on or off

Drafts are enabled by default. Disabling clears any existing drafts and prevents new ones from being saved.

Frequently asked questions#

Does the draft include attached files?#

No — only text drafts are persisted. Files attached but not yet sent are not part of the draft. The user re-attaches if they return later.

How long are drafts kept?#

Drafts persist until the user sends the message OR explicitly clears the input. There's no time-based expiration. Old drafts in unused conversations stay indefinitely.

Can admins see other users' drafts?#

No. Drafts are private to the authoring user. No admin UI exposes them, and they're not visible through any other user's session.

What happens if a user is blocked while composing a draft?#

The draft remains, but when the user tries to send, the block is enforced and the message is rejected. The draft can be cleared manually.

Do drafts work in guest conversations?#

Yes, but drafts persist only on the same browser/device (localStorage), since guests don't have a server-side account to sync against.

See also#