View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0022919 | mantisbt | time tracking | public | 2017-05-23 15:07 | 2017-09-03 18:41 |
Reporter | ethraza | Assigned To | dregad | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | Chrome 58 | OS | Linux | OS Version | Ubuntu 16.04.2 L |
Product Version | 2.4.1 | ||||
Target Version | 2.6.0 | Fixed in Version | 2.6.0 | ||
Summary | 0022919: Time Tracking "auto count" is giving the wrong elapsed time | ||||
Description | After one month using the Time Tracking feature to track the time I spent working on each project I started to fell something was wrong with the time I was spending working. Today I finally noted down the time to verify the counter and find it was completely wrong. What I found is that the elapsed time is always about 50% the time I really took working. I don't know what math the counter is doing, but I noticed it is not really checking the time it started against the current time. | ||||
Steps To Reproduce | What I'm doing is starting the counter on the Mantis tab and go working in another tabs and programs, when I need to do something not related to this project, I go back to the Mantis tab and add the empty note with the elapsed time. Simple like that. | ||||
Additional Information | Example: | ||||
Tags | No tags attached. | ||||
We use JavaScript setTimeout function for it. Depending on browsers the results are strange, especially if the browser tab is not active / visible. |
|
As I was imagining. The setTimeout is probably just starting at 0 and adding each second to it. Just an idea. |
|
Just sent a PR. |
|
MantisBT: master 85484ea4 2017-08-17 01:44 Committer: dregad Details Diff |
Fix time tracking stopwatch lag Prior to this, the stopwatch was lagging behind the real time and it was not possible to manually edit the time field. The lag was caused by the use of setTimeout to add to a counter each second. Browsers put inactive tabs to sleep for a few seconds, causing cumulative delays between each call to setTimeout. I have changed setTimeout to setInterval to better express the intention of calling a function in a loop and inside that function I have switched from a simple add to a counter, to calculate the diff in seconds between startTime and current time, using the moment.js library to help. Fixes 0022919 Signed-off-by: Damien Regad <dregad@mantisbt.org> |
Affected Issues 0022919 |
|
mod - js/common.js | Diff File |