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

decentraland / world-storage-service / 39393523928
97%
main: 97%

Build:
Build:
LAST BUILD BRANCH: 1.9.1
DEFAULT BRANCH: main
Ran 20 Oct 2026 08:28AM UTC
Jobs 1
Files 76
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

19 Oct 2026 01:25PM UTC coverage: 96.834% (+0.3%) from 96.539%
39393523928

push

github

web-flow
feat: scene storage export (#125)

* test(scene-storage-export): phase 1 red

* feat(scene-storage-export): stream scene world and player storage rows for export

* test(scene-storage-export): phase 2 red

* feat(scene-storage-export): add export jobs store

* test(scene-storage-export): phase 3 red

* feat(scene-storage-export): add export worker and serializers

* test(scene-storage-export): phase 4 red

* feat(scene-storage-export): add export HTTP API

* test(scene-storage-export): scene export budget and NUL key red

* fix(scene-storage-export): cap exports per scene and budget stored files

Take the create lock per scene and limit in-flight jobs per scene as well
as per signer. Refuse to store a finished file when the scene's unexpired
files would exceed EXPORT_MAX_SCENE_STORED_BYTES, failing the job with
'Export storage limit reached'. Reject storage keys containing NUL, which
Postgres cannot store, with a 400 instead of a 500.

* docs(scene-storage-export): record the per-scene export budget decision

* docs: note parallel test isolation and nested worktree gotchas

Also documents:
- AGENTS.md: per-run HTTP_SERVER_PORT/PG_COMPONENT_PSQL_DATABASE for parallel test runs, and Jest collecting nested .worktrees specs

* test(scene-storage-export): streaming export red

* feat(scene-storage-export): stream exports instead of async jobs

* test(scene-storage-export): late timeout must not escape as an unhandled error

* fix(scene-storage-export): log a timeout that fires after the pipeline settled instead of crashing

* docs(learning): record the streaming export decision and stream lifecycle gotchas

* test(scene-storage-export): per-pod cap, release accounting, late cancel log and HTTP disconnect

* feat(scene-storage-export): cap concurrent exports per pod and log late client cancels

* docs(learning): record the per-pod export cap and correct the stream lifecycle gotchas

* fix(http): treat a request without Content-Length or Transfer-Encoding as... (continued)

759 of 805 branches covered (94.29%)

Branch coverage included in aggregate %.

187 of 189 new or added lines in 14 files covered. (98.94%)

1627 of 1659 relevant lines covered (98.07%)

110.3 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
91.18
src/controllers/handlers/exports/create-export.ts
Jobs
ID Job ID Ran Files Coverage
1 39393523928.1 20 Oct 2026 08:28AM UTC 152
97.21
GitHub Action Run
Source Files on build 39393523928
  • Tree
  • List 76
  • Changed 40
  • Source Changed 7
  • Coverage Changed 40
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #39393523928
  • ea314cf3 on github
  • Prev Build on main (#37791389074)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc