From 4209eecdb536dc92f831020ad3504537103f7a7f Mon Sep 17 00:00:00 2001
From: Simon McVittie
An array of fields representing information about this
contact, in the same format used in the
This array SHOULD include the x-telepathy-identifier
diff --git a/spec/Client_Observer.xml b/spec/Client_Observer.xml
index 35e6d91d5..a2256a753 100644
--- a/spec/Client_Observer.xml
+++ b/spec/Client_Observer.xml
@@ -180,6 +180,43 @@ org.freedesktop.Telepathy.Channel.Requested b=true
If true, upon the startup of this observer,
When activatable client having this property disappears from the bus + and there are channels matching its ObserverChannelFilter, + ObserveChannels will be called immediately to reactivate it again.
+This means that if an activatable Observer crashes, it will
+ be restarted as soon as possible; while there is an unavoidable
+ possibility that it will miss some events during this process
+ (particularly
Non-activatable observers can't take advantage of this + mechanism, but setting this property on a non-activatable + observer does allow it to "catch up" on channels that are + currently active at the time that it starts up.
+When the ObserveChannels method is called due to observer recovery, + the "Observer_Info" dictionary will contain one extra item with key + "recovering" and boolean value of True.
+Called by the channel dispatcher when channels in which the
@@ -294,10 +331,23 @@ org.freedesktop.Telepathy.Channel.Requested b=true
Additional information about these channels. No keys are
- currently defined. If keys are defined for this dictionary, all will be optional;
+ Additional information about these channels. Currently defined
+ keys are: All defined keys for this dictionary are optional;
observers MAY safely ignore any entry in this dictionary.
+
+
+ recovering
- b
An integer representing the bitwise-OR of flags on this + connection.
+ +This property MAY change, without change notification, at any time + before the connection moves to status Connection_Status_Connected. + It MUST NOT change after that point.
+ +Some XMPP servers, like Facebook Chat, do not allow the vCard to + be changed (and so would not have the Can_Set flag). Whether the + user's server is one of these cannot necessarily be detected until + quite late in the connection process.
+For example, an implementation of XEP-0054, which defines a mapping - of vCards to XML for use over XMPP, would set this property to the +
For example, a protocol in which arbitrary vCards were stored + as-is would set this property to the empty list. A protocol whose notion of contact information is one each of personal phone number, mobile phone number, location, email address and date of birth, with no attributes allowed on each piece @@ -364,22 +418,35 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
[ - ('tel', ['home'], Parameters_Mandatory, 1), - ('tel', ['cell'], Parameters_Mandatory, 1), - ('adr', [], Parameters_Mandatory, 1), - ('bday', [], Parameters_Mandatory, 1), - ('email', ['internet'], Parameters_Mandatory, 1), + ('tel', ['type=home'], Parameters_Exact, 1), + ('tel', ['type=cell'], Parameters_Exact, 1), + ('adr', [], Parameters_Exact, 1), + ('bday', [], Parameters_Exact, 1), + ('email', ['type=internet'], Parameters_Exact, 1), ]
A protocol which allows users to specify up to four phone numbers,
which may be labelled as personal and/or mobile, would set this
- property to [ ('tel', ['home', 'cell'], 0, 4), ]
.
[ ('tel', ['type=home', 'type=cell'], 0, 4), ]
.
Studying existing IM protocols shows that in practice protocols allow either a very restricted set of fields (such as MSN, which - seems to correspond roughly to the largest example above) or - something mapping 1-1 to vCard (such as XMPP).
+ seems to correspond roughly to the largest example above), or + something mapping 1:1 to a large subset of vCard (such as XMPP's + XEP-0054). +This property MAY change, without change notification, at any time + before the connection moves to status Connection_Status_Connected. + It MUST NOT change after that point.
+ +Some XMPP servers, like Google Talk, only allow a small subset of + the "vcard-temp" protocol. Whether the user's server is one of + these cannot be detected until quite late in the connection + process.
If present, exactly the parameters indicated must be set on this
field; in the case of an empty list of parameters, this implies that
@@ -411,6 +478,31 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
On some protocols, information about your contacts is pushed to you,
+ with change notification; on others, like XMPP, the client must
+ explicitly request the avatar, and has no way to tell whether it has
+ changed without retrieving it in its entirety. This distinction is
+ exposed by
On protocols with the Push flag set, UIs can connect to
+
We don't want clients to accidentally cause a ridiculous amount of + network traffic.
+If Thread_Based appears in the
Note that this count MAY be bigger than the number of items in
+
An array of unread
The array size MAY be shorter than
+
Some servers may limits the amount of detailed e-mails sent. This
+ can significantly reduce the network traffic for large inbox. For
+ this reason, it is normal that
+