[Telepathy] On spec additions to allow a really simple IM API

Will Thompson will.thompson at collabora.co.uk
Tue Jul 6 10:45:40 PDT 2010


On 01/07/10 20:26, Will Thompson wrote:
> • We could add send-only text channels, which you can always Create
> regardless of whether there's another channel going on. No incoming
> messages are reported by them; you can just call SendMessage().
> MessageSent fires on the send-only channel, as probably do delivery
> reports for the messages you send on that channel. Incoming messages
> don't show up.

 From IRC discussion today: this seems like the least crazy option of 
the three. One quirk is that EnsureChannel() without WriteOnly: True 
should never return one of these write-only channels.

Another quirk is: if you send a message on a write-only channel, and 
you've got a normal channel to the same contact open and being displayed 
in a conversation window, what happens?

› MessageSent is only emitted on the write-only channel. An observer can 
still log it, but it won't show up in the conversation window unless the 
logging observer signals the conversation window out-of-band.
› MessageSent is emitted on both channels. The observer now has to 
de-duplicate, but the message will definitely be shown in the 
conversation window.

I'd be inclined to go for the second way, unless we want to go down the 
path of handlers getting all their messages from the log, rather than 
from signals on the channel. (Which is not necessarily a bad path, but 
is another can of worms.)

-- 
Will


More information about the telepathy mailing list