Time states
Every second the desktop timer runs is attributed to one activity state. States describe what your time was doing — they are not a score or a verdict about you. This page explains the six states you’ll see, how the day is recorded, and how corrections work.
The always-on-top timer bar is the only surface that tracks time. As you work, the Rust monitor samples your active window every five seconds and the timer flushes to the backend every 30 seconds — plus on each state change and each whole-minute boundary — so the dashboard advances in lockstep.
The six states
- Productive — active work the classifier counts toward your worked time.
- Idle — no input for a while (how long is set by your workspace in company settings), but you’re still inside your shift.
- Break — a longer pause inside your shift, or a deliberate break you declare with the Break button.
- Overtime — productive time worked outside your configured shift hours.
- Off-work — idle or break time outside your shift. It is never counted and never sent.
- Offline — the timer is stopped and nothing is being tracked. What teammates see is presence, derived from what’s actually connected: your live state while the desktop tracker runs, “online” if you have the web app open without the tracker, and offline when nothing is connected.
Inside your shift, time stays as productive, idle, or break. Step outside your shift window and the same activity is remapped: productive becomes overtime, while idle and break become off-work. On a freelancer or no-shifts workspace, productive simply stays regular instead of being labelled overtime.
How a day is stored
A day isn’t one running total — it’s an hours-of-day map keyed by hour 0–23. Each cell carries its own duration and a source, so different hours can have come from different places: automatic tracking, a deliberate break, the in-shift portion of a system sleep gap credited as break (the part of the gap outside your shift stays untracked, like all off-work time), or a hand edit. Automatic writes are tagged with an x-timer-agent marker so they’re distinguishable from manual edits — though that marker is never a permission bypass; the server still verifies you own the record.
Corrections and provenance
In Automatic mode you can mark the current activity as productive or idle from Settings → Activity Detection. The correction is saved on-device and the local model retrains immediately, so the classifier learns your tools. This adjusts how future activity is classified; for how that classification actually works, see Activity classification.
When time is replayed after an offline period, cells are merged carefully: a hand edit or correction always beats an automatic value, and otherwise the larger duration wins — so neither your work nor your corrections get lost.