Ticket #6469 (closed enhancement: fixed)

Opened 2 years ago

Last modified 2 years ago

Add Stopwatch To TandE plugin

Reported by: bobbysmith007 Assigned to: bobbysmith007
Priority: normal Component: TimingAndEstimationPlugin
Severity: normal Keywords:
Cc: Trac Release: 0.11

Description

Tay Ray Chuan has some work completed to add a stopwatch to the ticket interface. Pull this in to the main plugin branches and test.

Code at: http://github.com/rctay/tae-stopwatch

Attachments

Change History

01/22/10 00:53:17 changed by rjollos

  • type changed from defect to enhancement.

01/22/10 02:04:11 changed by rctay

Hi,

I've hooked it as 'TicketStopwatch' onto the timingandestimationplugin package.

If you want to test, you can get a fully-functional version of timingandestimationplugin with the stopwatch from the branch 'master' (tarball).

If you want to import it over your existing svn repo, I've an import-friendly version containing only the files that are new and/or touched at the branch 'export' (tarball)

01/22/10 16:11:35 changed by bobbysmith007

(In [7435]) Merged in stopwatch changes to trac0.11 branch re #6469

01/22/10 16:17:46 changed by bobbysmith007

(In [7436]) merged stopwatch into trac0.11-Permissions branch re #6469

(follow-up: ↓ 8 ) 01/22/10 16:20:38 changed by bobbysmith007

  • status changed from new to closed.
  • resolution set to fixed.

Thanks again for your work benefiting us all. I have added you to the authors lists.

It would be really great if the stopwatch persisted its state with a few ajax requests so that a browser crash doesn't lose the stopwatch time you are trying to preserve. Obviously this would have to be based per ticket so as not to have multiple tickets quash each other.

01/22/10 16:21:31 changed by bobbysmith007

(In [7437]) added author note re #6469

01/22/10 16:49:05 changed by bobbysmith007

Also I just noticed that you are just counting up.

With javascript being cooperatively multithreaded and often times sharing a single process across tabs, you cannot assume that your interval will actually fire every x ms as specified. You should instead store the start time and then calculate how much time has elapsed since then and update your display accordingly. It seems like you are just counting up which could cause your times to be very much under the amount of time actually spent.

(in reply to: ↑ 5 ; follow-up: ↓ 9 ) 01/22/10 17:01:23 changed by bobbysmith007

Replying to bobbysmith007:

It would be really great if the stopwatch persisted its state with a few ajax requests so that a browser crash doesn't lose the stopwatch time you are trying to preserve. Obviously this would have to be based per ticket so as not to have multiple tickets quash each other.

The time would also need to be stored per user so that two separate people who start a stopwatch on the same ticket can record their time separately

(in reply to: ↑ 8 ) 01/22/10 18:06:22 changed by rctay

Replying to bobbysmith007:

Replying to bobbysmith007:

It would be really great if the stopwatch persisted its state with a few ajax requests so that a browser crash doesn't lose the stopwatch time you are trying to preserve. Obviously this would have to be based per ticket so as not to have multiple tickets quash each other.

The time would also need to be stored per user so that two separate people who start a stopwatch on the same ticket can record their time separately

This is a pretty cool feature - I'll probably look into it sometime.


Add/Change #6469 (Add Stopwatch To TandE plugin)




Change Properties
Action