zmuxuny opened a new pull request, #5187: URL: https://github.com/apache/rocketmq-dashboard/pull/5187
### Which Issue(s) This PR Fixes Fixes #5186 ### Brief Description Treat a run stream reaching EOF before its `event: done` control frame as `AiStreamError` (`llm.stream.unexpected_eof`). The server run can outlive its HTTP observer, so EOF alone must not report normal transport completion. Already-delivered events, timeline recovery, normal `done`, structured errors, reader aborts, and idle timeouts retain their behavior. No automatic message retry or server-side cancellation is added. ### How Did You Test This Change? - Seven new regression cases cover send/reattach after partial output, empty and heartbeat-only EOF, a final agent frame without a blank line, a final done frame without a blank line, and reader AbortError propagation. - Before the production fix, the two initial send/reattach cases failed with `promise resolved undefined instead of rejecting`; 27 existing API cases passed. - `npm test -- src/api/ai.test.ts src/pages/ai/hooks/useAgentRun.test.ts src/pages/ai/hooks/useAgentRun.timeline.test.ts src/pages/ai/hooks/useActiveRunAttach.test.ts`: **52 tests passed in four files**. - `npm run lint`: zero errors, 11 existing warnings. - TypeScript and Vite build pass. Aggregate `npm run build` fails at the existing license artifact hash gate; that same gate also fails on unchanged upstream `4ee173ad`. - Full frontend suite with `--maxWorkers=2` is still running; its result will be recorded here. - No backend, live model, database, or broker end-to-end test is claimed. AI assistance was used; the diff and regression results were reviewed. No new dependency or backend change. ### Checklist - [x] One coherent change - [x] Conventional commit subject - [x] Regression tests added - [x] Existing source license headers retained - [ ] Full frontend suite result recorded -- 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]
