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

decentraland / world-storage-service / 28621152435
99%
main: 99%

Build:
Build:
LAST BUILD BRANCH: feat/scoped-storage-delegation
DEFAULT BRANCH: main
Ran 02 Jul 2026 08:59PM UTC
Jobs 1
Files 57
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

02 Jul 2026 08:58PM UTC coverage: 98.82% (-0.5%) from 99.351%
28621152435

Pull #111

github

LautaroPetaccio
fix: close cache staleness under concurrent writes and a migration abort

Two issues found in a deeper review of the hardening changes:

- Cache coherence: the post-commit write-through set ran outside the quota
  advisory lock, and deleteValue takes no lock, so a concurrent delete's cache
  removal could land before a just-committed upsert's set — leaving a stale
  value served for the full TTL against a row that no longer exists. Replace
  the write-through with a post-commit invalidation (remove): removals are
  idempotent and order-independent, so the next read always repopulates from
  committed state. Renames the adapter hook cacheValue -> invalidateValue.

- Lowercase-world-names migration: the dedup only removed a mixed-case row when
  an already-lowercase twin existed, so two distinct mixed-case spellings of the
  same world (MyWorld / MYWORLD) sharing a (place_id, key) with no lowercase row
  collided on the UPDATE and aborted the migration. Deduplicate by keeping one
  row per lowercased key group (prefer an existing lowercase row, else the most
  recently updated), verified against Postgres for both cases.

Adds an integration test asserting a re-upsert through storage-operations is
visible to the next read (guards the post-commit invalidation).
Pull Request #111: fix: harden storage quotas, input validation, and upstream resilience

351 of 362 branches covered (96.96%)

Branch coverage included in aggregate %.

170 of 174 new or added lines in 30 files covered. (97.7%)

1073 of 1079 relevant lines covered (99.44%)

71.47 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
97.18
-2.82% src/adapters/env-storage/component.ts
1
98.45
-1.55% src/adapters/player-storage/component.ts
1
93.75
-6.25% src/controllers/handlers/player-storage/clear-player-storage.ts
1
77.78
0.0% src/logic/utils.ts
Jobs
ID Job ID Ran Files Coverage
1 28621152435.1 02 Jul 2026 08:59PM UTC 114
99.06
GitHub Action Run
Source Files on build 28621152435
  • Tree
  • List 57
  • Changed 35
  • Source Changed 27
  • Coverage Changed 35
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #28621152435
  • Pull Request #111
  • PR Base - main (#28469033931)
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