Skip to content

Conversation forks: bot self-messages can refresh idle TTL and prevent expiry #47

Description

@Anarchid

Found during review of #41. Follow-up; adapter-dependent.

Problem

route() refreshes lastActivity on every incoming channel-incoming message (src/mcpl/conversation-router.ts:162). If a platform adapter echoes the bot's own published messages back as incoming — and self-filtering is a per-adapter concern, not guaranteed — then a fork that posts to its channel resets its own idle TTL. An engagement that talks to itself never expires.

Suggested fix

Don't refresh TTL on messages authored by the bot. Either filter self-authored messages before route(), or pass an isSelf/author signal into IncomingMessageFacts and skip the lastActivity bump.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions