Describe the bug
Reloading the dev UI on a session that used a RemoteA2aAgent renders only the events that precede the remote agent's first event. Everything after it is missing from the UI, although the session API returns it.
buildUiEventFromEvent passes event.content?.parts straight into combineA2uiDataParts when the event carries a2a:response custom metadata (chat.component.ts:2722). A remote agent's task-status events carry that metadata and have no content, so the loop over parts throws TypeError: parts is not iterable. On session load, updateWithSelectedSession calls appendEventRow in a bare forEach, so the throw aborts the loop and every later event is dropped. Live streaming is unaffected, because that call site catches.
To reproduce
- Run an agent that has a
RemoteA2aAgent sub-agent.
- Send a message and let the run finish — the UI renders it correctly.
- Reload the page and open the same session.
- Only the events before the remote agent's first event are shown.
Expected behavior
The reloaded session shows the same history as the finished run.
Version
chat.component.ts:2722 on main; observed through the bundle shipped in google-adk 2.8.0.
Describe the bug
Reloading the dev UI on a session that used a
RemoteA2aAgentrenders only the events that precede the remote agent's first event. Everything after it is missing from the UI, although the session API returns it.buildUiEventFromEventpassesevent.content?.partsstraight intocombineA2uiDataPartswhen the event carriesa2a:responsecustom metadata (chat.component.ts:2722). A remote agent's task-status events carry that metadata and have no content, so the loop overpartsthrowsTypeError: parts is not iterable. On session load,updateWithSelectedSessioncallsappendEventRowin a bareforEach, so the throw aborts the loop and every later event is dropped. Live streaming is unaffected, because that call site catches.To reproduce
RemoteA2aAgentsub-agent.Expected behavior
The reloaded session shows the same history as the finished run.
Version
chat.component.ts:2722on main; observed through the bundle shipped ingoogle-adk2.8.0.