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

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

Build:
Build:
LAST BUILD BRANCH: refactor/native-fetch-migration
DEFAULT BRANCH: main
Ran 01 May 2026 05:18PM UTC
Jobs 1
Files 147
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

01 May 2026 05:15PM UTC coverage: 85.42% (+0.1%) from 85.297%
25224471412

Pull #261

github

LautaroPetaccio
refactor: use @dcl/memory-cache-component for the webhook refresh cooldown

replaces the local Map<string, number> + manual prune helper inside
roomMetadataSync with an injected ICacheStorageComponent. the cache
entry's existence is the cooldown signal; ttl handles eviction; the
lru cap (10k) handles bounded memory automatically.

upsides:
- no more manual gc (pruneStaleRefreshEntries gone) and no timestamp
  arithmetic — the api is now `cache.get` / `cache.set(key, true, ttl)`.
- ttl is in seconds, matching the component's contract.
- the cache is injected, so swapping to a redis-backed implementation
  later (e.g., for cluster-wide cooldown) is a one-line change in
  components.ts with no consumer updates.

trade-off worth knowing: the get/set pair is now async, so two
concurrent webhooks for the same room could theoretically both pass
the gate before either set lands. in practice this is a microsecond
window on an in-memory cache; worst case is one duplicate refresh,
which is negligible compared to the ~200x reduction we already get
on busy scenes.

cache keys are namespaced (`room-metadata-sync:webhook-refresh:<room>`)
so the cache instance can be shared with future consumers without key
collisions.
Pull Request #261: refactor: extract room metadata sync and add scene admins to metadata

1061 of 1362 branches covered (77.9%)

Branch coverage included in aggregate %.

82 of 83 new or added lines in 9 files covered. (98.8%)

7 existing lines in 3 files now uncovered.

2999 of 3391 relevant lines covered (88.44%)

43.31 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
89.29
0.4% src/controllers/handlers/scene-admin-handlers/remove-scene-admin-handler.ts

Coverage Regressions

Lines Coverage ∆ File
4
90.16
0.0% src/controllers/handlers/scene-admin-handlers/list-scene-admins-handler.ts
2
86.67
0.0% src/types/errors.ts
1
92.0
0.26% src/components.ts
Jobs
ID Job ID Ran Files Coverage
1 25224471412.1 01 May 2026 05:18PM UTC 294
86.65
GitHub Action Run
Source Files on build 25224471412
  • Tree
  • List 147
  • 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 #25224471412
  • Pull Request #261
  • PR Base - 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