Opened 12 years ago

Closed 10 years ago

Last modified 10 years ago

#2002 closed patch (fixed)

idle reporting doesn't work after coming back from idle

Reported by: zarvok Owned by: seanegan
Milestone: 2.6.0 Component: libpurple
Version: 2.4.1 Keywords: idle
Cc: dnschneid@…

Description

When I start pidgin, idle reporting works fine - after 10 minutes I go idle, and the time is reported correctly. However, if I at a later time come back from the idle state, talk for a while, and then go away again, I will not always go back to being idle.

If, after this happens, I change my idle settings to never report idle times, and then change it back to reporting from the last sent message, I will immediately go idle, and it will show the correct amount of time from the last sent message.

I'm running pidgin on linux.

Attachments (2)

purple-debug.log (8.6 KB) - added by dave1g 11 years ago.
debug log of idle being set correctly with aim.
idle-fixin.patch (1.8 KB) - added by darkrain42 10 years ago.

Download all attachments as: .zip

Change History (56)

comment:1 Changed 12 years ago by Major_Small

I've got this same problem. I have "From last sent message" set for the "Report idle time" option, but once I break idle it doesn't ever restore it, whether I'm "Available" but away from the computer all day long, or I have an away message up all night long, I never see idle timers again.

I tried cycling the "Report idle time" option like zarvok suggested, but that didn't seem to work in my case.


Linux MCP 2.6.17-gentoo-r8 #1 SMP Sun Nov 26 03:45:48 EST 2006 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz GenuineIntel GNU/Linux

comment:2 Changed 12 years ago by slander

I just want to add that this also happens in Windows. This bug is pretty frustrating.

comment:3 Changed 12 years ago by mvidas

Agreed, happens to me too in WinXP SP2 with Pidgin 2.0.2
Changing Report Idle Time to Never then back to From Last Sent Message does fix it temporarily, at least until the next message I send

comment:4 Changed 12 years ago by Major_Small

I just tried cycling the "Report Idle Time" option again and this time it worked as zarvok and mvidas suggested. I may not have clicked "Close" after changing the option when I tried it the first few times.

comment:5 Changed 12 years ago by Dr Colossus

I am also experiencing this problem. After the first time returning from idle (and becoming unidle), idle will never be set again, no matter how long I am actually idle for. Highly annoying bug!

This issue is still present in Pidgin 2.1.0 (WinXP SP2 and idle time reporting from last sent message).

comment:6 Changed 12 years ago by slander

With all the talk on the mailing list about idleness, I am surprised this bug hasn't been mentioned. It is still happening in 2.1.0 on vista and linux. The only protocol I use is AIM, if that helps.

comment:7 Changed 12 years ago by seanegan

  • Milestone set to 2.1.1
  • Owner set to seanegan
  • Status changed from new to assigned

comment:8 Changed 12 years ago by schoen

This happened for me with 2.0.2, whenever I interrupted idle status by sending a message. After that, I would not become idle again. Sometimes, I would stay idle (but not auto-away!) forever, though settings were “based on keyboard and mouse use”. But I was unable to reproduce this with 2.1.0, since 2.1.0 polls regularly, so I never had to interrupt idleness by an event.

comment:9 Changed 12 years ago by seanegan

Perhaps a duplicate of #333

comment:10 Changed 12 years ago by slander

Its not a duplicate of #333. This happens whether or not you lose the connection.

comment:11 Changed 12 years ago by mvidas

I upgraded to 2.1.1, issue seems to be fixed

comment:12 Changed 12 years ago by Dr Colossus

The issue is still present for me in 2.1.1.

comment:13 Changed 12 years ago by mvidas

Strange that it worked for me the first time. After opening my buddy list this morning I see that it is still present for me as well. Sorry about that

comment:14 Changed 12 years ago by a5678

I am having the same issue on Windows XP as well, even with Pidgin version 2.1.1

Any ideas on whether this is an important enough issue to have a chance of being fixed for the next version? It sure is a bit of an annoying problem.

comment:15 follow-up: Changed 12 years ago by slander

I was hoping in the idle stuff in the 2.2.0 changelog would fix this problem, but sadly the bug persists. Nothing new to report, just confirming that this is still an issue for 2.2.0.

comment:16 in reply to: ↑ 15 Changed 12 years ago by asianguyjtran

