Loyal-Young opened a new pull request, #6438: URL: https://github.com/apache/rocketmq-dashboard/pull/6438
### Which Issue(s) This PR Fixes Fixes #6432 ### Brief Description The server can emit a completed tool result without a tool name when its start was not observed (`AgentEventProjectorTest.toolDoneWithoutARememberedStartHasNoDurationTest` documents this shape). The web renderer kept the result but called `startsWith` on its null/omitted name, crashing the transcript. Guard the wire value in the shared display-name helper, show a localized unknown-tool label, and skip catalog matching when no name exists. The result and completion status remain visible. Both persisted history and live reducers are covered. ### How Did You Test This Change? - `vitest run src/pages/ai/components/__tests__/ToolBlock.test.tsx src/pages/ai/render --pool=threads --maxWorkers=1`: **50 passed across 3 files**. - All four new cases (live/history, null/omitted name) failed with the original `startsWith` TypeError before the fix. They now check the rendered result, success status and absence of an invented catalog risk. - Prettier and ESLint on changed files; full application TypeScript check; `git diff --check`: passed. No live AI provider or browser end-to-end test was run. ### Checklist - [x] One coherent fix with regression tests ending in `Test` - [x] Chinese and English entries for the new fallback label - [x] Conventional Commit subject; no new source files ### AI Assistance AI assistance was used to inspect the server event contract and frontend reducers, draft the fix and tests, and execute the checks listed above. -- 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]
