Conversation opener visibility #16555

Closed
opened 2026-02-21 19:26:38 -05:00 by yindo · 2 comments
Owner

Originally created by @DavideDelbianco on GitHub (Aug 29, 2025).

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

1.7.2

Cloud or Self Hosted

Cloud

Steps to reproduce

Create a chatflow
Enable the conversation opener
Start the chat using the frontend chat

✔️ Expected Behavior

Conversation opener should always be visible

Actual Behavior

Conversation opener appears after the LLM completes the first answer

Image

Originally created by @DavideDelbianco on GitHub (Aug 29, 2025). ### Self Checks - [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542). - [x] This is only for bug report, if you would like to ask a question, please head to [Discussions](https://github.com/langgenius/dify/discussions/categories/general). - [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones. - [x] I confirm that I am using English to submit this report, otherwise it will be closed. - [x] 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :) - [x] Please do not modify this template :) and fill in all the required fields. ### Dify version 1.7.2 ### Cloud or Self Hosted Cloud ### Steps to reproduce Create a chatflow Enable the conversation opener Start the chat using the frontend chat ### ✔️ Expected Behavior Conversation opener should always be visible ### ❌ Actual Behavior Conversation opener appears after the LLM completes the first answer ![Image](https://github.com/user-attachments/assets/971b0b63-92a9-4d71-a158-73997e93204e)
yindo added the 🐞 buggood first issue labels 2026-02-21 19:26:38 -05:00
yindo closed this issue 2026-02-21 19:26:38 -05:00
Author
Owner

@dosubot[bot] commented on GitHub (Aug 29, 2025):

The conversation opener's visibility is controlled by frontend logic: it only appears when the chat is not responding, there is no active conversation, and required input forms are either filled or hidden. If the chat is waiting for a response from the LLM, or if required inputs are not satisfied, the opener is hidden. This means the opener may appear only after the first LLM answer if the config or input data finishes loading after the chat request, but it's not directly tied to LLM response timing—it's a result of how the UI state and async data loading interact. There’s no explicit prop or timing control for the opener’s appearance; it’s rendered as soon as the data and UI state allow.

A recent update (PR #24623, merged 2025-08-27) changed chatflow start modal behavior, which may improve this experience in newer versions, but does not specifically mention the opener’s timing. For now, minimizing required input fields or ensuring config data loads promptly can help the opener appear as soon as possible. This isn’t a strict bug, but a result of current UI logic. If this behavior is critical, consider monitoring release notes or upgrading to a newer version once the relevant PRs are included.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Chat with Dosu Join Discord Share on X

@dosubot[bot] commented on GitHub (Aug 29, 2025): <!-- Answer --> The conversation opener's visibility is controlled by frontend logic: it only appears when the chat is not responding, there is no active conversation, and required input forms are either filled or hidden. If the chat is waiting for a response from the LLM, or if required inputs are not satisfied, the opener is hidden. This means the opener may appear only after the first LLM answer if the config or input data finishes loading after the chat request, but it's not directly tied to LLM response timing—it's a result of how the UI state and async data loading interact. There’s no explicit prop or timing control for the opener’s appearance; it’s rendered as soon as the data and UI state allow. A recent update ([PR #24623, merged 2025-08-27](https://github.com/langgenius/dify/pull/24623)) changed chatflow start modal behavior, which may improve this experience in newer versions, but does not specifically mention the opener’s timing. For now, minimizing required input fields or ensuring config data loads promptly can help the opener appear as soon as possible. This isn’t a strict bug, but a result of current UI logic. If this behavior is critical, consider monitoring release notes or upgrading to a newer version once the relevant PRs are included. <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/32f24c45-c990-403f-b73e-a60efbce40a1?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/32f24c45-c990-403f-b73e-a60efbce40a1?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/32f24c45-c990-403f-b73e-a60efbce40a1?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/32f24c45-c990-403f-b73e-a60efbce40a1?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/32f24c45-c990-403f-b73e-a60efbce40a1?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/32f24c45-c990-403f-b73e-a60efbce40a1?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/32f24c45-c990-403f-b73e-a60efbce40a1?feedback_type=other)</sup>&nbsp;&nbsp;[![Chat with Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/6088a4f4-073a-43f3-b3d4-4f06fb0c05a0/ask?utm_source=github)&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/langgenius/dify/issues/24779)
Author
Owner

@jussker commented on GitHub (Sep 9, 2025):

v1.7.2 The Conversation Opener message only appears after the first message is sent.

v1.8.1 The Conversation Opener message disappears after the first message is sent.


In previous versions, the Conversation Opener message would be displayed upon entering the chat interface and would not disappear after the first chat message was sent.

The complete chat history should be:

[0] **Conversation Opener** Message

[1] User sends the first message

[2] AI replies to the first message

[n] …

I wasn’t able to compile locally, so I used GPT to edit the compiled code snippet.

v1.8.2 , file: _next/static/chunks/9105-0361137272f21151.js

Roughly, the variable mapping is:

  • V = messageList
  • z = chatList
  • F = isHistoryConversation

Original snippet:

V = (0, l.useMemo)(() => z.filter(e => !e.isOpeningStatement), [z])

Modified snippet:

V=(0,l.useMemo)(()=>{const opening = z.find(e => e.isOpeningStatement); const messages = z.filter(e => !e.isOpeningStatement);return (opening && F) ? [opening, ...messages] : messages;}, [z, F])
@jussker commented on GitHub (Sep 9, 2025): v1.7.2 The **Conversation Opener** message only appears after the first message is sent. v1.8.1 The **Conversation Opener** message disappears after the first message is sent. --- In previous versions, the **Conversation Opener** message would be displayed upon entering the chat interface and would not disappear after the first chat message was sent. The complete chat history should be: ``` [0] **Conversation Opener** Message [1] User sends the first message [2] AI replies to the first message [n] … ``` --- I wasn’t able to compile locally, so I used GPT to edit the compiled code snippet. v1.8.2 , file: _next/static/chunks/9105-0361137272f21151.js Roughly, the variable mapping is: - V = messageList - z = chatList - F = isHistoryConversation **Original snippet:** ``` V = (0, l.useMemo)(() => z.filter(e => !e.isOpeningStatement), [z]) ``` **Modified snippet:** ``` V=(0,l.useMemo)(()=>{const opening = z.find(e => e.isOpeningStatement); const messages = z.filter(e => !e.isOpeningStatement);return (opening && F) ? [opening, ...messages] : messages;}, [z, F]) ```
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#16555