Skip to content

Thread lifecycle: snooze #527

Description

@Tryanks

Summary

Add snooze: hide a thread from the active list until a chosen time, following T3 Code.

Spec

  • SessionMeta.snoozed_until, snoozed_at. Snooze is an overlay on active, not a fourth destination.
  • Presets: 1 hour, 3 hours, this evening at 18:00 (only when more than an hour away), tomorrow at 09:00, next Monday at 09:00, custom.
  • The wake time must be in the future. Pending approval, pending user input or a queued turn blocks snoozing; a running session does not.
  • Waking: the host schedules a wake at snoozed_until (reuse the scheduled-wake mechanism). A user message clears the snooze.
  • Raise a hand: a snoozed thread reappears in the active list, without clearing the snooze, on an approval or input request, a fresh error, or a completion after the snooze started.
  • Settling clears snooze; pinning clears snooze.
  • Sidebar: a collapsed "Snoozed" section between active and settled, showing the wake time.
  • Undo toast, shared with settle.
  • Protocol: SnoozeSessions { session_ids, until }, UnsnoozeSessions.

Depends on #526 (shared state model, sweep and undo toast).

Reference

T3 Code: migration 034, decider.ts snooze rules, threadSettled.ts presets and raise-hand rules, #4311.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions