• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

decentraland / atlas-server / 28052111985
41%

Build:
DEFAULT BRANCH: master
Ran 23 Jun 2026 07:41PM UTC
Jobs 1
Files 39
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 Jun 2026 07:40PM UTC coverage: 41.494% (-0.03%) from 41.523%
28052111985

push

github

web-flow
fix: cancel undrained response bodies and bump @dcl core-components/core-libs deps (#141)

## Summary

This PR cancels an undrained undici response-body leak and bumps
outdated `@dcl` core-components/core-libs dependencies to their latest
versions.

## Response-body leak fix

- **`src/modules/rentals/component.ts` -> `fetchRentalListings`**: In
the `!response.ok` branch the code attempts to parse the error response
with `response.json()` inside a `try/catch`. When `response.json()`
throws (e.g. the error response is not valid JSON), the catch swallowed
the error and the function then threw without reading or cancelling the
response body, leaking the undici response stream. Added `await
response.body?.cancel().catch(() => undefined)` in the catch block, on
the discard path, before the throw.

The success path and the JSON error-message path already consume the
body via `response.json()`, so no change was needed there. This is the
only direct HTTP fetch site in the codebase: all other data access goes
through `@dcl/thegraph-component` (`subgraph.query`),
`@dcl/pg-component` (SQL), or an in-memory `Map` cache, none of which
expose raw `Response` objects to drain.

## Dependency bumps

| Package | Old | New |
| --- | --- | --- |
| `@dcl/features-component` | `^1.0.1` | `^1.0.2` |
| `@dcl/http-server` | `^2.0.2` | `^2.1.0` |
| `@dcl/thegraph-component` | `^0.1.1` | `^0.1.2` |
| `@dcl/traced-fetch-component` | `^1.0.7` | `^1.0.8` |

`package-lock.json` was refreshed via `npm install`. The other listed
`@dcl` core-components/core-libs deps already match latest, so they are
untouched.

## Verification

- **Typecheck**: `tsc --noEmit` passes (exit 0).
- **Lint**: the repo has no committed ESLint config; the change matches
the existing Prettier style (no semicolons, single quotes, `() =>
undefined`).
- **Unit tests**: `jest` passes - 9 suites, 67 tests, including
`tests/modules/rentals.spec.ts`. No external infra was required (all I/O
is mocked).

No breaking c... (continued)

298 of 414 branches covered (71.98%)

Branch coverage included in aggregate %.

0 of 3 new or added lines in 1 file covered. (0.0%)

1 existing line in 1 file now uncovered.

1485 of 3883 relevant lines covered (38.24%)

11.43 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
90.95
-1.39% src/modules/rentals/component.ts

Coverage Regressions

Lines Coverage ∆ File
1
90.95
-1.39% src/modules/rentals/component.ts
Jobs
ID Job ID Ran Files Coverage
1 28052111985.1 23 Jun 2026 07:41PM UTC 78
40.0
GitHub Action Run
Source Files on build 28052111985
  • Tree
  • List 39
  • Changed 37
  • Source Changed 1
  • Coverage Changed 37
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #28052111985
  • b20adc5d on github
  • Prev Build on master (#28046684021)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc