rcaelers / workrave

Workrave is a program that assists in the recovery and prevention of Repetitive Strain Injury (RSI). The program frequently alerts you to take micro-pauses, rest breaks and restricts you to your daily limit.
https://www.workrave.org
GNU General Public License v3.0
1.57k stars 199 forks source link

Timer stops even if there's no activity #168

Open rob-spoor opened 4 years ago

rob-spoor commented 4 years ago

Describe the bug Both rest break and micro break timers stop after a few seconds, even though I'm not touching my computer at all. I can wait as long as I want, the timer doesn't continue. I have to skip / postpone to get rid of the timer. Perhaps Workrave thinks that the mouse or keyboard is active. I've tried moving around all mouse devices (including touchpad etc), but the timer does not continue.

Oddly enough this only occurs on this computer, on another computer it works just fine. It's probably related to the PC, but it would be helpful if I could get some information on why Workrave stops the timer.

To Reproduce Just wait until the timer occurs, then do nothing. The timer does the same...

Expected behavior The timer should continue to count down. Even if I should use the mouse or keyboard, the timer should continue 10 seconds after I stop doing anything.

Windows

fabjapan commented 4 years ago

I experience the same issue on the latest build of Windows 10 Home. Can't use Workrave anymore.

It used to work. But as I updated windows at the same time of Workrave, and don't know which is causing the trouble.

rcaelers commented 4 years ago

So after a few seconds, the break stops. The green progress is no longer changing and neither is the time in the progress bar.

fabjapan commented 4 years ago

In my case the micro break timer doesn't appear at all, the timer just resets as if nothing, and no sound is emitted.

I'll try the alternate monitor option!

rcaelers commented 4 years ago

@dswarez And the operation mode of Workrave is set to normal?

fabjapan commented 4 years ago

Yes it is. The alternate monitor didn't change the behavior

morincl commented 4 years ago

Same issue here on Ubuntu 18.04.4 with Workrave 1.10.43. Reading mode is turned on, the operation mode is normal. The prompt before breaks keeps flashing and fails to go to the actual break, until the number of prompts is exhausted and the actual break is triggered, but then the timer within the break stops and I have to press "Skip".

rob-spoor commented 4 years ago

I've checked the 'Use alternate monitor' checkbox, because the computer that has the issue is a laptop with external monitors (mostly) connected; the other one is a desktop with a single monitor.

morincl commented 4 years ago

I am still seeing the same problem on 1.10.44 on Ubuntu 18.04.4, but it seems to occur less often.

rcaelers commented 4 years ago

I fixed a Linux-only bug that kept Workrave from seeing that the user became idle during video playback. During video playback, the system prevents the screen saver from activating by pretending the user is active. This also prevented Workrave from preventing the user is idle. This bug is now fixed.

But I still haven't figured out what is causing this issue on Windows though. Interesting that you still see the problem on Linux. Any extra information on how to reproduce is welcome. I will prepare a Windows install with extra debug logger that may reveal the cause if this problem.

rob-spoor commented 4 years ago

I think the 'Use alternate monitor' option has solved my issue. I'm curious if this will also work on multiple monitors though; I don't have access to my proper work spot which uses two external monitors instead of just one like I have now.

dimsuz commented 4 years ago

I observed that after switching to GNOME/Wayland the issue was gone. Maybe it's something which is reproducible only on xorg

ak2766 commented 3 years ago

I fixed a Linux-only bug that kept Workrave from seeing that the user became idle during video playback. During video playback, the system prevents the screen saver from activating by pretending the user is active. This also prevented Workrave from preventing the user is idle. This bug is now fixed.

But I still haven't figured out what is causing this issue on Windows though. Interesting that you still see the problem on Linux. Any extra information on how to reproduce is welcome. I will prepare a Windows install with extra debug logger that may reveal the cause if this problem.

Hmm - I've just recently installed Workrave on Ubuntu 20.04.2 LTS and the timer worked only on first install. After rebooting laptop, I'm getting too many prompts to take a break despite changing the short break interval from 10 minutes to 30 minutes. In fact, I just killed it a few minutes and when I restarted it, it immediately came up with the message it's time to stop work. Oddly, the problems with too many prompts started up soon after I changed that interval.

rcaelers commented 3 years ago

If you still encounter this issue in Workrave 1.10.45, and switching to the 'alternate monitor' does not solve the issue (windows only), please try the following:

When you encounter the problem, open the preferences, and go to the 'Monitoring' tab in the Timers section. Press the 'Debug monitoring' button. A new window should appear that shows some internal state and state changes. Wait a minute or so and copy/paste the content of the debug window and add it to this bug report or mail it to me (there should not be any personal data in the logs). Note that this requires version 1.10.45.

lisansas commented 2 years ago

如果您在 Workrave 1.10.45 中仍然遇到此问题,并且切换到“备用监视器”无法解决问题(仅限 Windows),请尝试以下操作:

遇到问题时,打开首选项,然后转到“计时器”部分中的“监控”选项卡。按“调试监控”按钮。应该会出现一个新窗口,显示一些内部状态和状态变化。稍等片刻,复制/粘贴调试窗口的内容并将其添加到此错误报告或邮寄给我(日志中不应有任何个人数据)。请注意,这需要 1.10.45 版。

I found the problem, when I open the Android emulator, this problem occurs.

The timer only works properly when I close the Android emulator.