Replying to slander:

I was hoping in the idle stuff in the 2.2.0 changelog would fix this problem, but sadly the bug persists. Nothing new to report, just confirming that this is still an issue for 2.2.0.

Same here. The little work around helped for it showed that i was idle for 19 hours [which seems right]

I'm running 2.2.0 on FC 6 I wish I can help but I don't know programming. Only php

I just finished a conversation with someone and I'll come back later to update or edit [if trac allows editing ...]

comment:17 Changed 12 years ago by a5678

This is still an issue for 2.2.1 Is anyone else still having this problem with the current version?

comment:18 Changed 12 years ago by asianguyjtran

yeah. it's still an issue. i wish i can help with this bug but i don't know what to look for.

comment:19 Changed 12 years ago by Dr Colossus

I'm still having the problem in 2.2.1 as well...

comment:20 Changed 11 years ago by slander

It turns out this only happens under certain circumstances. The bug is only present when idle time reporting is "From last sent message" and "Change status when idle" is not checked.

If "Change status when idle" is checked, pidgin always correctly reports idle time to the server. If idle time reporting is "Based on keyboard or mouse use", pidgin always correctly reports the idle time to the server.

comment:21 Changed 11 years ago by flightofyears

I'm using 2.4.1 on Windows XP. Still pretty much the same situation: Idle time reporting based on "From last sent message" works the first time I go idle after starting Pidgin. Once I return from idle, and then should go idle again, it does not. If I then set reporting idle time to "Never" or "Based on keyboard or mouse use", and then immediately back to "From last sent message" manually (Preferences), my idle time changes to be correct. Note "change status when idle" is NOT checked.

comment:22 Changed 11 years ago by flightofyears

Also, I believe this is the same as http://developer.pidgin.im/ticket/4031

comment:23 Changed 11 years ago by Sim-on

  • Version changed from 2.0.2 to 2.4.1

comment:24 Changed 11 years ago by perre

I got the same problem over here on pidgin 2.4.1 on ubuntu 8.04 (with downgraded kernel to gutsy gibbon instead of hardy heroon) using msn-protocol.

This actually is pretty annoying. When i leave my work-pc on in the evening when i go home people think i'm still online hours later. They then send me a message to get no response cos i'm not there anymore. When I return in the morning i see they tried to contact me.

I don't agree with the "minor" qualification of this ticket since in my opinion this is one of the basic functions of pidgin. You can't be changing your status all the time when you go away from your pc.

Anyway: I hope this will get fixed. If any additional info is needed i'm happy to try and help out.

comment:25 Changed 11 years ago by deryni

Ignore the priority field, it doesn't mean what you think it does.

comment:26 in reply to: ↑ description ; follow-ups: Changed 11 years ago by LocoValue

Interestingly, I seem to actually have the exact opposite problem: once my computer has gone into standby or hibernate, pidgin will never STOP being idle until I restart pidgin. (I'm using Windows Vista Home Premium, and have it set to base my idle on keyboard or mouse use, and don't have the box checked to change my status.) Once the problem has started happening, going in and changing the setting from "based on keyboard or mouse use" to "never" makes me come back out of idle, but then setting it back to "based on keyboard or mouse use" makes it go right back to idle, for the same amount of time it had been idle before I changed the setting. Anyone else having this problem?

comment:27 in reply to: ↑ 26 ; follow-up: Changed 11 years ago by a5678

make sure the Idle Maker plugin is not active.

comment:28 in reply to: ↑ 27 Changed 11 years ago by LocoValue

Replying to a5678:

make sure the Idle Maker plugin is not active.

I just checked, it's not. I've never used any of the pidgin plugins.

comment:29 Changed 11 years ago by heccy

Also having the same problem here. I'm reporting idle time based on keyboard/mouse usage and it only goes 'away' once, then never again. Looking at the debug window I see that the second time it should go idle it's setting my idle time on the servers but it doesn't actually set my status to 'away'... after that it never says it's going unidle or idle.

I also see the behaviour mentioned above wherein switching to another idle reporting method causes the idle time and status to be updated correctly, so apparently they get wedged independently.

