Conversation
Owner
|
Thanks @rifuki! Reviewed and accepted — |
decolua
pushed a commit
that referenced
this pull request
Jun 29, 2026
Treat response.done as a terminal OpenAI Responses stream event so passthrough streams ending with response.done are not flagged incomplete and no synthetic response.failed is emitted. Restore the data: [DONE] sentinel for same-format Responses passthrough streams. Co-authored-by: Cursor <cursoragent@cursor.com>
decolua
pushed a commit
that referenced
this pull request
Jun 29, 2026
## Features - Add Kimchi OAuth provider — Nant361 - Refine Qwen vision/video + thinking model patterns — decolua - Opt-in Codex auto-ping quota keep-alive — Emirhan ## Fixes - **Responses**: handle response.done terminal events (#2142) — rifuki - **Headroom**: skip unsafe responses tool history (#2132) — Sutarto Jordan Chrisfivo - **Translator**: map mid-conversation system message to user (claude→openai) — decolua - **Gemini**: normalize contents to prevent 400 invalid_argument (#2192) — warelik - **Gemini**: backfill thoughtSignature + suppress stream done sentinel — WARELIK - **Alicode**: preserve cache_control for DashScope providers (#2069) — Rex - **Antigravity**: strip deprecated/readOnly/writeOnly from tool schemas — iletai, Yudhistira-Official - **CodeBuddy CN**: show bonus packs as one-time, not monthly-replenishing — whale9820 - **Kiro**: strip leaked <thinking> tags from content stream (#2158) — hamsa0x7 - **Tray**: make Windows context menu DPI-aware — Emirhan - **Kilocode**: expose full gateway catalog in combo model picker — jellylarper - **OpenCode**: fix Go GLM — decolua
Vanszs
pushed a commit
to Vanszs/VansRouter
that referenced
this pull request
Jun 30, 2026
Treat response.done as a terminal OpenAI Responses stream event so passthrough streams ending with response.done are not flagged incomplete and no synthetic response.failed is emitted. Restore the data: [DONE] sentinel for same-format Responses passthrough streams. Co-authored-by: Cursor <cursoragent@cursor.com>
ibanunmangun
pushed a commit
to ibanunmangun/9router
that referenced
this pull request
Jul 22, 2026
Treat response.done as a terminal OpenAI Responses stream event so passthrough streams ending with response.done are not flagged incomplete and no synthetic response.failed is emitted. Restore the data: [DONE] sentinel for same-format Responses passthrough streams. Co-authored-by: Cursor <cursoragent@cursor.com>
ibanunmangun
pushed a commit
to ibanunmangun/9router
that referenced
this pull request
Jul 22, 2026
## Features - Add Kimchi OAuth provider — Nant361 - Refine Qwen vision/video + thinking model patterns — decolua - Opt-in Codex auto-ping quota keep-alive — Emirhan ## Fixes - **Responses**: handle response.done terminal events (decolua#2142) — rifuki - **Headroom**: skip unsafe responses tool history (decolua#2132) — Sutarto Jordan Chrisfivo - **Translator**: map mid-conversation system message to user (claude→openai) — decolua - **Gemini**: normalize contents to prevent 400 invalid_argument (decolua#2192) — warelik - **Gemini**: backfill thoughtSignature + suppress stream done sentinel — WARELIK - **Alicode**: preserve cache_control for DashScope providers (decolua#2069) — Rex - **Antigravity**: strip deprecated/readOnly/writeOnly from tool schemas — iletai, Yudhistira-Official - **CodeBuddy CN**: show bonus packs as one-time, not monthly-replenishing — whale9820 - **Kiro**: strip leaked <thinking> tags from content stream (decolua#2158) — hamsa0x7 - **Tray**: make Windows context menu DPI-aware — Emirhan - **Kilocode**: expose full gateway catalog in combo model picker — jellylarper - **OpenCode**: fix Go GLM — decolua
Shinzzyak
pushed a commit
to Shinzzyak/VansRouter
that referenced
this pull request
Sep 11, 2026
Treat response.done as a terminal OpenAI Responses stream event so passthrough streams ending with response.done are not flagged incomplete and no synthetic response.failed is emitted. Restore the data: [DONE] sentinel for same-format Responses passthrough streams. Co-authored-by: Cursor <cursoragent@cursor.com>
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
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
response.doneas a terminal OpenAI Responses stream eventdata: [DONE]sentinel for same-format Responses passthrough streamsresponse.doneWhy
Codex/OpenAI Responses streams can terminate with:
9router already recognizes
response.donein some older response conversion paths, but the current Responses passthrough terminal-event helper only acceptsresponse.completed,response.failed, anderror. When upstream sendsresponse.done, the stream can be treated as incomplete and a syntheticresponse.failedmay be emitted, which causes clients to surface errors likestream closed before response.completed/ stream disconnected before completion.This patch makes the same-format Responses passthrough path accept
response.doneas terminal, and restores the[DONE]sentinel for Responses passthrough streams so OpenAI-compatible SSE clients see a clean stream ending.Related scan
I checked the current open PRs/issues before opening this:
response.doneto the terminal event set and is currently conflicting.response.done, but it was closed without merge and the currentmasterterminal helper still does not include it.Tests
Result: 4 files passed, 11 tests passed.