Skip to main content

Autosave heartbeat

Use schedules when a running timer should own a cadence callback. This fits draft autosave, heartbeat pings, presence updates, and lightweight status refreshes.

Autosave heartbeatLive

Autosave heartbeat

Waiting for first save
idle
Cadence2s
Overlapskip
Saves0
  1. first autosave runs on start
const timer = useScheduledTimer({
autoStart: true,
schedules: [
{
id: 'autosave',
everyMs: 5000,
overlap: 'skip',
callback: async () => {
await saveDraft();
},
onError: error => {
reportAutosaveError(error);
},
},
],
});