[Standards] Problems with IM Message Routing: Message Types

Matthew Wild mwild1 at gmail.com
Fri Nov 10 20:34:40 UTC 2017

On 10 November 2017 at 19:57, Georg Lukas <georg at op-co.de> wrote:
> We could separate routing+persitence from the message type as far as
> possible, e.g. by explicitly using the resource identifier:
> - bare-JID = all-clients + archive
> - full-JID = single client, no carbons, no archive, no redirection

As mentioned before, I really like this approach. But I just don't
currently see a sensible migration path.

An "XMPP 2.0" server is still going to have to deal with remote
entities sending stuff to a local user's full JID that the user wants
to receive on all devices.

> We could use message hints to explicitly mark exception from this, e.g.
> <no-archive/> for transient (CSN) messages to be routed to all clients.

Also, it's growing on me that 'no-copy' is harmful. At least, no-copy
should always imply no-archive. Luckily hints are just hints :)

And that brings me to my final bit of feedback. You mentioned that
Carbons and MAM still leave certain decisions up to the
implementation, but I don't necessarily think that's a bad thing. It's
allowing us to have this conversation about what a sensible
implementation should do with that freedom, and when we've decided, we
can standardize it. I much prefer building-block XEPs that follow this
approach. The ones that try to solve everything at once end up needing
to be replaced a few years down the road.


More information about the Standards mailing list