Summary
Group/channel sessions (e.g. Discord channels) never reset at the daily 4am boundary under the default config (session: null). Main sessions may still reset (especially when heartbeats are enabled), but group/channel sessions persist for many days.
Steps to reproduce
- Use default session config (
session: null).
- Send messages in a group/channel session (e.g. Discord channel).
- Wait past the daily reset boundary (4am).
- Send an inbound message after 4am.
Expected behavior
A new session is created after the daily reset boundary.
Actual behavior
The same session ID persists across the reset boundary. Group/channel sessions can persist for days.
OpenClaw version
2026.2.15
Operating system
macOS 15.6.1 (arm64)
Install method
npm global
Logs, screenshots, and evidence
None included yet.
Impact and severity
Affected: group/channel sessions (Discord channels observed).
Severity: Medium (stale context never resets as expected).
Frequency: Always.
Consequence: Unexpected long-lived context; daily reset policy ineffective.
Additional information
Related to #11520 (idle reset blocked by updatedAt bump). This appears to block daily reset for group/channel sessions as well.
Suspected root cause:
recordInboundSession calls recordSessionMetaFromInbound before reply dispatch: src/channels/session.ts
mergeSessionEntry always sets updatedAt = Math.max(..., Date.now()): src/config/sessions/types.ts
- Freshness check uses
entry.updatedAt: src/auto-reply/reply/session.ts
This makes daily reset checks compare "now" against the reset boundary, which is always fresh.
Summary
Group/channel sessions (e.g. Discord channels) never reset at the daily 4am boundary under the default config (
session: null). Main sessions may still reset (especially when heartbeats are enabled), but group/channel sessions persist for many days.Steps to reproduce
session: null).Expected behavior
A new session is created after the daily reset boundary.
Actual behavior
The same session ID persists across the reset boundary. Group/channel sessions can persist for days.
OpenClaw version
2026.2.15
Operating system
macOS 15.6.1 (arm64)
Install method
npm global
Logs, screenshots, and evidence
None included yet.
Impact and severity
Affected: group/channel sessions (Discord channels observed).
Severity: Medium (stale context never resets as expected).
Frequency: Always.
Consequence: Unexpected long-lived context; daily reset policy ineffective.
Additional information
Related to #11520 (idle reset blocked by updatedAt bump). This appears to block daily reset for group/channel sessions as well.
Suspected root cause:
recordInboundSessioncallsrecordSessionMetaFromInboundbefore reply dispatch:src/channels/session.tsmergeSessionEntryalways setsupdatedAt = Math.max(..., Date.now()):src/config/sessions/types.tsentry.updatedAt:src/auto-reply/reply/session.tsThis makes daily reset checks compare "now" against the reset boundary, which is always fresh.