Skip to content

[Fix] Session follow-ups disappear during active responses - #1954

Draft
roomote-roomote[bot] wants to merge 4 commits into
developfrom
fix/fast-followup-delivery-reliability-1agf9qm9fntwu
Draft

[Fix] Session follow-ups disappear during active responses#1954
roomote-roomote[bot] wants to merge 4 commits into
developfrom
fix/fast-followup-delivery-reliability-1agf9qm9fntwu

Conversation

@roomote-roomote

@roomote-roomote roomote-roomote Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

​Opened on behalf of @daniel-lxs. Follow up by mentioning @roomote-roomote, in the web UI, or in Slack.

What changed

  • Human follow-ups are persisted in the durable Fast parent-event inbox before web, Teams, Telegram, Slack, or Discord reports success.
  • Teams and Telegram route admitted follow-ups through the durable queue without holding webhook requests open for inference, and release ingress dedupe claims when admission fails so provider retries can persist the message.
  • Queued human turns construct MCP, task-launch, and suggestion adapters for the follow-up author rather than the Session owner.
  • Stable provider identities deduplicate retries, and focused tests cover admission failures, retry claims, provider deadlines, actor attribution, queue ordering, finalization, and attachments.

Why this change was made

A Session follow-up could be accepted and recorded at ingress while another response was active, yet still lack a durable or correctly authorized path to inference. This reliability change closes that post-ingress loss window without adding native steering.

Impact

Messages sent while a Session is responding are durably retained before success is reported, provider retries remain usable after admission failures, and each message runs in a subsequent turn under its actual author.

Related PRs

@roomote-community

roomote-community Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

No code issues found. See task

  • apps/api/src/handlers/telegram/index.ts:601 and apps/api/src/handlers/teams/index.ts:2120 still acknowledge shared-surface follow-ups before durable admission completes.
  • apps/api/src/handlers/telegram/index.ts:597 and apps/api/src/handlers/teams/index.ts:2120 consume webhook retries with their pre-admission duplicate claims after an admission failure.
  • apps/api/src/handlers/telegram/index.ts:597 and apps/api/src/handlers/teams/index.ts:2120 wait for an entire idle Fast response instead of detaching it after admission.

Reviewed 2f6bb88

Comment thread packages/sdk/src/server/lib/fast-agent-surface-reply.ts Outdated
@roomote-roomote

roomote-roomote Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor Author

Resolved the full admission/retry chain through f55540537, 0881bc25a, and 2f6bb8824. Durable storage precedes acknowledgement, Teams/Telegram release dedupe claims on failure and do not wait for inference, and queued turns use the message author's adapters. Focused API/SDK tests and pre-push gates pass. The previously failing Fresh-host Backup Restore rerun passed; its earlier Postgres health failure was transient and unrelated to this diff.

Comment thread apps/api/src/handlers/telegram/index.ts Outdated
Comment thread apps/api/src/handlers/teams/index.ts Outdated
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