Skip to content

Timer Widget

The timer widget is a built-in stopwatch that lets you track time as you work. When you start the timer, it counts up in real-time. When you stop it, a time log entry is automatically created. The timer is visible across all pages in SetGet, so you always know what you are tracking.

Starting the timer

There are two places to start the timer:

From a work item detail panel

  1. Open any work item.
  2. Scroll to the Time Tracking section in the detail panel.
  3. Click the Start Timer button (play icon).
  4. The timer begins counting immediately.
  5. The work item is linked to the timer session.

From the time tracking page

  1. Navigate to Analytics > Time Tracking in the sidebar.
  2. Click the Start Timer button in the top toolbar.
  3. A modal appears asking you to select an issue.
  4. Search for and select the issue you want to track time against.
  5. Click Start.
  6. The timer begins counting.

TIP

You can also start the timer using the keyboard shortcut Alt + T from anywhere in SetGet. A quick-select modal appears to choose the issue.

Timer display

Once started, the timer is displayed in two locations:

A persistent timer indicator appears in the bottom-left of the sidebar:

ElementDescription
Timer iconAnimated pulsing dot indicating an active timer
Elapsed timeHH:MM:SS format, updating every second
Issue identifierProject prefix and issue number (e.g., "PRJ-142")
Issue titleTruncated issue title

Click the sidebar indicator to navigate directly to the linked work item.

Work item detail panel

When viewing the work item linked to the active timer, the Time Tracking section shows:

ElementDescription
Live counterLarge HH:MM:SS display with animated seconds
Stop buttonRed square icon to stop and save
Discard buttonTrash icon to stop without saving
Issue contextConfirms you are timing the correct item

Header bar indicator

A small timer badge also appears next to your avatar in the global header bar. This ensures the active timer is visible even when the sidebar is collapsed.

Timer behavior

One timer at a time

Each user can have only one active timer at any moment. Starting a new timer automatically handles the previous one:

ScenarioBehavior
Start timer on Issue B while Issue A is runningIssue A timer stops, a time log is created for Issue A, Issue B timer starts
Start timer on the same issue that is already runningNo effect -- the timer continues
Two browser tabs openTimer state is synchronized via Redis; both tabs show the same timer

Timer persistence

The timer is not stored in the browser. It is persisted server-side in Redis:

AspectDetail
StorageRedis key: setget:timer:{user_id}
Stored dataIssue ID, start timestamp, workspace ID
PersistenceSurvives browser close, tab close, page refresh, and device switch
ExpiryTimer auto-expires after 24 hours to prevent runaway timers
Cross-deviceStart a timer on your laptop, check it on your phone

When you open SetGet after closing the browser, the timer resumes from where it was. The elapsed time is calculated as the difference between the stored start timestamp and the current time.

WARNING

If a timer runs for more than 24 hours without being stopped, it is automatically discarded. This safety mechanism prevents accidentally accumulating days of tracked time.

Minimum duration

Time logs shorter than 1 minute are discarded when the timer is stopped. This prevents accidental micro-logs from cluttering the time log table.

Stopping the timer

Stop and save

  1. Click the Stop button (red square) on the sidebar indicator, the work item detail panel, or the header bar badge.
  2. The timer stops.
  3. A time log entry is created with the following values:
FieldValue
DurationElapsed time rounded to the nearest minute
DateToday's date
IssueThe linked work item
DescriptionEmpty (you can edit it afterward)
BillableInherits the project's default billable setting
Created byThe current user
  1. A confirmation toast appears: "Time logged: Xh Ym".

Editing after stop

After stopping, the new time log entry appears in the work item's time log table. You can immediately edit it to:

  • Adjust the duration (round up or down).
  • Add a description of what you worked on.
  • Change the billable flag.
  • Change the logged date if the work spanned midnight.

Discarding the timer

If you started the timer by mistake or do not want to log the time:

  1. Click the Discard button (trash icon) on the sidebar indicator or the work item detail panel.
  2. A confirmation dialog appears: "Discard timer? No time log will be created."
  3. Click Discard.
  4. The timer stops and no time log is created.
ActionTime log createdTimer cleared
StopYesYes
DiscardNoYes
24-hour auto-expiryNoYes
Start new timer (auto-stop)Yes (for the previous issue)Previous cleared, new started

Timer visibility across pages

The timer indicator is intentionally visible across all SetGet pages to maintain awareness:

PageTimer visible
DashboardYes (sidebar + header)
Issues listYes (sidebar + header)
Work item detail (same issue)Yes (inline timer + sidebar + header)
Work item detail (different issue)Yes (sidebar + header, shows which issue is being timed)
CyclesYes (sidebar + header)
ModulesYes (sidebar + header)
Pages / WikiYes (sidebar + header)
SettingsYes (sidebar + header)
Time tracking pageYes (inline timer + sidebar + header)

Keyboard shortcuts

ShortcutActionContext
Alt + TStart timer (opens issue picker)Global
Alt + SStop active timer and saveGlobal (only when timer is running)
Alt + DDiscard active timerGlobal (only when timer is running)
Alt + Shift + TNavigate to the timed issueGlobal (only when timer is running)

TIP

Keyboard shortcuts work from any page. You do not need to navigate to the work item or time tracking page to stop or discard the timer.

Timer and offline behavior

SetGet is a web application and requires an internet connection. Timer behavior during connectivity issues:

ScenarioBehavior
Brief network interruption (< 30s)Timer display may pause but the server-side timer continues. Reconnection restores the display.
Extended offlineTimer display freezes. The server-side timer in Redis continues. When you reconnect, the correct elapsed time is shown.
Stop while offlineThe stop action is queued and executed when connectivity returns.

Permissions

RoleCan start timerCan stop own timerCan view others' timers
OwnerYesYesNo (timers are private)
AdminYesYesNo
MemberYesYesNo
GuestNoNoNo

Timers are entirely private. No other user can see that you have a running timer or its duration. Only the resulting time log entries are visible to project members.

Best practices

  • Start the timer when you begin focused work on an issue. It is the most accurate way to track time.
  • Add a description immediately after stopping. The longer you wait, the harder it is to remember what you did.
  • Use discard intentionally. If you accidentally started the timer, discard rather than stopping and deleting the log.
  • Check the sidebar indicator regularly. It is easy to forget a running timer, especially when switching between issues.
  • Do not rely on the 24-hour expiry. Stop or discard your timer at the end of each workday.