Skip to content

fix(threads): recover cleanly when turn/steer fails #465

@amanthanvi

Description

@amanthanvi

Summary

Fix confusing stuck states when a follow-up message is sent as turn/steer and steering fails.

Part of #343.

Problem

Current steer failure paths can leave processing/active-turn state stale, and the user can end up in unclear queue/steer behavior with no obvious recovery path.

Scope

  • Extend send flow with explicit send intents (default | queue | steer)
  • Handle steer error responses and exceptions distinctly
  • On steer failure:
    1. clear stale processing + active-turn state
    2. automatically enqueue the message payload (text/images/app mentions)
    3. show clear user-facing message indicating steer failed and message was queued
  • Keep queue pause/flush behavior for request-user-input states unchanged

Acceptance Criteria

  • Steer RPC error clears stale state and queues the message
  • Steer exception path behaves the same
  • Queued fallback messages remain editable/deletable and flush normally
  • No fallback to turn/start from a failed steer attempt
  • Tests cover steer-failure recovery and queue fallback behavior

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions