Re: Re: [Telepathy] GossipProtocol problems
Mikael Hallendal <[email protected]> Mon, 16 Oct 2006 22:46:50 +0200
| Newsgroups | gmane.comp.gnome.gossip.devel |
|---|---|
| Message-ID | <[email protected]> |
Robert McQueen wrote: > Mikael Hallendal wrote: >> It is used by the UI layer in order to send the message to the right >> window. Ie. if we have an active discussion in an open chat window with >> someone it is locked to that resource even if another resource with >> higher priority comes online. > > Telepathy knows this because you have a Channel open to that person, > which stores this state, and any entity caps you were given during that > session, etc. Ok, that might do the trick but would require us to add some notion of active chat session to Gossip I guess. Ie. close a channel and open a new one at a later point if some timeout is reached. Not entirely sure if this is how it would be done, the resource stuff is quite tricky. >> It should be exported by Telepathy since it is needed by us and will >> most definitely be by some other application as well. > > We've not come across anything that needs it as yet; that's why Gabble > doesn't export it currently. As Xavier spotted, we could put multiple > presences in for one person, and then say which resource they belonged > to, which has the problem of requiring all clients to understand > multiple-presence/resource contacts to use XMPP, or maybe just have a > list of the available resources as a parameter to the main presence. I > won't dismiss it out of hand, but it seems very unimportant to me > provided Gabble's choice of resource for outgoing events is correct. Now, we currently don't support that the user decides himself which resource to contact and it does have a few bad sides. For example, you might know that a person is available on a certain resource even though that client would have lower priority. Many jabber clients expose this in the UI for that reason. I can imagine in some other use cases it can be even more important (though I have no idea of how these are handled inside of Gabble as it is). Say for example, Person A is connected from two different desktops with resources 'laptop' and 'desktop'. On 'desktop' he is running a chat client, say Gossip ;) and on 'laptop' he is running a whiteboard application. Person B is going to start a whiteboard session with Person A but 'desktop' has higher priority. What will happen? And, given that Person B is sitting in the same room as Person A he knows that he should target 'laptop' with his traffic. This is a meeting and Person A don't want any chat messages getting here so he won't race the priority of 'laptop' to be higher than 'desktop'. How is this handled by Gabble, and if not, I think it has to be considered because it would be a quite common use case. Cheers, Mikael Hallendal -- Imendio AB, http://www.imendio.com/