How your board stays current
"How fresh is this board?" turns out to be two questions, not one, and the answer to each is a different number in a different unit. We got this wrong in our own copy more than once before we separated them properly, so it is worth writing down.
Two clocks, not one
The sync clock runs between our server and your provider. It is measured in minutes. This is the job that asks GitLab or GitHub what changed and writes the answer into our database.
The poll clock runs between your browser and our database. It is measured in seconds. This is the one that moves a card on your screen without you pressing anything.
A change has to cross both to reach you. Confusing them is easy because the digits look similar and the units do not, which is exactly the trap.
| Free | Pro | |
|---|---|---|
| Sync — our server asks your provider | every 15 minutes | every 5 minutes, plus webhooks |
| Poll — your browser asks our database | every 30 seconds | every 5 seconds |
Webhooks are what make the Pro numbers interesting
On Pro we also register a webhook with your provider, so most changes do not wait for the 5-minute sweep at all — the provider tells us, and the change is in our database in seconds. Combined with the 5-second poll, that is why a change made in GitLab shows up on a Pro board within seconds.
The scheduled sweep still runs underneath. Webhooks get missed, providers have outages, and a sweep that only ever ran when nothing was wrong would be a sweep you could not trust.
What we deliberately do not say
We do not say "instant", and we will not start. The board is a poll, not a push — your browser asks, on a timer. Push over a persistent connection is a real thing we may build, but it is not built, and describing a 5-second poll as instant would be a small lie that we would then have to keep telling.
Nothing here gates the manual controls
Both the Sync now button and the per-card refresh work the same on every plan. They are not plan-gated and we have no plans to gate them. The cadences above describe what happens when you are not asking; asking is always allowed.
One small piece of housekeeping that falls out of the 5-second poll: it pauses while the browser tab is hidden, and refetches as soon as you come back. A board sitting in a background tab overnight should not spend the night talking to us.
When it goes wrong
The sync-health indicator on the board tells you when a sync is failing, and — this is the part we care about — why, with a link to the section of the real-time documentation that covers that specific failure. A permissions problem and a transient network problem are not the same problem, and an indicator that renders both as a generic warning triangle is not telling you anything you can act on.