port(omniroute): #7093 - bound relay SSE stream lifetime past response headers - #267
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1ed92036d8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
1ed9203 to
1fc4ead
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1fc4eadba3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…r graceful EOF - Abort the connect timer with a named TimeoutError (DOMException) and pass the internal timeout signal separately so relayStreamLifecycle can preserve only the exact internal reason by identity, never a caller-side AbortSignal.timeout() TimeoutError. - In createDisconnectAwareStream, treat named TimeoutError as a hard error rather than a caller/network abort, so truncated SSE streams reach the client as terminal failure instead of clean EOF. - Add pipeWithDisconnect regression test: partial bytes delivered, then internal TimeoutError rejects the next read. Addresses Codex P2 on PR #267.
1fc4ead to
2fc1d09
Compare
Summary
Type
fix:— bug fix (resource-leak / cleanup correctness)Breaking changes
Testing
npm run lint;npm run build;vitest run unit/relay-stream-lifecycle.test.js unit/relay-terminal-reason.test.js unit/base-executor-relay-sse.test.js;bash .omc/gate.sh <worktree>(all under pinned Node 20.20.2).Checklist
port(omniroute): #7093 - bound relay SSE stream lifetime past response headers)Existing PRs
Searched open + closed PRs for 7093 / relay SSE stream lifetime: no duplicates — only this PR (#267). Related relay work merged earlier (#46 provider batch, #145 CI-gate stabilization) does not cover relay stream lifetime bounding.
Provenance
Agent-generated port. Model: durindoor/kimi/kimi-k2.7 via Oh My Pi harness; implemented by a wave-G port subagent, verified and merged via the upstream-pr-import orchestration (worktree .omc/wt-port-om-7093, branch port/omniroute-7093, head 1ed9203). No plugins beyond the harness.
Ported-By: port(omniroute) wave-G