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]
