iloveeyjafjalla opened a new issue, #6296:
URL: https://github.com/apache/rocketmq-dashboard/issues/6296

   ### Before Creating the Bug Report
   
   - [x] Searched all-state Issues/PRs and read related current full head 
differences and all public comments.
   - [x] This is a RocketMQ Studio frontend issue in this repository.
   - [x] Reproduced on the exact baseline below.
   
   ### Studio Version
   
   `rocketmq-studio@5e4c39b053c35a5598cc79ff331b8a54e649d7b1`.
   
   ### Runtime Environment / Build Toolchain
   
   Windows 11, Node 24.15.0, npm 11.12.1. Automated reproduction renders the 
actual ConversationListModal and its normal hook with controlled list/update 
responses; no deployed incident or external model/database interaction is 
claimed.
   
   ### Connected RocketMQ Cluster
   
   No broker or database contacted. The affected path is the ordinary Studio AI 
conversation-history list and archive API.
   
   ### Describe the Bug
   
   `toggleArchive` awaits the archive update and calls `reload` captured when 
it began. `useConversationList` defines that callback using the old `load`, 
which closes over the old page/search/archive criteria. If the user changes the 
list scope during the update, the old continuation starts a fresh old-scope 
request after the current list loaded. The normal request-id guard treats that 
newly started request as current, so its results overwrite the visible list 
without restoring the old selector.
   
   ### Steps to Reproduce
   
   1. Open conversation history with an active conversation available to 
archive and an existing archived conversation.
   2. Click the active row's archive button; keep that normal update pending.
   3. Switch the actual scope control to Archived. Let its list query succeed 
and show the archived conversation.
   4. Let the earlier archive update finish.
   5. The callback reloads Active (`archived: false`). Active rows replace the 
archived rows while the scope still says Archived, so row action wording no 
longer matches those records.
   
   The deterministic real-modal regression supplies coherent page-1 lists 
according to actual criteria. Before the archive finishes it shows an existing 
archived row; after finishing, old code loses that row and issues the wrong 
scope query. No invalid pagination count or malformed record is required.
   
   ### What Did You Expect to See?
   
   After archive completion, refresh the current visible query. Archived rows 
remain under Archived, including the newly archived conversation. A retained 
callback should not revive a departed list.
   
   ### What Did You See Instead?
   
   An earlier callback issues the previous query and overwrites current rows. 
Existing late-response tests do not cover an old callback starting a new 
wrong-query request later.
   
   ### Additional Context
   
   Current #6053 / #6050 handles deletion's current-conversation navigation 
context; #5454 handles duplicate deletes, #5540 selection across pages, and 
earlier page-clamp work handles shrinking totals. Their actual patches/comments 
do not fix the archive continuation's captured query. This report does not 
claim to repair deletion's separate captured previous-page fallback.
   
   The proposed fix invalidates the current query via a stable reload callback, 
leaving existing stale-read guards intact. Actual validation and AI assistance 
are documented in the PR. No schema, backend, ownership/permission or API 
contract change is proposed. AI assistance: OpenAI Codex investigated, 
implemented and tested this ordinary frontend path, with independent automated 
review; no human/maintainer approval is claimed.
   
   ### Are You Willing to Submit a Pull Request?
   
   - [x] Yes.
   
   ### Implementation PR
   
   https://github.com/apache/rocketmq-dashboard/pull/6295
   


-- 
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