BuilderIO / BuilderIO/agent-native
Transient inline extensions stay fully interactive after the user has answered
- 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