Snooze & Time
Snooze Basics
Snoozing sets a task's due_at to a new time. The task reappears when that time arrives. For recurring tasks, the original recurrence schedule is preserved — snoozing only affects the current occurrence.
First snooze tracking
- The first snooze saves the original
due_attooriginal_due_at - Subsequent snoozes preserve the existing
original_due_at snooze_countincrements on every snooze (including bulk) and is never reset
Bulk Snooze
The bulk snooze button is the primary workflow action. It sits in the top bar and snoozes all overdue tasks in one tap.
Filtering rules
| Condition | Included in bulk snooze? |
|---|---|
| Has a due date | Required |
| No due date | Excluded |
Overdue (due_at < now) | Required |
| Not yet due | Excluded |
| Priority 0-3 | Yes |
| Priority 4 (Urgent) | Never — must be snoozed individually |
| Done / deleted / archived | Excluded |
Default snooze duration
The default bulk snooze pushes tasks forward by the user's configured duration (default: 1 hour). Users can change this in Settings. Options include 30 minutes, 1 hour, 2 hours, or "tomorrow morning" (at the user's configured morning time).
Time Rounding
When snoozing by 1 hour or more, the target time is rounded to the nearest hour using a 35-minute threshold:
- Minutes < 35: round down (truncate to current hour)
- Minutes >= 35: round up (advance to next hour)
Examples (snooze +1 hour):
| Current time | +1 hour | Rounded to |
|---|---|---|
| 2:15 PM | 3:15 PM | 3:00 PM |
| 2:34 PM | 3:34 PM | 3:00 PM |
| 2:35 PM | 3:35 PM | 4:00 PM |
| 2:50 PM | 3:50 PM | 4:00 PM |
Sub-hour snoozes (e.g., +30 minutes) use the exact time with no rounding.
Snooze Surfaces
OpenTask provides consistent snooze behavior across all interfaces:
| Surface | Actions available |
|---|---|
| Dashboard top bar | Bulk snooze all overdue (one tap) |
| Dashboard long-press | Bulk snooze with custom duration |
| Task detail panel | Preset times, hour increments/decrements |
| Multi-select action bar | Bulk snooze selected tasks |
| iOS notification (banner) | Done, +1hr, All +1hr |
| iOS notification (long-press) | Interactive snooze grid |
| Apple Watch | Done, +1hr, All +1hr |
Recurring Task Snooze
Snoozing a recurring task only changes due_at — the recurrence rule (rrule) is preserved. When the snoozed task is completed, the next occurrence is computed from the original recurrence schedule, not the snoozed time.
Example: A daily 9:00 AM task snoozed to noon and then completed will regenerate as due at 9:00 AM tomorrow.
