Skip to content

Comments

Add session timeout with lazy auto-archival#1

Merged
mremond merged 1 commit intomainfrom
session-timeout
Feb 10, 2026
Merged

Add session timeout with lazy auto-archival#1
mremond merged 1 commit intomainfrom
session-timeout

Conversation

@mremond
Copy link
Member

@mremond mremond commented Feb 10, 2026

Summary

  • Add configurable idle session timeout ([session] idle_timeout_mins) that auto-archives stale sessions on next inbound message (lazy evaluation, no background timer)
  • Freshness check integrated in all 4 message handlers (1:1 chat, MUC, reactions, attachments)
  • /status reports session timeout configuration
  • Update XEPS.md with keepalive documentation improvements
  • Update README and ROADMAP to reflect the new feature

When `idle_timeout_mins` is set, the runtime checks the session file's
modification time on each inbound message. If idle longer than the
configured threshold, the session is archived (same as `/new`) before
processing. This is lazy evaluation — no background timer — and works
per-user and per-room across all four message handlers.

Also updates XEPS.md with keepalive documentation improvements.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mremond mremond merged commit b830f0c into main Feb 10, 2026
2 checks passed
@mremond mremond deleted the session-timeout branch February 10, 2026 14:36
mremond added a commit that referenced this pull request Feb 10, 2026
When `idle_timeout_mins` is set, the runtime checks the session file's
modification time on each inbound message. If idle longer than the
configured threshold, the session is archived (same as `/new`) before
processing. This is lazy evaluation — no background timer — and works
per-user and per-room across all four message handlers.

Also updates XEPS.md with keepalive documentation improvements.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant