Skip to content


XMPP “resource latching” is a problem, not a solution

jdev@conference.jabber.org is usually silent and sleepy, but interesting chats do happen there. Today I come up with an interesting idea for a real solution to the problem, that the existing way things were worked-around is not really perfect.

But let the conversation speak for itself. (It is stripped from unrelevant lines – for the whole log see jdev-archive.)

[11:14:13] Kev: What a client should do.
[11:14:34] Kev: Is send the first message to the bare jid, and then 'latch onto' whatever jid replies to it.

[11:29:06] Kev: wilson19119: if you don't respond to the specific resource, there's no point having more than one resource 

[11:31:46] smoku: Kev, could you explain why there is no point?
[11:32:23] smoku: what is wrong with "always send to bare-JID and let them decide where to get it"?

[11:36:00] Kev: smoku: if you only ever send to a bare jid, it means that all bar one of your contacts resources are redundant.

[11:41:08] Kev: smoku: if you want to talk to someone from a resource that isn't the highest priority?
[11:41:30] smoku: I will make my priority higher?
[11:42:16] Kev: smoku: but that means that all messages would go to that resource.
[11:43:16] smoku: Kev, good point. I will make my priority higher using direct-presence.

[11:43:35] Kev: It does happen that I use this, in fact - I leave Psi connected upstairs on my desktop, I go downstairs to do some Swift coding on my laptop in front of the TV. I have a question about Swift, so I message Remko, and have a chat with him. I still want all my messages for all other conversations to be going upstairs.
[11:43:47] Kev: smoku: but that's not going to work, is it?
[11:44:47] smoku: Kev, your client should detect that it is not the highest priority client [11:45:22] smoku: Kev, this way you receive all messages upstairs, only Remko's ones on laptop
[11:47:58] smoku: Kev, once you close the Remko's chat window, your client reverses the direct-presence and things go back to normal

[11:55:16] Kev: But sending to the highest priority isn't a client decision, it's a server decision.
[11:55:34] Kev: And I don't /think/ servers route differently to different contacts based upon directed presence, do they?

[12:03:45] smoku: Kev, servers do keep the direct-presence records. and they should use it for routing
[12:04:17] Kev: smoku: I know they must keep them, because they must send the final presence, but I didn't realise they'd use it for routing.
[12:05:02] smoku: Kev, I would bet they do not. But I think they should.

Posted in Jabber/XMPP.

Tagged with .


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

You must be logged in to post a comment.