openclaw/docs/reference
Peter Steinberger d63df96b48
feat(sessions): snooze sessions from the sidebar menu (#161960)
* feat(sessions): snooze sessions from the sidebar menu

Active session lists need a way to defer a conversation without archiving
it or interrupting its work.

Store and protocol retain optional wake and set timestamps in entry JSON
and row snapshots, reserving the core names against plugin slot collisions.
Scoped patches validate durable identity, future wake
times, and eligible roots. Pin and archive clear snooze; snooze keeps pin.

Gateway user interactions and completed activity clear snooze against the
current entry, including snoozes set during a run. System events and
preserved-state runs keep it. Existing row publications carry the change.

The Control UI sidebar adds calendar-aware presets, Snoozed filtering,
Wake and Undo actions, localized wake labels, and deadline invalidation
through the existing attention controller. Root rows reuse the existing
trail, and adopted catalog rows share the visibility projection.

Docs explain the active-session overlay and patch contract. Coherent
sibling modules and shared test fixtures keep the original owners within
their line budgets without removing coverage.

Release-note context: snooze a sidebar session until a preset time, send
it a message, or let its run finish to bring it back. Snoozing never stops
or blocks the session, and its Gateway-owned state follows every client.

* chore(sessions): restore the plugin-seam note on lifecycle timestamps

* fix(ui): keep snooze preset times compact and teach the mock fixture snooze

The Snooze submenu labels already name the day ("Tomorrow"), so the time
column now shows only the clock time except for "Next week", which keeps
its weekday. The shared Control UI session fixture now applies snoozedUntil
patches with the same rules as the Gateway (null wakes, archive and pin
clear, a new wake time restamps), so the mocked dev server and e2e harness
hide and restore snoozed rows like a real Gateway.

* fix(sessions): drop snooze metadata when an entry is archived

Automatic archival (active-session cap, age retention, stale dashboards)
writes archive facts without the sessions.patch path, so a snoozed session
kept its wake time through the archive and a later restore left it hidden
from the Active list. The canonical entry shape now removes snoozedUntil
and snoozedAt from any archived entry, which covers every persisted write,
every read projection, and the existing-entry projection the restore patch
uses.

* chore(protocol): regenerate Swift models for session snooze fields

* test(gateway): keep the snooze session-utils test in inventory order

* test(ui): walk the Snoozed status option in the sidebar filter keyboard test

* test(ui): expect Snoozed after one arrow from Active in the owner filter e2e
2026-09-30 14:32:33 -07:00
..
database-schemas refactor(doctor): observe serving Gateway ownership off thread (#162021) 2026-09-30 14:11:57 -07:00
full-release-validation feat(release): let a release lead record an exact-job flake instead of blocking publication (#161515) 2026-09-30 04:31:07 +00:00
session-management-compaction feat(sessions): snooze sessions from the sidebar menu (#161960) 2026-09-30 14:32:33 -07:00
templates improve(agents): stop agents refusing or arguing over requested work (#157447) 2026-09-24 16:16:21 -05:00
test fix(test): Gateway fixtures overlap in parallel runs (#161880) 2026-09-30 14:14:10 +00:00
AGENTS.default.md improve(agents): stop agents refusing or arguing over requested work (#157447) 2026-09-24 16:16:21 -05:00
api-usage-costs.md docs: fix verified accuracy findings in channels, cli, nodes, and reference (#143950) 2026-09-10 18:58:15 +08:00
credits.md docs: fix and reciprocate cross-page links across install, help, reference, start, and web (#143773) 2026-09-10 15:35:25 +09:00
database-schemas.md perf(state): retire periodic runtime integrity scans (#162015) 2026-09-30 19:44:01 +00:00
device-models.md
full-release-validation.md fix(ci): preserve first failures through release validation 2026-09-23 18:27:19 -07:00
memory-config.md fix(bedrock): memory indexing fails under instance metadata throttling (#161164) 2026-09-29 20:39:49 +08:00
openclaw-ai.md docs: fix 12 concrete defects from the ux audit remainder (#144128) 2026-09-25 17:28:14 +08:00
prompt-caching.md fix(active-memory): recalls on claude-cli never reuse the prompt cache (#160768) 2026-09-29 04:52:53 +05:30
pull-request-review-flow.md fix(scripts): prevent host tooling drift from blocking PR workflows (#152078) 2026-09-18 14:34:18 -07:00
release-performance-sweep.md
RELEASING.md feat(release): let a release lead record an exact-job flake instead of blocking publication (#161515) 2026-09-30 04:31:07 +00:00
rich-output-protocol.md fix: resend inbound attachments referenced from chat history (#158720) 2026-09-26 21:02:02 +05:30
rpc.md
secret-placeholder-conventions.md docs: fix 12 concrete defects from the ux audit remainder (#144128) 2026-09-25 17:28:14 +08:00
secretref-credential-surface.md refactor: retire the TaskFlow Webhooks plugin (#158225) 2026-09-25 20:29:15 -07:00
secretref-user-supplied-credentials-matrix.json refactor: retire the TaskFlow Webhooks plugin (#158225) 2026-09-25 20:29:15 -07:00
session-management-compaction.md
test.md
token-use.md fix(codex): restore installed skills with catalog-backed models (#140422) 2026-09-24 14:59:15 -07:00
transcript-hygiene.md feat: refresh plugin tools within active agent conversations (#145648) 2026-09-12 03:53:24 -07:00