[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