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]

Reply via email to