ChatStates only provides a change notification, and no way to download the initial state. This is clearly silly, if your UI exposes more than just a boolean state (Composing vs. the rest). In practice I expect that most UIs will only care about Composing anyway, but for completeness, I propose: mapping Chat_State_Map : a{uu} A map from contacts to their chat states. Contact: u, Contact_Handle A contact State: u, Channel_Chat_State The chat state corresponding to that contact property ChatStates : a{uu}, Chat_State_Map A map containing the chat states of all contacts in this channel whose chat state is not Inactive. Contacts in this channel, but who are not listed in this map, may be assumed to be in the Inactive state. In implementations that do not have this property, its value may be assumed to be empty. | This property was not present in older versions of telepathy-spec. | In CMs that follow those older versions, following this rule will | mean that initial chat states will always be assumed to be Inactive, | which is the best we can do here. Tagging this as patch to get it in the review queue, since the wording shown above is effectively a patch :-)
Spec cabal authorization from wjt, sjoerd, cassidy. I'll XML it up and get it reviewed.
http://people.freedesktop.org/~smcv/telepathy-spec-chat_state_recoverability/spec/ Also needs a trial implementation, so not really ready for merge yet. I have one for Gabble, although it needs a bit of rebasing.
Sorry, link should have been: http://people.freedesktop.org/~smcv/telepathy-spec-chat_state_recoverability/spec/org.freedesktop.Telepathy.Channel.Interface.ChatState.html
spec cabal says ok!
Here's a sketchy implementation, which is as straightforward as you'd expect: http://git.collabora.co.uk/?p=user/smcv/telepathy-gabble-smcv.git;a=shortlog;h=refs/heads/chat-state-recovery-2 I'd like to get this in the next telepathy-spec release and finally cross this bug off the list. Any objections? The linked spec branch only has one commit.
looks good to me.
Fixed in git, will be considered stable in 0.19.7. I'll file a separate bug for the implementation in Gabble.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.