Bug: sendFollowUpMessage() causes temporary duplicated chat content (Button clicks in Apps SDK)

Hi OpenAI team,

I found a UI rendering bug that occurs when clicking a button inside a widget (Apps SDK).

Steps to reproduce:

  1. Open a conversation that contains one or more widgets.
  2. Click a button inside a widget.
  3. Observe the chat area while the next widget/content is loading.

Actual behavior:

  • The chat does not automatically scroll down to the latest content.
  • The previous chat content appears duplicated.
  • Older widgets from the conversation are rendered twice temporarily, as a result.
  • After a few seconds, the duplicated content disappears and the selected widget for the current prompt appears correctly.

Expected behavior:

  • After clicking the widget button, the chat should auto-scroll to the latest message/content.
  • The previous chat history containing widgets should not be rendered twice, even temporarily.
  • The newly selected widget should appear without a transient duplicated-chat state.

I’m seeing a similar issue when approving consequential tool calls.

The chat contents (including widgets) are duplicated. Eventually the chat re-renders and the duplication disappears.

This is not a widget specific issue, even when I remove the widget from the app completely I’m still seeing duplicated chat contents.

This seems to be a common issue, I’ve tested several other apps from the ChatGPT app store and every tool approval button click seems to reproduce this issue.

When I send a followup message from a widget I always see a weird behaviour:
The message is sent
the chat starts streaming
it shows or better flashes the previously loaded widget and conversation
widget disappears
model answers the followup message

@OpenAI_Support Do you have any updates on this? The issue is unfortunately persistent. I can also provide a screen recording if that’d help you.

@OpenAI_Support , any updates on the mentioned behaviour as this also seems to occur in normal tool calls that has widget for certain apps, while tool call is happening two UI frames load and when the tool call is responded one of them vanishes and shows response correctly.

@Vandan.Sojitra

Are you seeing the same issue where the widget appears to load twice while the tool call is in progress, and then one of the widget instances disappears once the tool response arrives, leaving only a single rendered widget?

While the tool call is being prepared or in progress, the entire chat history gets temporarily duplicated, also including all previous rendered widgets.

As soon as the tool is selected and initialized by ChatGPT, the duplicated chat history gets cleaned up and the proper tool starts to render.

For me, this issue is still reproducible unfortunately.

Interesting. I haven’t observed that specific behavior. In my case, I only see the widget loading twice while the tool call is in progress, and one of the instances disappears once the response is returned.

Would you mind sharing screenshots or a screen recording of the issue you’re seeing? I’d like to compare it with what I’m experiencing

Yes exactly similar duplications of widget happens randomly when tool call is happening.