Interestingly, I don't see this behaviour on another computer - so maybe it's gotten into a bad state or it's something to do with the accounts I have on this computer. I thought it might be related to MSN since I have an MSN account set up on this computer and not the other (I also have 3 accounts instead of 2, so maybe that's relevant instead?), but after disabling MSN and testing various combinations of accounts the problem seems to have gone away permanently. Perhaps someone else can try disabling and re-enabling their accounts as a workaround... I guess I'll see how long it lasts.

comment:30 Changed 11 years ago by heccy

I'm using 2.4.1, btw.

comment:31 Changed 11 years ago by ravenking

pidgin will never STOP being idle until I restart pidgin.

I'm having the exact same problem, Loco.

Nor does basing Idle status on either keyboard/mouse use or sent IMs make a difference -- at best, Pidgin's idle-status function is inconsistent, and most of the time it's nonresponsive. I currently have it set to "Never" b/c otherwise no one knows I'm at my computer.

Hopefully they'll be able to sort out this bug for the next release, if not 2.5 then perhaps 2.5.1.

Using Pidgin 2.4.2 on WinXP, connecting only to the AOL/Oscar protocol.

comment:32 Changed 11 years ago by gmarch

I have the same issue on x32 and x64 Win XP Pro SP2, Pidgin 2.4.2.

It seems to happen more often if I was logged in, then go to another computer, launch pidgin there which logs me out of my account on the first box. When I come back to the first box and re-enable the logged out accounts, I am idle.

comment:33 Changed 11 years ago by dave1g

There seem to be a lot of problems with idle... some the exact opposite of each other (stuck in idle, vs never getting to idle) My problem is the stuck in idle forever one. CCing all to keep track.

#2002 #2525 #2681 #5825 #5853 #5967 #6041

comment:34 in reply to: ↑ 26 Changed 11 years ago by flightofyears

Replying to LocoValue:

I have 2.4.2 now, and have also noticed this problem. Sometimes when I return after being idle for a number of hours, I can't get myself out of idle (which is set to be based on keyboard/mouse use). Occasionally, in the past, I could "un-idle" myself by IMing myself, but now even that fails. Only a full restart of Pidgin fixes the problem.

comment:35 Changed 11 years ago by slander

Well, its been nearly a year since this ticket was opened. Terrific.

comment:36 Changed 11 years ago by dave1g

My issue in #5825 seems to be fixed with 2.4.3. Everyone on this ticket should report whether 2.4.3 has fixed or not fixed the issue for them.

comment:37 Changed 11 years ago by mvidas

Still an issue for me with 2.4.3. Cycling the preferences still works, but still a pain

comment:38 Changed 11 years ago by Sim-on

mvidas, does this only happen with a specific protocol ( xmmpp? ). Because i can not recreate this with icq and MSN.

comment:39 Changed 11 years ago by mvidas

I'm only using AIM so I can't speak for others. If you have an aim account you should be able to recreate it the following way:

-Send a message to someone/yourself -Set idle reporting preference to "From last sent message" -Wait until you're idle -Send another message

If you then wait until you should be idle again, you'll stay active (until you cycle the preference)

Changed 11 years ago by dave1g

debug log of idle being set correctly with aim.

comment:40 Changed 11 years ago by dave1g

I set my reporting to based on mouse usage, since it was already on from last sent message.

changed minutes before coming idle to 1

close, send myself a message,

(11:02:43 AM) David Grohmann: testing
(11:02:43 AM) David Grohmann: testing

reset idle prefs to "from last sent message"

wait a minute, goes idle, send another message, becomes unidle

(11:04:43 AM) David Grohmann: second message
(11:04:43 AM) David Grohmann: second message

wait a minute, goes idle, send third message, become unidle

(11:06:18 AM) David Grohmann: third message
(11:06:18 AM) David Grohmann: third message

you can correlate the IM timestamps with the file I uploaded, and see that idle is being set correctly each time.

comment:41 Changed 11 years ago by mvidas

I see in your file that it is setting correctly, but it also looks like you turned on your Auto-away feature to set you away while idle. I don't have that box checked on mine as I want it to stay whatever status I am at the time (whether available or away) regardless of idle state.

If I check that box, it does report the idle time correctly as well as change my status. I'm just going to have to change my status when idle for the time being, as it is a much easier workaround than constantly flipping the preferences status.

comment:42 Changed 11 years ago by dave1g

