Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

fetch: SSE ping comments silently drop data in the same chunk

Open Beginner friendly
#13,347 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 3 days

@fhgffy is already working on this.

Since Oct 5, 2026.

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

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from continuedev/continue

All issues in continuedev/continue

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.