This has the following advantages:
- Works while all resources are offline (persistent channels)
- Helps with combating duplicate messages when sent to different
resources, resources going offline, carbon-copying etc. etc.
As a side effect, this also makes the MUC PMs not be MUC PMs and
always be emitted from the server-wide JID of the sending user.
Fixes#3313.
XEP-0410 demands that. This changes the error condition for all
pings to the room, even those which aren’t self-pings, if the
sender is not joined.
The conditions of XEP-0410 were based on observing existing
implementations.
This prevents the ping from round-tripping through IRC and
possibly a random other client of the user. Please see XEP-0410
for the rationale.
Fixes#3385.