well now the devs have something specific to investigate at least.

comment:43 Changed 11 years ago by gmarch

Nope, not fixed in 2.4.3.

To reproduce, use two machines. Login to AIM, Yahoo or MSN on machine 1. Then log into the same on machine 2, forcing machine 1 to log out. (This happens when I go from home to work.)

(This next is TBD as a requirement) Now, come back in 9 hours.

"Re-enable " the accounts on machine 1.

Those three protocols show as idle.

comment:44 Changed 11 years ago by bob_the_normal

Just adding, I also still have this problem.

I haven't tried messing around with it much, but I am ALWAYS idle, even when I send messages. Restarting the computer or pidgin does not change this behavior at all... some people appear to need to take certain steps to cause it, it is just always there for me.

As someone else noted though, having 'Change status on idle' checked seems to affect it. What's funny is, this bug existed in much older versions of GAIM and Pidgin, but after a few Pidgin releases, it disappeared. I put off updating for a long time and, when I did (because of memory leaking issues with old versions), the problem suddenly reappeared. Very annoying problem, since people either think I'm purposely using the program to hold myself in Away, or (if I turn idle status off) as constantly Online.

Hope this gets resolved!

comment:45 Changed 10 years ago by phinn

I have this bug too in both Linux and Windows. This bug has been around since 2.x started and they have yet to fix it

comment:46 Changed 10 years ago by phinn

More specifically for me, in both Linux and Windows as of from 2.0 all the way to 2.5.4 idle never works right. I always keep idle on "from last sent message" and it NEVER reports me as being idle. Only if I go in and change it from that, to something else, then back to "from last sent message" again. Then I'll suddenly go idle.

Gaim 1.5 is the last known version that does not have this terrible bug. And that is the version I stick with.

comment:47 Changed 10 years ago by darkrain42

Hmm, I could have sworn I searched for tickets before I filed a bug. I filed #7839, which describes (as best as I can tell) largely this same issue -- namely, how to wedge the idle reporting. Copying my bug description in here, since I did a little bit of gdb work to diagnose the issue.

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
  2. Allow 1 minute to pass, so that you go idle.
  3. Send a message to someone (I use myself) to go unidle
  4. 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.

comment:48 Changed 10 years ago by darkrain42

Ticket #7839 has been marked as a duplicate of this ticket.

Changed 10 years ago by darkrain42

comment:49 Changed 10 years ago by darkrain42

  • Component changed from pidgin (gtk) to libpurple
  • Type changed from defect to patch

I've just attached a patch which fixes this issue for me (at least the very specific set of circumstances I outlined in comment 47). I don't see why coming back from being idleaway should mean that we don't want to go idleaway again.

The change in savedstatuses.c is necessary to plug a mutual recursion between those two functions (purple_idle_touch()->check_idleness()->purple_savedstatus_set_idleaway()->purple_idle_touch()->...)

I haven't yet tested this with the standard (default?) "keyboard and mouse" idle detection, but will do so (just as soon as I figure out how...).

comment:50 Changed 10 years ago by deryni

  • Milestone set to Patches Needing Review

comment:51 Changed 10 years ago by darkrain42@…

  • Milestone changed from Patches Needing Review to 2.6.0
  • Resolution set to fixed
  • Status changed from new to closed

(In 6b5084da4501a491dab88006847c4e99fd4ce044):
Adjust some idle handling code to fix "wedging" idle reporting into never reporting idle properly until restarting Pidgin. Fixes #2002.

comment:52 Changed 10 years ago by darkrain42@…

(In 4a2d7c0b8570558cada900f60d7696231954c231):
Changelog 6b5084da. Refs #2002.

comment:53 Changed 10 years ago by elvo86

I'm still having this issue on Vista.

I have report idle time set to based on keyboard or mouse use, auto-reply set to never, minutes before becoming idle set to 5, and change status when idle set to true (with a status picked).

I left my desk, and when I returned, I was still idle. Changing my status did not change my idle state. Moving my mouse or typing (in or out of Pidgin) did not change my idle state. I had to change my report idle time to never to get out of idle.

I'm running Pidgin 2.6.2 on Windows Vista SP1, and I have one XMPP account configured.

comment:54 Changed 10 years ago by elvo86

ummm... it started working again, nevermind?

Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!