Aias00 opened a new issue, #6992: URL: https://github.com/apache/rocketmq-dashboard/issues/6992
## Branch `rocketmq-studio` at c34535db0819d02f68e50a856cb3d2614f0dc5dd. ## Problem `useConversationTimeline.refetch()` reads from seq 0 for at most 25 pages of 200 events and resolves successfully even when a forward cursor remains. `useAgentRun.finishStream()` then drops the live answer and optimistic user message, although those rows can lie beyond the refreshed prefix. A refresh can also discard pages already loaded with Load More. This is a UI handoff problem, not database data loss. ## Reproduction Use a conversation with more than 5000 persisted events, send a message and wait for completion. The new answer is visible while streaming but disappears when the bounded refresh replaces history and the live blocks are cleared. The same behavior is reproducible with the real hooks and a smaller test page budget. ## Design and implementation - Distinguish a bounded partial refresh from a completed history handoff: the finalizer must retain live blocks and the optimistic prompt when the read does not reach the tail. - Preserve previously loaded history. A refresh should cover its existing loaded cursor before applying the extra paging budget; a truncated refresh must not overwrite that snapshot. - Keep initial loading and explicit Load More bounded; do not replace the safeguard with an unlimited request loop. - Add real-hook regression tests for truncated completion and refreshes after Load More, while retaining existing navigation and concurrent-request guards. ## Validation Targeted timeline/run hook tests, TypeScript checking, ESLint and production web build. -- 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]
