fetch: SSE ping comments silently drop data in the same chunk
Maintainers usually reply within 3 days
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 85/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- node.js, typescript
- Domain
- api
Research direction
Start with streamSse in packages/fetch/src/stream.ts and trace how it drains buffered lines, then find the existing SSE stream tests and run them. Add regression coverage for leading and interleaved ping comments, including chunk boundaries; done means both data events are yielded without an error.
Written by the indexing model from the issue text.
Description
Description
streamSse still treats : ping as a completion signal. When a heartbeat and the following data events arrive in the same chunk, the line-draining loop stops and the remaining events can be dropped silently at EOF.
I reproduced this on current main (5522c6f44ca0) with a local Node HTTP server and the actual packages/fetch/src/stream.ts implementation:
: ping
data: {"text":"hello"}
data: {"text":"world"}
Expected: both data objects are yielded. Actual: no objects and no error. Putting the heartbeat between the objects yields only hello. Replacing it with : heartbeat, or removing it, yields both objects.
SSE lines starting with : are comments, so the heartbeat should be ignored while the existing buffer continues to drain. The HTML standard describes this rule.
This was previously addressed in #13187. The author withdrew that PR while consolidating contributions and explicitly invited reopening or cherry-picking the fix; it was not merged. I would like to carry the focused fix forward with regression coverage for leading and interleaved heartbeats and chunk boundaries. The proposed change only removes the special completion handling for : ping, letting it follow the existing ignored-line path.
Environment
- Windows amd64
- Node.js 24.14.0
- Current repository source, local HTTP only; no model or external provider calls
- Dominant language
- TypeScript
- Stars
- 36.1k
- Forks
- 5.4k
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from continuedev/continue
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
continuedev/continue#13291 ·
Maintainers usually reply within 3 days
-
Ollama provider drops `tools` after the first tool call, breaking multi-step agent loopsPossibly taken @dvd233 claimed this 24 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
continuedev/continue#13254 · 2 comments ·
Maintainers usually reply within 3 days
-
[Bug] LanceDbIndex interpolates paths into LanceDB SQL predicates — apostrophes in file/workspace paths break index deletes (stale chunks stay retrievable) and retrievalPossibly taken @seethinajayadileep claimed this 30 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
continuedev/continue#13233 ·
Maintainers usually reply within 3 days
-
docs: PZERO OpenAI-compatible apiBase examplePossibly taken @dajiaohuang claimed this 33 days ago. Open
Difficulty 1/5 Under an hour Newbie friendliness 85/100
continuedev/continue#13198 · 1 comment ·
Maintainers usually reply within 3 days
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
continuedev/continue#13197 ·
Maintainers usually reply within 3 days
All issues in continuedev/continue
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
platformatic/mcp#208 ·
Maintainers usually reply within 1 day
-
🐛 bug
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
margelo/react-native-vision-camera#4211 ·
Maintainers usually reply within 4 days