[Bug 26752] Setting a not supported presence state to a telepathy account does not deliver any failing feedback

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Apr 22 13:01:07 CEST 2010


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

--- Comment #3 from Simon McVittie <simon.mcvittie at collabora.co.uk> 2010-04-22 04:01:07 PDT ---
When writing spec for this, please consider the interaction with the
global/default presence mechanism in Bug #24104 - it might be worth specifying
and implementing them at the same time.

Perhaps what we actually want is a simpler version of your proposal 2:

property Account.ChangingPresence: b
    If true, a change to the presence of this account is in progress.

    Whenever _RequestedPresence_ is set, ChangingPresence MUST change
    to True, and the two property changes MUST be emitted in the same
    _AccountPropertyChanged_ signal, before the Set method returns.

    When the account manager succeeds or fails in changing the presence,
    or the connection disconnects due to an error, ChangingPresence MUST
    change to False as part of the same _AccountPropertyChanged_ signal.

In cases where the connection disconnects or fails to connect, we already
signal why, as ConnectionStatusChangeReason, and after the API proposed in Bug
#21200 is implemented, we'll also put a more detailed version in
ConnectionError. In MC git master (will be 5.5.0 once released),
AccountPropertyChanged always aggregates changes that happened together, and
always separates changes that didn't, which will make this signal easier to
interpret.

For all other failed presence changes, the only reason I can think of why it
could possibly fail is "the new value isn't supported, so I used the nearest I
could get", so I don't think we need to signal why.

Language bindings for AccountPropertyChanged should ideally apply all the
changes to the Tp[::]Account's internal cache first, while remembering what
changes they made, and only emit GLib/Qt change-notification signals for *any*
of the changes after they've updated their internal state for *all* the
changes.

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