Back to Super Productivity

How Time Is Logged

docs/wiki/4.14-How-Time-Is-Logged.md

18.4.46.4 KB
Original Source

How Time Is Logged

Time tracking in Super Productivity is built around a single active task: when you start the timer on a task, that task becomes the one the app is currently tracking. Time is recorded in small increments, stored on the task (and in context and archive for sync and history), and continues until you pause or switch to another task. Understanding how starting and switching work, how time is recorded and stored, how idle and completion are handled, and how estimated vs. actual time is used helps you use time tracking effectively.

For how time estimates and the comparison with actual time support planning and review, see [[4.08-Time-Estimates]].

Starting the Task

Starting a task means making it the globally active task for time tracking. The app tracks one active task at a time. When you start the timer on a task, that task becomes the active task; any task that was previously being tracked is no longer active—time stops accruing on it and starts accruing on the new task. You do not have to pause the old task first; starting another task switches the active task automatically. So “start” both begins tracking the new task and effectively pauses the previous one.

The active task is shown in the UI (for example in the header or time-tracking panel). You can pause the active task explicitly (stopping the timer with no task selected) or start a different task; in both cases the previous task stops accruing time.

How Time Is Recorded

Time is recorded in a tick-based way: the app emits regular “ticks” (small time intervals) and attributes each tick to the currently active task. When a tick is processed:

  • The task’s total time spent is updated.
  • The task’s per-day time spent is updated so you can see how much time was logged on each calendar day.

Updates are applied to local state immediately so the UI (for example the timer and task time display) reflects the new time right away. For sync (for example WebDAV or Dropbox), the app batches time-tracking updates (for example every few minutes) to reduce the number of sync operations while still keeping data consistent.

Where Time-Tracking Data Is Stored

Time is stored at several levels so the app can show accurate totals, support sync, and preserve history:

  • Task level — Each task has total time spent (all time ever logged on that task) and time spent per day (a breakdown by calendar day). That is what you see on the task (e.g. “2h” or “30m today”) and what drives remaining time (estimate minus time spent). Parent tasks can show aggregated time from their subtasks.
  • Context level — The app maintains time-tracking state per work context (for example per project or tag) so it can show totals and history in the right place.
  • Archive — Completed tasks (and their time) move into the archive over time. The archive is structured in two tiers (recent and old) so sync and history remain efficient while old data is still available for reports and backup. See [[4.20-Task-Archiving]].

So “where is my time?” is: on the task (total and per day), in the current context’s state, and in the archive once the task is archived.

Idle and Paused Time

When the app detects that you have been idle (no input for a period), it can:

  • Pause the current task — The active task is cleared so time stops accruing.
  • Handle the idle segment — The time that passed while you were idle may be removed from the task or left for you to reassign. When you return, the app can show a dialog so you can assign that idle time to the same task, another task, or discard it. That keeps your log accurate and under your control.

Idle detection and the reassign dialog are configurable in [[3.02-Settings-and-Preferences]]. The important point is: the app does not silently attribute idle time to the active task; it pauses and gives you a chance to correct the log. For a full overview of idle detection and the reassign dialog, see [[4.17-Idle-Time]]. For reminders to take breaks after sustained work time, see [[4.16-Break-Reminders]].

Marking Tasks Complete

When you mark a task complete:

  • The task’s completion status is set to done.
  • A completion timestamp is recorded (when it was done).
  • Depending on settings, the app may auto-add the task to today’s list (for example for review or metrics).

Completion does not stop time tracking. If the timer was running on that task when you marked it done, it keeps running. The app does not assume “done” means “stop the timer.” To stop tracking, you must pause the timer or start another task. That separation lets you finish a task in the list but keep logging a bit more (e.g. wrap-up) or intentionally track time on a completed task if your workflow requires it.

Completed tasks (and their time) remain in the app and are included in reports and history. When they are old enough, they move into the archive; the time data stays associated with the task so you can analyze past work.

Estimated Vs Actual Time

The app continuously compares time spent with time estimate to show progress and support planning. The ratio (time spent ÷ estimate) gives a progress value (e.g. 1.0 = 100% of the estimate). This comparison is:

  • Shown in the UI — Progress indicators and task time display (e.g. “2h / 3h”) update as you log time.
  • Used in metrics — Productivity and estimation accuracy can use the same comparison.
  • Used in reports — Historical performance and “estimated vs. actual” views use the stored time and estimates.

Because time spent is updated in real time as the timer runs, the progress value and any UI or metrics that depend on it recalculate automatically; you don’t have to refresh. For more on how estimates work and how they interact with logged time, see [[4.08-Time-Estimates]].

  • [[4.21-Worklog]] — How “time spent per day” is turned into the date-organized worklog view
  • [[4.20-Task-Archiving]] — How completed tasks and their time move into the archive (recent and old tiers)
  • [[4.15-Timers-and-Focus-Mode]] — How Focus Mode timers sync with task tracking (when enabled)
  • [[4.08-Time-Estimates]] — How estimates and the comparison with actual time support planning and review
  • [[4.09-Task-Attributes]] — How time spent and time-per-day fit into the task model
  • [[3.02-Settings-and-Preferences]] — Idle handling, reminders, and time-tracking options