FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

fix(cli): prevent SSE disconnect corruption by gioboa · Pull Request #6924 · google/adk-python · GitHub

fix(cli): prevent SSE disconnect corruption - #6924

Open
gioboa wants to merge 1 commit into
google:mainfrom
gioboa:fix/4029
Open

fix(cli): prevent SSE disconnect corruption#6924
gioboa wants to merge 1 commit into
google:mainfrom
gioboa:fix/4029

Conversation

gioboa commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Link to Issue or Description of Change

Problem:
Disconnecting a /run_sse client cancelled the active agent run. Long-running
tools stopped before completion and left incomplete events in the session.

Solution:
Run the agent lifecycle in a server-managed task and relay events to the SSE client through a bounded queue.
A disconnected client stops receiving events, while the agent run continues and persists its remaining events.
Active tasks are cancelled during server shutdown.

Testing Plan

Unit Tests:

  • I have added or updated unit tests for my change.
  • All unit tests pass locally.

Ran:

uv run pytest tests/unittests/cli/test_fast_api.py
127 passed, 5 skipped, 1 xfailed

The regression test closes the SSE response after its first event and verifies
that the underlying agent run finishes without cancellation.

Manual End-to-End (E2E) Tests:

  1. Started adk web with a temporary agent containing a deterministic model
    and a 20-second asynchronous tool.
  2. Created a session and started /run_sse.
  3. Disconnected the client after the tool started but before it completed.
  4. Waited for the tool to finish and fetched the session.
  5. Sent a follow-up request on the same session.

Observed:

  • The tool completed and was not cancelled.
  • The session contained the user message, function call, function response,
    and final model response.
  • The follow-up request completed successfully.

Checklist

  • I have read the CONTRIBUTING.md document.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have added tests that prove my fix is effective or that my feature works.
  • New and existing unit tests pass locally with my changes.
  • I have manually tested my changes end-to-end.
  • Any dependent changes have been merged and published in downstream modules.

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Loosing SSE session from the browser shouldn't break the agent run

2 participants


Back | FazBrowse Home | New Git URL