Skip to content

fix: address review feedback for calls feature#5255

Merged
noanflaherty merged 1 commit into
mainfrom
swarm-task-8
Feb 19, 2026
Merged

fix: address review feedback for calls feature#5255
noanflaherty merged 1 commit into
mainfrom
swarm-task-8

Conversation

@noanflaherty
Copy link
Copy Markdown
Contributor

@noanflaherty noanflaherty commented Feb 19, 2026

Summary

Verified

Test plan

  • call-orchestrator tests pass (8/8)
  • call-state tests pass (10/10)
  • call-store tests pass (23/23)
  • No new TypeScript errors introduced

Open with Devin

…ate, provider termination, error handling

Co-Authored-By: Claude <noreply@anthropic.com>
@noanflaherty noanflaherty self-assigned this Feb 19, 2026
@noanflaherty noanflaherty merged commit 5142b60 into main Feb 19, 2026
@noanflaherty noanflaherty deleted the swarm-task-8 branch February 19, 2026 19:10
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 5 additional findings.

Open in Devin Review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bcb5bf1e23

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

if (session.providerCallSid) {
try {
const provider = new TwilioConversationRelayProvider();
await provider.endCall(session.providerCallSid);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Avoid blocking teardown on provider hangup call

This await provider.endCall(...) runs before relay/orchestrator cleanup, so call termination now depends on Twilio responsiveness; when Twilio/network is slow or stalls, call_end can hang and never reach the local cleanup path, leaving the active relay/orchestrator alive instead of ending promptly. Because endCall uses a plain fetch without an abort timeout, this regression can surface during provider incidents and prevents the tool from reliably stopping calls.

Useful? React with 👍 / 👎.

Comment on lines +122 to +124
updateCallSession(sessionId, {
status: 'failed',
endedAt: Date.now(),
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Don’t mark session failed after post-initiation errors

The new catch-path update applies to any exception after sessionId is assigned, including failures that happen after Twilio has already accepted the outbound call (for example, an error persisting providerCallSid), so we can persist status: 'failed'/endedAt while the call is actually live. That corrupts lifecycle state and can hide an active call from getActiveCallSessionForConversation, so this failed transition should be limited to genuine initiation failures.

Useful? React with 👍 / 👎.

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