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

decentraland / comms-gatekeeper / 25125498627
85%

Build:
DEFAULT BRANCH: main
Ran 29 Apr 2026 06:05PM 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 06:03PM UTC coverage: 85.376% (+1.6%) from 83.825%
25125498627

push

github

web-flow
fix: cache hoisting, dedup, and variant caching across adapters (#259)

* 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.

* chore: pin postgres to 16 in docker-compose

Existing local volumes were initialised with PG 16. The default
'postgres:latest' image is now PG 18 and refuses to start against the
older data directory without an explicit pg_upgrade. Pin to 16 so the
local compose stack is reproducible without manual recovery.

* test: cover new caching behaviour across adapters

Adds direct coverage for the previously-untested code introduced in
the ... (continued)

1047 of 1343 branches covered (77.96%)

Branch coverage included in aggregate %.

100 of 101 new or added lines in 7 files covered. (99.01%)

2958 of 3348 relevant lines covered (88.35%)

43.37 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
92.73
71.45% src/adapters/names.ts
Jobs
ID Job ID Ran Files Coverage
1 25125498627.1 29 Apr 2026 06:05PM UTC 290
86.59
GitHub Action Run
Source Files on build 25125498627
  • Tree
  • List 145
  • Changed 98
  • Source Changed 7
  • Coverage Changed 98
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #25125498627
  • 9973ad65 on github
  • Prev Build on main (#24993564023)
  • Next Build on main (#25191624580)
  • 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