[Pidgin] #7839: Possible to wedge 'purple' idle time reporting

Pidgin trac at pidgin.im
Sun Dec 21 01:08:38 EST 2008


#7839: Possible to wedge 'purple' idle time reporting
------------------------+---------------------------------------------------
 Reporter:  darkrain42  |        Owner:           
     Type:  defect      |       Status:  new      
Milestone:              |    Component:  libpurple
  Version:  2.5.3       |   Resolution:           
 Keywords:  idle        |  
------------------------+---------------------------------------------------
Description changed by darkrain42:

Old description:

> It's possible to wedge the purple idle time reporting into never
> reporting me idle again. Also, by my reading of the code, the
> "mins_before_away" setting in the preferences should be grouped with
> "Report Idle time" in the preferences because it is always in effect (if
> idle time reporting is enabled), irrespective of the auto-away settings.
>
> Anyway, for wedging the idle time reporting:
> {{{
> Report Idle Time: From last sent message ("purple")
> Change status when idle: Not checked
> Minutes before becoming idle: 1
> }}}
>
> Steps to reproduce:
>  1. Restart pidgin
>  1. asdf

New description:

 It's possible to wedge the purple idle time reporting into never reporting
 me idle again. Also, by my reading of the code, the "mins_before_away"
 setting in the preferences should be grouped with "Report Idle time" in
 the preferences because it is always in effect (if idle time reporting is
 enabled), irrespective of the auto-away settings.

 Anyway, for wedging the idle time reporting:
 {{{
 Report Idle Time: From last sent message ("purple")
 Change status when idle: Not checked
 Minutes before becoming idle: 1
 }}}

 Steps to reproduce:
  1. Restart pidgin
  1. Allow 1 minute to pass, so that you go idle.
  1. Send a message to someone (I use myself) to go unidle
  1. Wait 1 more minute -- you will not go idle.

 From putting watches on {{{ idle_timer }}} and {{{
 time_until_next_idle_event }}}, one can see that after going idle, the
 idle timer is removed and is never set again (check_idleness_timer is
 never called).

 I believe this happens because even though purple_idle_touch is called
 when sending an IM, {{{ no_away }}} is TRUE. Additionally, the idle time
 is never repolled so, when first going idle, the idle_recheck_interval in
 check_idleness is set to 0 ("don't poll when using purple idle reporting")

 I'd submit a patch to fix it, but the idle code drives me nuts because I
 still haven't figured out what the no_away variable does.

 (sorry, hit 'Submit Ticket' earlier instead of 'Preview')

--

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


More information about the Tracker mailing list