[Bug 40518] Contacts appear in local pending and then immediately disappear again on GTalk
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Fri Oct 28 05:57:53 CEST 2011
https://bugs.freedesktop.org/show_bug.cgi?id=40518
--- Comment #3 from Cosimo Alfarano <cosimo.alfarano at collabora.co.uk> 2011-10-21 02:19:17 UTC ---
After a chat with Will on IRC, we agreed that the RFC section he suggested to
test is 3.3.3 and not 3.2.3
http://xmpp.org/rfcs/rfc6121.html#sub-unsub-inbound
in the scenario for which Alice sends a un-subscription request right after her
subscription request and before any approval/rejection by the user.
--- Comment #4 from Cosimo Alfarano <cosimo.alfarano at collabora.co.uk> 2011-10-21 04:37:33 UTC ---
[Bugzilla is complaining the file I'm attaching is empty, workaround:]
http://pastebin.com/9YW4VkLB has the dbus logs for the extented test which do:
- unsubscribe
- expect ContactChanged
- send the maybe-redundant iq
- actually sees MembersChanged raised for the handle removed from storedm,
which should be ignored
My commit with the extended test:
http://cgit.collabora.com/git/user/kalfa/telepathy-gabble.git/commit/?id=c32031008828651720a5661452b0e0a998ab8685
What I seems odd is the ContactsChanged with NO -> REMOVED_REMOTELY (1->2),
while the handle should've been in ASK state according to the last signal.
Since Marco's fix is based on the ASK state, it might be it.
--- Comment #5 from Will Thompson <will.thompson at collabora.co.uk> 2011-10-28 03:57:53 UTC ---
- # We add Alice
+ # Alice asks to subscribes to us
This should be a separate patch.
- self_handle = conn.GetSelfHandle()
As should this.
+ iq = make_set_roster_iq(stream, 'test at localhost/Resource', contact,
+ "none", False)
+ stream.send(iq)
You should move the comment
# Now we send the spurious roster update with subscribe="none" and verify
# that nothing happens in reaction to that
up to before you test this new case.
(In reply to comment #4)
> What I seems odd is the ContactsChanged with NO -> REMOVED_REMOTELY (1->2),
> while the handle should've been in ASK state according to the last signal.
> Since Marco's fix is based on the ASK state, it might be it.
I don't think it's changing from No to Removed_Remotely.
+ q.expect('dbus-signal', signal='ContactsChanged',
+ args=[{handle: (cs.SUBSCRIPTION_STATE_NO,
+ cs.SUBSCRIPTION_STATE_REMOVED_REMOTELY, '')}, []])
The first two fields of the tuple mean:
• We are not subscribing to the contact's presence;
• The contact removed their request to see our presence.
The previous state change, in response to their subscription request, was:
q.expect('dbus-signal', signal='ContactsChanged',
args=[{handle: (cs.SUBSCRIPTION_STATE_NO,
cs.SUBSCRIPTION_STATE_ASK, '')}, []])
which means:
• We are not subscribing to the contact's presence;
• The contact has asked to see our presence.
So I think this test looks right.
-if test $sleep != 0; then
+if [ "$sleep" -ne 0 ]; then
What's this for?
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the telepathy-bugs
mailing list