Skip to content

Moderation

Two separate things, and keeping them separate matters.

  • Blocking is what a member does when they want it to stop. It takes effect immediately and tells nobody.
  • Reporting is what a member does when they want you to look. It changes nothing about what they can see.

Conflating them would make every report a silent block the member never asked for, so the messenger offers both and does neither on the other's behalf.

What a member can do

On the conversation header, behind the button:

ActionWhat happens
Block this personNeither can start a conversation with the other or send into one they already have
Report this personFiles a report about the account

And on any message somebody else sent, beside Reply:

ActionWhat happens
Report this messageFiles a report about that particular thing that was said

Blocking is not announced. The other side simply finds the button gone, the same as if the site had never offered it. The person who blocked can unblock from the same menu.

Reporting asks for a reason — spam, abusive, a scam, or something else — and an optional note. Reporting the same thing twice updates the one report rather than filing another, so a grudge is one row however many times it is sent.

Only somebody in a conversation can report what was said in it. A message id is not a way to find out that a message exists.

The queue

VX Modules → Messaging → Reports. Each report carries enough to decide it without opening anybody's conversation: who reported whom, why, the text of the message if it is a message, and whatever they wrote.

DecisionWhat it does
Remove the messageTakes it down for everybody, and closes every other open report about the same message
Block them for nameRecords the block as the reporter's own, so it reads no differently from one they made themselves — and they can lift it
DismissCloses it, changing nothing
Export the conversationDownloads the whole thing as text

Anything decided can be reopened from the Acted on and Dismissed tabs.

Five people reporting one message is one decision, not five — removing it closes them all.

Removing a message keeps the row

The text goes, the attachments are deleted for good, and the message becomes a line saying it was removed.

Deleting the row outright would leave a hole: a reply pointing at it loses its quote, and a conversation somebody has already read rearranges itself under them. A tombstone is the honest thing to show the person who reported it and the person who wrote it alike.

Exporting a conversation

For the two occasions an excerpt is not enough: answering a data request, and handing something to somebody who has to read it outside WordPress.

The file is plain text — who, when, what, and the name of anything attached — because what is being exported is people talking.

It is the conversation as stored

Not as any one member sees it. Hiding and clearing are how somebody tidies their own list; applying them here would produce a record missing the part being asked about. The file says so at the top, so nobody reads it as one person's view.

Rate limits

Two brakes, under Messaging → Limits, because they stop different things.

  • Messages allowed every N minutes stops a runaway client or a flood in one conversation.
  • New conversations an hour is the one that stops spam. An account that opens forty threads in an hour is not talking to anyone.

Keeping less

Retention, under Messaging → Keeping and deleting, deletes messages and their files past an age you set. It is off by default — a marketplace usually wants the record of what was agreed — and there is no undo. See Settings.

What is not here yet

  • Suspending an account from messaging while leaving it signed in. Block a pair, or use WordPress roles for now.
  • Automatic filtering of contact details or known-bad phrases. Everything above is a person deciding.

Built by Code Wattz.