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

decentraland / comms-gatekeeper / 25114016119
85%
main: 85%

Build:
Build:
LAST BUILD BRANCH: 2.27.1
DEFAULT BRANCH: main
Ran 29 Apr 2026 02:14PM UTC
Jobs 1
Files 145
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

29 Apr 2026 02:06PM UTC coverage: 83.091% (-0.7%) from 83.825%
25114016119

Pull #259

github

LautaroPetaccio
fix: cache hoisting, dedup, and variant caching across adapters

Multiple HTTP-backed adapters had caches that weren't actually retaining
entries across calls. worlds.ts and lands.ts were calling
cachedFetch.cache<T>() inside their methods, creating a fresh LRU per
invocation. feature-flags.ts maintained a refresh-on-interval pattern
for the boolean flag state but bypassed it for variants, hitting the
upstream feature-flags service on every getVariants() call (used per
moderator-endpoint request).

Fixes:
- Hoist cachedFetch.cache<T>() calls to the factory body in worlds.ts
  and lands.ts so the LRU is created once and reused.
- Add a sibling variantsMap to feature-flags.ts populated on the
  existing 4-minute refresh cycle; getVariants() reads from the map.
- Per-address cache + in-flight dedup in names.ts for getNamesFromAddresses,
  plus cachedFetch wrapping for getNameOwner. encodeURIComponent the
  user-supplied name in the URL path.
- In-flight dedup for land-lease.ts; identity-checked .finally cleanup
  so refreshAuthorizations cannot wipe a newer chain's reference.
- Normalize authAddress casing in cache-key URLs (worlds, lands) so
  mixed-case callers share entries; fix case-sensitive permission
  checks in hasWorldStreamingPermission / hasWorldDeployPermission.
- Bump cachedFetch default max from 1000 to 5000; nameByAddressCache
  to 10000.
- Add Content-Type: application/json to the /profiles POST in
  fetchProfileBatch for consistency.
Pull Request #259: fix: cache hoisting, dedup, and variant caching across adapters

1021 of 1339 branches covered (76.25%)

Branch coverage included in aggregate %.

36 of 98 new or added lines in 7 files covered. (36.73%)

1 existing line in 1 file now uncovered.

2871 of 3345 relevant lines covered (85.83%)

41.93 hits per line

Uncovered Changes

Lines Coverage ∆ File
60
15.53
-5.74% src/adapters/names.ts
1
68.89
5.06% src/adapters/feature-flags.ts
1
90.91
1.15% src/adapters/worlds.ts

Coverage Regressions

Lines Coverage ∆ File
1
15.53
-5.74% src/adapters/names.ts
Jobs
ID Job ID Ran Files Coverage
1 25114016119.1 29 Apr 2026 02:14PM UTC 290
84.08
GitHub Action Run
Source Files on build 25114016119
  • Tree
  • List 145
  • Changed 97
  • Source Changed 7
  • Coverage Changed 97
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #25114016119
  • Pull Request #259
  • PR Base - main (#24993564023)
  • 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