[Bug 20768] Support more ways to be invisible (XEP-0186, maybe XEP-0126, maybe whatever Google does)
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Thu Jun 24 02:49:23 CEST 2010
https://bugs.freedesktop.org/show_bug.cgi?id=20768
--- Comment #19 from Eitan Isaacson <eitan.isaacson at collabora.co.uk> 2010-06-23 17:49:23 PDT ---
(In reply to comment #17)
> Remaining issues, as described in the WIP patch at the top of my branch:
>
>
> This patch is WIP because it breaks invisible_fallbacks.py (given that
> it deletes the fallbacks that patch checks), because we should also have
> tests for setting ourselves to invisible failing once the connection is
> up and running (checking that Gabble reverts you to either your previous
> presence, or DND, as we wish),
I am fine not having fallbacks, I guess we need to expect servers to generally
work.
> and because we need to look up existing
> privacy lists to fix this case:
>
> • Gabble #1 signs in
> • Gabble #1 creates a list called 'invisible', and activates it.
> • Gabble #2 also signs in
> • Gabble #2 tries to create a list called 'invisible', but it fails
> because you can't replace privacy lists that are in use, so it gives
> up on invisibility.
>From my XEP parsing, this is not a real issue. Creating a list and editing a
list are semantically the same (XEP-0016 2.6 & 2.7). When you edit a list that
is active in another resource, you don't get an error (although the other
client gets a push notification). In other words a 'invisible' list creation
stanza is guaranteed to not return a <conflict /> error from the server.
The case we need to look out for is when Gabble #2 signs in and "creates" a
list, Gabble #1 will get a privacy list push notification, which in turn it
needs to retrieve the list, see that it is still the standard 'invisible' list,
and carry on.
If client #2 is a rogue client (Let's call in GAIM ;), and is doing it's own
weird crap to the 'invisible' list, then we need to gracefully step out of it's
way, by creating and activating a list called 'invisible-gabble'.
If client #1 is rogue, when Gabble #2 signs in, it will clobber #1's
'invisible' list. If #1 listens for push notifications and fights back by
re-editing 'invisible', Gabble #2 will step out by creating 'invisible-gabble'.
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the telepathy-bugs
mailing list