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

   ### Before Creating the Bug Report
   
   - [x] I have searched the [open 
issues](https://github.com/apache/rocketmq-dashboard/issues) of this repository 
and believe that this is not a duplicate.
   
   - [x] This is a defect in RocketMQ Studio, not a usage question and not a 
defect in another Apache RocketMQ repository.
   
   - [x] I can reproduce this on the current `master` branch, or I have stated 
the exact version I am running below.
   
   
   ### Studio Version
   
   rocketmq-studio at 127c47b06a268cc74224d5f34c56ec7c36ac0d55
   
   ### Runtime Environment
   
   Linux, Node.js 24.19.0, Vitest/jsdom with the real AiPage and a deferred 
first stream frame.
   
   ### Connected RocketMQ Cluster
   
   No live model provider or RocketMQ cluster is needed for the frontend 
regression.
   
   ### Build Toolchain
   
   _No response_
   
   ### Describe the Bug
   
   Immediately after Send, the composer presents an enabled Stop control before 
run_started supplies a run ID. Clicking it or pressing Escape does nothing 
because useAgentRun.stop has no run to address. The hook already exposes 
canStop, documented for disabling the button until the ID arrives, but AiPage 
does not pass it to the composer.
   
   ### Steps to Reproduce
   
   1. Send an AI message while delaying the first run_started stream frame.
   2. Observe that Stop is already enabled during this interval.
   3. Click Stop or press Escape: no stop request can be sent.
   4. Deliver run_started with a run ID; only now can a stop target the active 
run.
   A real AiPage regression holds the first frame and fails the pre-frame 
disabled assertion against unchanged production code.
   
   ### What Did You Expect to See?
   
   The Stop control should be disabled, and Escape should not dispatch stop, 
until the active run is stoppable. Once run_started supplies its ID, the same 
control should enable and stop that run.
   
   ### What Did You See Instead?
   
   Stop appears enabled before a run ID exists, so an operator receives no 
useful indication that the action cannot yet be performed.
   
   ### Additional Context
   
   All-state dedup searches covered canStop and stop/admission. #4613/#4614 
concern seeding IDs on reattachment; backend stop-admission races are separate. 
This is the missing UI wiring of the existing hook contract. No backend 
protocol or cancellation redesign is proposed. AI assistance was used for 
source analysis and regression testing.
   
   ### Are You Willing to Submit a Pull Request?
   
   - [x] Yes, I am willing to submit a pull request.


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