Skip to content

Multi-swap renders artifact/duplicate quote boxes #12223

@premiumjibles

Description

@premiumjibles

Problem

When doing multiple swaps in one message (e.g. "badger and req sell for usdc"), the UI renders artifact/duplicate quote boxes. Swaps execute serially (correct) but all cards render simultaneously, and failed cards stay fully expanded.

tk ticket: sa-lgqo
Repro: Request 2+ swaps in one message. Observe redundant quote boxes.

Root Cause (3 factors)

  1. Simultaneous card rendering with serial execution — Both InitiateSwapUI mount at once but execution is serialized via withWalletLock. Second card shows full quote but stepper is stuck waiting.
  2. Failed swaps leave full cards visible — No collapsed/minimized state for completed or failed swaps.
  3. LLM retries in multi-step loop — With stepCountIs(5), LLM may retry failed swaps, producing a third card.

Proposed Fix

Option C (minimal): Auto-collapse completed/failed swap cards to single-line summary so only active swap shows full detail.

Key Files

  • apps/agentic-chat/src/components/tools/InitiateSwapUI.tsx — needs collapsed state
  • apps/agentic-chat/src/components/tools/useSwapExecution.tsx
  • apps/agentic-chat/src/lib/walletMutex.ts — serializes ops but UI unaware
  • apps/agentic-chat/src/components/AssistantMessage.tsx — renders tool parts independently

Acceptance Criteria

  • Multi-swap doesn't show redundant artifact quote boxes
  • Each swap shows appropriate visual state (pending/active/complete/failed)
  • Failed swaps visually de-emphasized when others still executing
  • Single-swap behavior unchanged

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions