Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Reviewed-by: Alberto Mardegan <alberto.mardegan@nokia.com>
|
|
Now that we "pre-load" presence, CurrentPresence can change sooner; so,
don't expect the signal (it can happen at basically any time), but just
do a Get for the property at the end.
|
|
These tests make assumptions about the order of method calls in order to
set up unusual situations, so the early call to GetInterfaces made them
deadlock.
Also take the opportunity to exercise the code path in which
GetInterfaces fails before the connection goes CONNECTED, emulating a
telepathy-glib 0.7.35 (or older) CM.
|
|
|
|
|
|
|
|
If this fails, it's no big deal - we'll set it again later anyway.
The infrastructure I've set up is fairly generic, so we can re-use it for
anything else that we want to try to set up before going online (to
include ContactCapabilities in 5.3, and perhaps Avatars and Aliasing
later).
|
|
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
|
|
Reviewed-by: Alberto Mardegan <alberto.mardegan@nokia.com>
|
|
Reviewed-by: Alberto Mardegan <alberto.mardegan@nokia.com>
|
|
This has the following effects:
* the account is Enabled, and can't be disabled
* the account always connects automatically
* an offline presence can't be requested on this account
* the conditions for this account can't be changed
|
|
|
|
|
|
It's easier to interpret MC logs if they mention the version number
up-front.
|
|
|
|
Because CSR is initially REQUESTED now, there is no change when we start
CONNECTING, so it's omitted from the signal.
|
|
|
|
Reviewed-by: Alberto Mardegan <alberto.mardegan@nokia.com>
|
|
Reviewed-by: Alberto Mardegan <alberto.mardegan@nokia.com>
|
|
None_Specified is really a synonim of "generic error", but we have no error
here.
|
|
waiting for RequestConnection, kill off the Connection when it turns up
Otherwise, we'll have a Connection floating around uselessly in
pre-Connect state, which gets in the way of making another Connection to
the same account.
This can happen when transport plugins go offline and online rapidly.
|
|
have replied
In particular, this means that if an observer or approver calls Claim,
it won't get a reply until all other observers have had a chance to start.
This is necessary if the observer/approver will be acknowledging Text
messages, which a logger observer would miss as a result.
|
|
allowed to finish
In particular, if some approvers haven't returned yet, don't allow the
dispatch operation to be claimed from under them.
|
|
Use _mcd_account_set_connection_status to set the connection status reason.
|
|
|
|
The transition DISCONNECTED -> DISCONNECTED should also trigger the completion
of online requests.
|
|
Reviewed-by: Alberto Mardegan <alberto.mardegan@nokia.com>
|
|
method
|
|
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
|
|
Reviewed-by: Alberto Mardegan <alberto.mardegan@nokia.com>
|
|
_mcd_master_account_replace_transport
It has the startling side-effect of binding the account to the selected
transport, so the old name was rather misleading.
|
|
A Telepathy Connection "almost always" represents a TCP socket or
something similar, which has a source address that is fixed at the time
the socket is created. TCP sockets cannot migrate between source
addresses, so we would be wrong to suggest that Telepathy Connections can.
Accordingly, allow the transitions none -> anything and anything -> none,
but silently suppress attempts to go t1 -> t2 for t1, t2 different
transports.
The bug that this fixes:
* we have a transport T1 with source address 1.1.1.1
* a transport T2 comes up with source address 2.2.2.2
* a Connection C1 to an account A whose server is 9.9.9.9
(its TCP socket is 1.1.1.1:11111 <-> 9.9.9.9:9999) is still CONNECTING
* as a result of T2 coming up while C1 is not yet CONNECTED, McdMaster
tells C1 (again) to connect [1]
* transport T1 drops
Desired result:
* because C1 is bound to T1, it is disconnected
* McdMaster looks for another transport usable by A, finds T2, and
creates a new connection C2; C2's underlying TCP stream is now
something like 2.2.2.2:22222 <-> 9.9.9.9:9999
Buggy result:
* at [1], McdMaster re-binds C1 to T2
* because C1 is not bound to T1, it is not disconnected
* the TCP stream (1.1.1.1:11111 <-> 9.9.9.9:9999) still exists, even
though it cannot possibly work, until keepalives (or similar)
cause the CM to notice that the connection has gone down
|
|
This will update the local preoperties when MC daemon emits the
CompatPropertyChanged signal.
|
|
Conflicts:
|
|
Use the new internal APIs to update the properties.
|
|
|
|
|
|
|
|
|
|
|
|
always substituted
|
|
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
|
|
This is currently what's necessary to make Gabble advertise the
capability, so it's more useful to behave like this when checking for
regressions.
|
|
relevant
|
|
This ensures that we don't cause regressions: Gabble's regression tests
only check the case where AdvertiseCapabilities comes first.
|
|
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
|
|
|
|
In all versions of telepathy-gabble that implement this draft, draft 1
ContactCapabilities are only respected for Tube channels, so Gabble
will not be callable unless MC *also* tells it (via the Capabilities
interface) that it should support StreamedMedia.
(This is a Gabble bug, but since MC does not currently cause it to be
exhibited, triggering it would be a regression of sorts; when we implement
draft 2 in Gabble, though, we should do it right.)
|
|
This requires that Requestable_Channel_Class is added to all.xml as an
externally-defined type.
Incompatible changes in ContactCapabilities, none of which actually affect
MC:
* ContactCapabilitiesChanged acts on multiple contacts (but MC never
connects to this signal)
* Contact_Handle_Enhanced_Contact_Capability_Map renamed to
Contact_Capabilities_Map (but MC never mentions this type by name, and
the D-Bus signature is the same)
* Enhanced_Contact_Capability is replaced by the Requestable_Channel_Class
type first defined in Requests (but MC never mentions this type by
name, and the D-Bus signature is the same)
|