[Pidgin] #4509: Support XMPP Invisibility

Pidgin trac at pidgin.im
Sat Aug 8 15:07:46 EDT 2009


#4509: Support XMPP Invisibility
--------------------+-------------------------------------------------------
 Reporter:  js      |        Owner:  deryni
     Type:  defect  |       Status:  new   
Milestone:          |    Component:  XMPP  
  Version:  2.3.1   |   Resolution:        
 Keywords:          |  
--------------------+-------------------------------------------------------

Comment(by darkrain42):

 Replying to [comment:23 sundaymorning]:
 > It seems that gtalk invisibility discussion should be done here. That's
 my interpretation after #9392 have been marked as a duplicate of this bug.
 >
 > I present you with a less-than-perfect patch. It has been working fine
 for my needs and it could benefit others, that's why I'm uploading it. I
 don't think it should be integrated into the mainstream code because it's
 hacky and doesn't give the user "strong" invisibility. Feedback and
 suggestions are welcome, though.
 >
 > My patch allows the user to be invisible while still being able to see
 who logs in and out, send messages and receive messages while invisible.
 The invisibility is not strong in the sense that someone who's really
 interested into knowing if you're online is able to find that out.
 >
 > Google's implementation of invisibility also allows for someone who
 really wants to find out if you are invisible to do so. Therefore, I think
 my patch is no worse than google implementation in that sense.

 This patch ''is'' worse than Google's implementation, to me. The polling
 is unacceptably bad, especially since it's doing it every 15 seconds.

 I'm also worried that it will break of its own accord due to the hackery
 of sending `<message><active/></message>` in order for messages to be
 receivable (if Google changes the way their servers handle this
 situation).

 Presence subscription requests don't seem to be sent to a resource who has
 "gone invisible"; I didn't test IQ stanzas of any sort, nor messages sent
 to the bare JID.

 There is also a race condition between when someone signs on and when
 they're able to send you a message (which is of course then also tied to
 the polling frequency, which is already too fast, so it would simply be
 made worse by ).

 You should also be using the GHashTable `js->buddies`, not
 `purple_find_buddies`. The former has one entry per person, the latter may
 contain duplicates if a buddy is in multiple groups.

-- 
Ticket URL: <http://developer.pidgin.im/ticket/4509#comment:25>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list