iloveeyjafjalla opened a new issue, #6281: URL: https://github.com/apache/rocketmq-dashboard/issues/6281
### Before Creating the Bug Report - [x] Searched all-state Issues/PRs, related public comments and actual relevant PR head diffs. - [x] This is a RocketMQ Studio frontend defect in this repository. - [x] Reproduced on the exact current revision below. ### Studio Version `rocketmq-studio@5e4c39b053c35a5598cc79ff331b8a54e649d7b1`. ### Runtime Environment / Build Toolchain Windows 11, Node 24.15.0, npm 11.12.1. Automated reproduction renders actual AiPage hooks, ChatThread and BubbleList, using controlled existing API/stream boundaries and scroll metrics. No live deployment was used. ### Connected RocketMQ Cluster No cluster or model provider was contacted. This concerns the AI transcript's local unread counter. ### Describe the Bug The thread displays an optimistic user question followed by the live assistant answer. Its unread counter includes only the persisted rows and a nonempty live assistant. When the normal final timeline refresh replaces the optimistic question and live answer with their saved counterparts, the counted total rises by one even though the reader has already seen those messages. ### Steps to Reproduce 1. Open a conversation with earlier history and send a new question. 2. After the question and live answer are visible, scroll up to read the earlier history. There are no unread messages yet. 3. Let the run finish and its normal final timeline refresh return the same question and answer as persisted rows. 4. Observe the Return to latest pill's unread badge. The real-page regression supplies ordinary previous/current-turn user, text and completed events, defers the stream and final history response, and performs the actual send and scroll. It confirms one copy of each final message and the send state before asserting the badge. ### What Did You Expect to See? Saving the already displayed messages should not create an unread notification. Messages that genuinely arrive while reading earlier history should still be counted once, including the pending question and initial waiting assistant. ### What Did You See Instead? Old code shows `1 条新消息` after the same messages are persisted. A second rendered-component regression also finds that the already visible pending question and waiting answer are omitted from the count before the first text delta. ### Additional Context Both new regressions fail against unchanged production code. The related page/component files pass 32/32 after aligning the count with BubbleList's rendering. Existing streamed-token, batch-arrival, removal, reset and scroll behavior remains covered. Full build/lint and frontend-suite results are documented in the PR. Nearby #4715 and #5784/#5791 concern decreasing counts and persisted batches, respectively; their actual changes do not account for the optimistic question in the normal live-to-persisted handoff. AI assistance: OpenAI Codex investigated, implemented and ran automated verification, including separate automated review. No provider inference, live cluster, deployment incident or human approval is claimed. ### Are You Willing to Submit a Pull Request? - [x] Yes. ### Implementation PR https://github.com/apache/rocketmq-dashboard/pull/6280 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
