Bug 69493

Summary: status of non-buddies should be (UNKNOWN, 'unknown', ''), not an error
Product: Telepathy Reporter: Xavier Claessens <xclaesse>
Component: salutAssignee: Telepathy bugs list <telepathy-bugs>
Status: RESOLVED MOVED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium CC: smcv, xclaesse
Version: git master   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on: 69474    
Bug Blocks:    

Description Xavier Claessens 2013-09-17 21:04:40 UTC
+++ This bug was initially created as a clone of Bug #69474 +++

In Gabble, contacts not on our roster have UNKNOWN presence (e.g. see Bug #25583). In Haze, asking for their presence is an error.

This is especially problematic in Telepathy 1.0, where the presence mixin's get_statuses() callback can no longer fail.

Salut does not have UNKNOWN presence, but its OFFLINE presence is already a dummy one...
Comment 1 Xavier Claessens 2013-09-17 21:05:28 UTC
(In reply to comment #0)
> Salut does not have UNKNOWN presence, but its OFFLINE presence is already a
> dummy one...

To be more precise, I think that OFFLINE should not exist in salut and replaced by UNKNOWN. no ?
Comment 2 Simon McVittie 2013-09-18 09:42:14 UTC
(In reply to comment #1)
> To be more precise, I think that OFFLINE should not exist in salut and
> replaced by UNKNOWN. no ?

I don't think so. My mental model is that in mDNS, my local LAN is analogous to the server (or network of federated servers) in a centralized protocol - so anyone I can see is online, and everyone else is offline. There's no such thing as "I can't see that you're online, but maybe I don't have permission to do so?"

Perhaps you're online on *your* local LAN, but in my mental model, that's a different "server", and on *my* "server", you're definitely offline. (Replace "my local LAN" with "Freenode" and "your local LAN" with "OFTC", or Facebook and Windows Live, or any other pair of non-cooperating services.)

The reason why non-buddies on a conventional IM network should be UNKNOWN is that we can't authoritatively say "Fred is online"/"Fred is offline" if we wouldn't receive his presence anyway. That doesn't apply to Salut.

Something that *does* apply to Salut is that GetPresences() should always return *something* for any valid handle, i.e. if you call the TpPresenceMixinGetContactStatusesFunc with valid handles (which it may, and should, assume), it should always succeed and return a presence per contact. In next, it no longer has its GError argument.
Comment 3 GitLab Migration User 2019-12-03 20:16:37 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/telepathy/telepathy-salut/issues/48.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.