BuilderIO / BuilderIO/agent-native

Transient inline extensions stay fully interactive after the user has answered

Open
#4,661 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
4.8k
Forks
449
Avg merge
10h 24m
Merged PRs (30d)
883

Description

# Transient inline extensions stay fully interactive after the user has answered

**Version:** `@agent-native/core` 0.176.4.

**What happens.** A `render-inline-extension` control whose buttons call `agentNative.chat.send(label, { submit: true })` remains clickable after the user's message was sent. Clicking again re-sends the answer into a conversation that has moved on. There is no framework state for "this control produced a message" and no way for the extension to know it did.

**Expected.** Either the framework marks the extension as answered when a `chat.send` with `submit: true` originates from it (disable or dim the frame, keep it in the transcript as a record), or the bridge exposes a promise or event so the extension can disable itself.

**Workaround used.** Skill instruction not to re-render the same question; the answered control is left active.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the render-inline-extension control and the agentNative.chat.send(label, { submit: true }) call path. Trace how submitted messages move through the bridge, then make an answered control non-interactive while retaining it in the transcript, or identify the bridge signal an extension can use to disable itself; verify repeated clicks no longer resend the answer.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, typescript
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.