[Bug 19903] Implement the "stored" list

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Jun 28 13:58:25 CEST 2010


https://bugs.freedesktop.org/show_bug.cgi?id=19903

Simon McVittie <simon.mcvittie at collabora.co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |louis-francis.ratte-boulian
                   |                            |ne at collabora.co.uk,
                   |                            |olivier at lethanh.be,
                   |                            |tester at tester.ca,
                   |                            |youness.alaoui at collabora.co
                   |                            |.uk

--- Comment #7 from Simon McVittie <simon.mcvittie at collabora.co.uk> 2010-06-28 04:58:24 PDT ---
(In reply to comment #4)
> (In reply to comment #1)
> > Because the official client only unsubscribes from the other side's presence
> > when they are removed. It does not stop the other side from receiving our
> > presence. So in TP terms, it removes from the subscribe list, but not the
> > publish list.
> 
> Is this a protocol limitation (can't revoke permission to see our presence), or
> an implementation detail of the WLM client?

I'd like a definite answer to this question from someone who understands MSNP:
it blocks undrafting of sane ContactList APIs (Bug #21787) so is a high
priority from my point of view.

Sjoerd suggests that the real situation might be that removing a contact in WLM
unsubscribes, but also blocks them, equivalent to (deny.AddMembers(),
subscribe.RemoveMembers()) in the current Telepathy API or (Unsubscribe(),
BlockContacts()) in the proposed API.

If that's the case, then it's not really a lie to omit blocked contacts from
the publish list even if they're on the underlying MSNP reverse list (we'd
normally be sending presence to them, but because they're blocked, we don't
anyway), and we have a simple solution:

* on Telepathy subscribe list = is on MSNP forward list
* on Telepathy deny list = is on MSNP block list
* on Telepathy publish list = is on MSNP reverse list, but not on MSNP deny
list
* on Telepathy stored list = is on Telepathy subscribe and/or publish list

Example of usage:

* I have mutual subscriptions with A, B, C
  - MSNP forward = [A, B, C], reverse = [A, B, C], blocked = []
  - Telepathy subscribe = [A, B, C], publish = [A, B, C], stored = [A, B, C],
deny = []
* I remove A using WLM
  - MSNP forward = [B, C], reverse = [A, B, C], blocked = [A]
  - Telepathy subscribe = [B, C], publish = [B, C], stored = [B, C], deny = [A]
* I remove B using Telepathy
  - MSNP forward = [C], reverse = [A, C], blocked = [A]
  - Telepathy subscribe = [C], publish = [C], stored = [C], deny = [A]

-- 
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