fix: preserve live resumption transparency#5784
Conversation
3538438 to
73ea2e2
Compare
|
Rebased this onto current Validation: |
73ea2e2 to
22eaa0e
Compare
|
Rebased onto current main again; no code changes beyond the rebase.\n\nValidation on Windows:\n- uv run --no-sync pytest tests\unittests\flows\llm_flows\test_base_llm_flow.py -q --basetemp .tmp\pytest-5784-20260524 -p no:cacheprovider -> 31 passed, 1 existing experimental warning\n- uv run --no-sync pyink --check src\google\adk\flows\llm_flows\base_llm_flow.py tests\unittests\flows\llm_flows\test_base_llm_flow.py\n- uv run --no-sync python -m py_compile src\google\adk\flows\llm_flows\base_llm_flow.py tests\unittests\flows\llm_flows\test_base_llm_flow.py\n- git diff --check upstream/main..HEAD |
22eaa0e to
1e2e450
Compare
|
Rebased onto current upstream/main. Current head is 1e2e450. Validation on Windows after rebase:
The warning is the existing experimental JSON_SCHEMA_FOR_FUNC_DECL warning from this test file. |
|
Hi @he-yufeng , Thank you for your contribution! We appreciate you taking the time to submit this pull request. Your PR has been received by the team and is currently under review. We will provide feedback as soon as we have an update to share. |
|
Hi @wyf7107 , please review this. |
Summary
session_resumption.transparent = Truewhenrun_live()reconnects with a saved handleSessionResumptionConfig.transparentvalue intactWhy
Gemini Developer API supports live session resumption, but not transparent session resumption. The reconnect path was mutating the config from a basic resumption request into transparent resumption, which makes Gemini reject the reconnect.
To verify
uv run pytest tests/unittests/flows/llm_flows/test_base_llm_flow.py -quv run pyink --check src/google/adk/flows/llm_flows/base_llm_flow.py tests/unittests/flows/llm_flows/test_base_llm_flow.pygit diff --checkFixes #5771