Subject: Re: [xmpp] 3921bis: delivery of messages addressed to bare JIDs

From: Jonathan Schleifer <[email-masked]>
Date: Mon, 1 Feb 2010 11:27:37 +0100

Am 30.01.2010 um 00:21 schrieb Ben Schumacher:

> Missing IMs because you accidentally left yourself logged in on  
> another
> machine, or because Client X has different default priority settings
> than Client Y is inconvenient, annoying and prone to error.

This could be fixed by specifying that the default priority should be  
0. Why kill a feature just because a few users don't use it? It could  
be just hidden from them and those who want to use it can still use  
it. I would not want to use a server that delivers my messages to all  
resources.

--
Jonathan

---

From: "Mike Mahoney" <[email-masked]>
Date: Mon, 1 Feb 2010 12:28:40 -0500

>> than Client Y is inconvenient, annoying and prone to error.

This is true for the typical human-user case of IM clients, but for other
XMPP use cases the delivery to a specific prioritized resource could be
important.

>  it. I would not want to use a server that delivers my messages to all

+1 to specifying a default of 0.  There was some talk on JDev recently about
binding multiple resources on one stream.  In those cases it would make a
lot of sense to use priorities and deliver appropriately.

-Mike

---

From: Jonathan Schleifer <[email-masked]>
Date: Mon, 1 Feb 2010 19:59:21 +0100

"Mike Mahoney" <[email-masked]> wrote:

> +1 to specifying a default of 0.  There was some talk on JDev
> recently about binding multiple resources on one stream.  In those
> cases it would make a lot of sense to use priorities and deliver
> appropriately.

Oh, and while we're at it: It would also make sense to have some status
based priority. I think most users will be even happier with that than
broadcasting. The idea is to have a standard which status should mean
which priority by default. That way, a user will always get messages to
the resource where he is available.

Examples:
DND       = 10
N/A       = 20
Away      = 30
Available = 40
Chatty    = 50

This way, the user will automagically get it to the right resource. If
two clients are online and active, he will get it to both. If he got
auto-away at one, he will only get it to the resource that's still
available. Gajim for example does it like this and this has always been
doing what I wanted when I was using multiple machines.

-- 
Jonathan

---

From: Ben Schumacher <[email-masked]>
Date: Mon, 01 Feb 2010 12:06:17 -0700

On 02/01/2010 03:27 AM, Jonathan Schleifer wrote:
>> Missing IMs because you accidentally left yourself logged in on another

That is the default priority. No priority defaults to 0. Unfortunately 
the entire usage of priorities has become so muddled that some clients 
(Gajim, for example) try to do clever things with priority. Nobody 
suggesting necessarily killing it, but why not have a sane way to use 
XMPP for IMs without it. The fact of the matter is that most people I 
talk to much prefer the way GTalk works to the "standard" way which 
requires people like me to SSH into our boxes at home to kill the client 
we accidentally left running.

If people are using XMPP for IM then receiving their messages is always 
preferable to not. Regardless, PSA's change here is a softening of the 
language from a "SHOULD" that isn't honored by the most widely used XMPP 
deployment and puts it into the hands of implementations and 
administrators to make what they feel is the most appropriate choice for 
their users.

Cheers,
Ben

---

From: Peter Saint-Andre <[email-masked]>
Date: Mon, 01 Feb 2010 14:33:18 -0700

On 1/29/10 5:52 AM, Waqas Hussain wrote:
> On Fri, Jan 29, 2010 at 5:39 PM, Jonathan Schleifer
> <[email-masked] <mailto:[email-masked]>> wrote:
> 
>     Am 29.01.2010 um 00:18 schrieb Peter Saint-Andre:
> 
> 
>         Currently some XMPP services broadcast messages addressed to a
>         bare JID
>         instead of delivering those messages only to the highest-priority
>         resource(s). The highest-priority rule is a legacy of the original
>         jabberd 1.x codebase and I don't see a strong reason to forbid other
>         message delivery styles. Therefore I propose a change to Section
>         8.3.1.1
>         of 3921bis.
> 
>         The relevant text in -03 reads:
> 
>          For a message stanza of type "chat" or "normal", the server SHOULD
>          deliver the stanza to the highest-priority available resource.
> 
>         (Followed by text about delivery ties.)
> 
>         I propose the following text for -04:
> 
>          For a message stanza of type "chat" or "normal", the server MUST
>          either (a) deliver the stanza to all available resources or (b)
>          deliver the stanza to the highest-priority available resource.
> 
>         (Again followed by text about delivery ties in case (b).)
> 
>         Thoughts?
> 
> 
> The proposed text seems to suggest delivering to all available resources
> is recommended (it's the first option). Is that intentional?

There is no implied order of preference here.

> I would have thought something like "SHOULD deliver the stanza to the
> highest-priority available resource, but MAY deliver to all available
> resources" would have done the trick.

Possibly.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/

---

From: Peter Saint-Andre <[email-masked]>
Date: Mon, 01 Feb 2010 14:36:07 -0700

On 2/1/10 10:28 AM, Mike Mahoney wrote:
> +1 to specifying a default of 0. 

The default is effectively zero, but that's not specified in the schema.
Easy enough to fix.

> There was some talk on JDev recently about
> binding multiple resources on one stream.  

Right, we removed that proposed behavior from 3920bis. :)

> In those cases it would make a

And in other cases, too.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/

---

From: Peter Saint-Andre <[email-masked]>
Date: Mon, 01 Feb 2010 14:38:03 -0700

> we accidentally left running.

http://xmpp.org/extensions/xep-0146.html

> administrators to make what they feel is the most appropriate choice for

Yes, that seems most reasonable for now.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/

---

From: Dave Cridland <[email-masked]>
Date: Tue, 02 Feb 2010 18:07:00 +0000

On Fri Jan 29 02:44:25 2010, Peter Saint-Andre wrote:
> On 1/28/10 5:04 PM, Dave Cridland wrote:
> > On Thu Jan 28 23:18:08 2010, Peter Saint-Andre wrote:
> > I'd prefer to maintain it, but I would be happy if servers could  
> choose
> > to override a client's priority, perhaps making them all equal.
> 
> That's effectively what I'm saying, and what existing services are  
> doing.

No, some non-comformant services are *ignoring* priority. This is not  
good.

I'm suggesting that a server might *override* the client's priority,  
such that the client saw its own presence echoed back with the  
server's choice of priority.

Then clients are aware of what's going on.

Dave.
-- 
Dave Cridland - mailto:[email-masked] - xmpp:[email-masked]
  - acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
  - http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade