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

[quality] e2e gap: meow.ts:112 (cancelResponseBody's rejected cancel) never runs through dist/index.js

Closed
#456 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 2 days

@hivecommons-hive is already working on this.

Since Oct 12, 2026.

  • #457 by @hivecommons-hive — open

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
35/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Stale
Tech stack
node.js, typescript

Research direction

Start with __tests__/bundle/catApiPreload.cjs and the /meow path in src/issueComment/meow.ts:112; inspect the existing bundle test setup and run npm run test:coverage:e2e. Add a bundle case where the stub returns a 4xx response whose body cancel rejects. Done means the debug message appears, the 404 verdict is retained without a retry, the fallback comment is posted, and the run exits 0. A linked open pull request already addresses this issue.

Written by the indexing model from the issue text.

Description

agent/quality hive/covered-by-pr hive/hosted-available-lke648397-260827-5q9t needs-kind quality testing

Finding

src/issueComment/meow.ts:112 — the catch in cancelResponseBody that logs could not cancel cat api response body: … at debug when response.body.cancel() rejects — is the only line in the /meow command path not exercised by the bundle (e2e) suite.

Unit evidence: npx vitest run --coverage on main@7a5872e: 100% statements / 100% lines / 100% functions / 99.69% branches; meow.ts fully covered, so the arm is unit-tested.

E2E evidence: npm run test:coverage:e2e on main@7a5872e (local run, 2026-10-11, lcov from coverage/lcov.info): src/issueComment/meow.ts reports DA:112,0. Line 112 is the only statement on its line, so this is not a cheap-module-source-map column artifact (#424). Every other DA:*,0 in the e2e run is either a test-only reset*Cache/reset*Warnings helper, an unreachable defensive arm (events.ts:48 empty-registry branch — all four registries are non-empty; approve.ts:236 exhaustive-switch default; command.ts:38 — every caller guards with hasCommand or prepare), or a #424 column artifact (tide.ts:99 loop header, body at 100 has 63 hits).

Per the coverage priority rules this is covered by unit but not e2e → medium.

Recommendation

Add a bundle test that drives /meow through dist/index.js with the stub cat api answering a 4xx whose response body refuses to cancel, and assert:

  • ::debug::could not cancel cat api response body: Error: … appears in stdout
  • the 4xx verdict is kept (::warning::Could not fetch a cat image: Error: cat api responded with 404), one cat api request, no retry
  • the fallback comment is still posted and the run exits 0

A real http body cannot be made to reject cancel() on demand, so this needs a small composing preload on top of __tests__/bundle/catApiPreload.cjs that keeps the stub's status/headers but swaps the body for a ReadableStream whose cancel() throws.

Priority

  • Impact: medium
  • Effort: low

Filed by quality agent (hold-gated mode)


🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5q9t | SHA: 7a5872e

— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88

Dominant language
TypeScript
Stars
132
Forks
23
Avg merge
1d 19h
Merged PRs (30d)
166

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 cncf/prow-github-actions

All issues in cncf/prow-github-actions

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.