Dev UI renders internal output-only events as chat bubbles, and prints events twice when they have both content and output
- Dominant language
- TypeScript
- Stars
- 1.4k
- Forks
- 205
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 98
Description
> Dev UI issue (prebuilt `adk-web` bundle served by `adk web`) — please transfer to google/adk-web if that is the right home.
The workflow contract is "`content` is for the user, `output` is for the next node", but the transcript renders `event.output` as well. An `output`-only event gets its own chat row (the user sees the internal sources array the sample deliberately did not send them), and a node returning a bare string is printed twice, since `function_node.toEvent()` fills `content` and `output` with the same value.
```bash
cd dev # adk-js
npx adk web ../samples/workflows/data_handling --port 8741
# select app `user_message`, send "hello"
```
```
Dev UI shows 5 bubbles:
#2 Beginning research process for "hello"...
#3 Gathering sources...
#4 [0: "source-a", 1: "source-b", 2: "source-c"] <- output-only event, no content
#5 Research complete. 3 sources: ...
"Research complete. 3 sources: ..." <- same value again, as output
adk run prints exactly the 3 intended messages.
```
The events themselves are correct on the wire; only the bubble renderer is wrong. Note the CLI errs in the opposite direction and never renders `event.output` at all (filed separately in adk-js).
Contributor guide
Assessment
This issue has not been assessed yet.