Skip to content

Conversation

@rabi
Copy link
Contributor

@rabi rabi commented Jan 8, 2026

Summary

Change streaming to use SignedTextAsRegularText instead of SkipSignedText. Signatures are tracked via last_signature and attached to function calls through effective_signature = signature.or(last_signature).

Gemini 2.5 models include thoughtSignature on the first streaming chunk regardless of whether function calls follow. The old SkipSignedText behavior discarded text parts with signatures, causing content loss.

Signature placement by model:

  • Gemini 2.5: first part (with or without function calls)
  • Gemini 3 with function calls: first function call part
  • Gemini 3 without function calls: last part if thought generated

Type of Change

  • Feature
  • Bug fix
  • Refactor / Code quality
  • Performance improvement
  • Documentation
  • Tests
  • Security fix
  • Build / Release
  • Other (specify below)

AI Assistance

  • This PR was created or reviewed with AI assistance

Testing

Unit test and tested with 2.5 models locally to verify the fix for their unique behaviour.

@rabi rabi force-pushed the 2.5-pro branch 2 times, most recently from bd41b85 to 7ccce2f Compare January 8, 2026 15:51
Change streaming to use SignedTextAsRegularText instead of SkipSignedText.
Signatures are tracked via last_signature and attached to function calls
through effective_signature = signature.or(last_signature).

Gemini 2.5 models include thoughtSignature on the first streaming chunk
regardless of whether function calls follow. The old SkipSignedText
behavior discarded text parts with signatures, causing content loss.

Signature placement by model:
- Gemini 2.5: first part (with or without function calls)
- Gemini 3 with function calls: first function call part
- Gemini 3 without function calls: last part if thought generated

Signed-off-by: rabi <[email protected]>
@rabi
Copy link
Contributor Author

rabi commented Jan 9, 2026

@jamadeo Hey! PTAL. This would fix a unique behavior of Gemini 2.5 models.

@jamadeo jamadeo merged commit a153c06 into block:main Jan 9, 2026
18 checks passed
wpfleger96 added a commit that referenced this pull request Jan 9, 2026
* main: (89 commits)
  fix(google): treat signed text as regular content in streaming (#6400)
  Add frameDomains and baseUriDomains CSP support for MCP Apps (#6399)
  fix(ci): add missing dependencies to openapi-schema-check job (#6367)
  feat: http proxy support
  Add support for changing working dir and extensions in same window/session (#6057)
  Sort keys in canonical models (#6403)
  added validation and debug for invalid call tool result (#6368)
  Update MCP apps tutorial: fix _meta structure and version prereq (#6404)
  Fixed fonts (#6389)
  Update confidence levels prompt injection detection to reduce false positive rates (#6390)
  Add ML-based prompt injection detection  (#5623)
  docs: update custom extensions tutorial (#6388)
  fix ResultsFormat error when loading old sessions (#6385)
  docs: add MCP Apps tutorial and documentation updates (#6384)
  changed z-index to make sure the search highlighter does not appear on modal overlay (#6386)
  Handling special claude model response in github copilot provider (#6369)
  fix: prevent duplicate rendering when tool returns both mcp-ui and mcp-apps resources (#6378)
  fix: update MCP Apps _meta.ui.resourceUri to use nested format (SEP-1865) (#6372)
  feat(providers): add streaming support for Google Gemini provider (#6191)
  Blog: edit links in mcp apps post (#6371)
  ...
wpfleger96 added a commit that referenced this pull request Jan 9, 2026
* main: (89 commits)
  fix(google): treat signed text as regular content in streaming (#6400)
  Add frameDomains and baseUriDomains CSP support for MCP Apps (#6399)
  fix(ci): add missing dependencies to openapi-schema-check job (#6367)
  feat: http proxy support
  Add support for changing working dir and extensions in same window/session (#6057)
  Sort keys in canonical models (#6403)
  added validation and debug for invalid call tool result (#6368)
  Update MCP apps tutorial: fix _meta structure and version prereq (#6404)
  Fixed fonts (#6389)
  Update confidence levels prompt injection detection to reduce false positive rates (#6390)
  Add ML-based prompt injection detection  (#5623)
  docs: update custom extensions tutorial (#6388)
  fix ResultsFormat error when loading old sessions (#6385)
  docs: add MCP Apps tutorial and documentation updates (#6384)
  changed z-index to make sure the search highlighter does not appear on modal overlay (#6386)
  Handling special claude model response in github copilot provider (#6369)
  fix: prevent duplicate rendering when tool returns both mcp-ui and mcp-apps resources (#6378)
  fix: update MCP Apps _meta.ui.resourceUri to use nested format (SEP-1865) (#6372)
  feat(providers): add streaming support for Google Gemini provider (#6191)
  Blog: edit links in mcp apps post (#6371)
  ...
fbalicchia pushed a commit to fbalicchia/goose that referenced this pull request Jan 13, 2026
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.

2 participants