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

decentraland / comms-gatekeeper
85%
main: 85%

Build:
Build:
LAST BUILD BRANCH: refactor/native-fetch-migration
DEFAULT BRANCH: main
Repo Added 17 Oct 2024 08:45PM UTC
Token H9CF0YzviAGXBYzx8ZZY8Lv8V4wtqKxTm regen
Build 789 Last
Files 146
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

LAST BUILD ON BRANCH refactor/room-metadata-sync
branch: refactor/room-metadata-sync
CHANGE BRANCH
x
Reset
Sync Branches
  • refactor/room-metadata-sync
  • 1.1.0
  • 1.1.1
  • 1.2.0
  • 1.2.1
  • 1.3.0
  • 2.0.0
  • 2.0.1
  • 2.1.0
  • 2.1.1
  • 2.10.0
  • 2.11.0
  • 2.12.0
  • 2.13.0
  • 2.13.1
  • 2.13.2
  • 2.14.0
  • 2.15.0
  • 2.16.0
  • 2.17.0
  • 2.17.1
  • 2.18.0
  • 2.19.0
  • 2.19.1
  • 2.19.2
  • 2.19.3
  • 2.2.0
  • 2.2.1
  • 2.20.0
  • 2.20.1
  • 2.21.0
  • 2.21.1
  • 2.22.0
  • 2.23.0
  • 2.24.0
  • 2.25.0
  • 2.26.0
  • 2.26.1
  • 2.26.2
  • 2.26.3
  • 2.26.4
  • 2.3.0
  • 2.4.0
  • 2.6.0
  • 2.6.1
  • 2.7.0
  • 2.8.0
  • 2.9.0
  • add-ai-agent-context-to-readme
  • chore/WKC-presentation
  • chore/add-agents-file
  • chore/add-debugging-logs-for-room-started-handler
  • chore/bump-node
  • chore/pin-node-24-base-image
  • chore/update-dcl-schemas
  • chore/update-node-24
  • chore/use-docs-generic-action
  • coverage
  • dependabot/npm_and_yarn/dcl/analytics-component-0.2.3
  • dependabot/npm_and_yarn/dcl/analytics-component-0.2.4
  • dependabot/npm_and_yarn/dcl/analytics-component-0.2.5
  • dependabot/npm_and_yarn/dcl/analytics-component-0.2.6
  • dependabot/npm_and_yarn/dcl/analytics-component-0.2.7
  • dependabot/npm_and_yarn/dcl/analytics-component-0.2.8
  • dependabot/npm_and_yarn/dcl/eslint-config-2.2.1
  • dependabot/npm_and_yarn/dcl/eslint-config-2.3.0
  • dependabot/npm_and_yarn/dcl/eslint-config-2.3.1
  • dependabot/npm_and_yarn/dcl/eslint-config-2.4.3
  • dependabot/npm_and_yarn/dcl/platform-crypto-middleware-1.1.0
  • dependabot/npm_and_yarn/dcl/platform-server-commons-1.0.1
  • dependabot/npm_and_yarn/dcl/schemas-16.11.0
  • dependabot/npm_and_yarn/dcl/schemas-16.12.0
  • dependabot/npm_and_yarn/dcl/schemas-16.13.0
  • dependabot/npm_and_yarn/dcl/schemas-16.14.0
  • dependabot/npm_and_yarn/dcl/schemas-16.6.4
  • dependabot/npm_and_yarn/dcl/schemas-16.9.0
  • dependabot/npm_and_yarn/dcl/schemas-17.0.0
  • dependabot/npm_and_yarn/dcl/schemas-17.1.0
  • dependabot/npm_and_yarn/dcl/schemas-17.2.0
  • dependabot/npm_and_yarn/dcl/schemas-18.0.0
  • dependabot/npm_and_yarn/dcl/schemas-18.3.0
  • dependabot/npm_and_yarn/dcl/schemas-18.8.0
  • dependabot/npm_and_yarn/dcl/schemas-19.0.0
  • dependabot/npm_and_yarn/dcl/schemas-19.3.0
  • dependabot/npm_and_yarn/dcl/schemas-19.4.0
  • dependabot/npm_and_yarn/dcl/schemas-19.4.1
  • dependabot/npm_and_yarn/dcl/schemas-19.6.0
  • dependabot/npm_and_yarn/dcl/schemas-19.8.0
  • dependabot/npm_and_yarn/dcl/schemas-20.2.0
  • dependabot/npm_and_yarn/dcl/schemas-20.3.0
  • dependabot/npm_and_yarn/dcl/schemas-22.0.0
  • dependabot/npm_and_yarn/dcl/sns-component-3.0.1
  • dependabot/npm_and_yarn/dcl/sns-component-3.0.2
  • dependabot/npm_and_yarn/well-known-components/fetch-component-3.0.0
  • dependabot/npm_and_yarn/well-known-components/interfaces-1.4.3
  • dependabot/npm_and_yarn/well-known-components/interfaces-1.5.1
  • dependabot/npm_and_yarn/well-known-components/interfaces-1.5.2
  • dependabot/npm_and_yarn/well-known-components/test-helpers-1.5.8
  • docs-update
  • docs/adapt-to-new-docs-workflow
  • docs/add-endpoint-docs
  • docs/ai
  • docs/ai-context
  • docs/banned-name-is-optional
  • docs/confusing-required-props-for-bans-and-admins
  • docs/fix-docs-workflow-usage
  • docs/fix-publish
  • docs/force-publish
  • docs/forcing-re-deploy
  • docs/improve-openapi-description
  • docs/rename-api-spec
  • docs/standarize-readme-schemas-and-agent-context
  • docs/test-api-reference-file
  • docs/update-list-bans-response
  • docs/use-docs-generic-action
  • docs/users-can-also-be-banned-by-name
  • feat/add-analytics
  • feat/add-generate-links
  • feat/add-logs
  • feat/add-names-to-get-admins
  • feat/add-owner-and-operators-in-list-admins
  • feat/add-private-voice-chat
  • feat/add-profile-to-metadata
  • feat/add-scene-room-creds-to-cast
  • feat/add-schema-validator-component
  • feat/add-support-for-multi-world-scenes
  • feat/add-support-for-world-rooms
  • feat/add-tracing
  • feat/add-try-catch
  • feat/add-world-bans-check
  • feat/all-active-voice-chats-endpoint
  • feat/allow-adding-scene-admins-by-name
  • feat/allow-banning-unbanning-by-name
  • feat/authorative-server
  • feat/ban-user-from-scene
  • feat/bans-check
  • feat/bot-presenter-handler
  • feat/cache-deny-list
  • feat/cache-response-of-fetch-entity-by-id
  • feat/cast-endpoints
  • feat/catch-ingress-not-found
  • feat/change-manual-deploy
  • feat/check-community-calls-ongoing
  • feat/communities-voice-actions
  • feat/communities-voice-chat-store-role
  • feat/community-voice-chat
  • feat/componenterize-blocklist
  • feat/end-community-call
  • feat/enhance-handler
  • feat/expire-rooms
  • feat/filter-local-preview-realm
  • feat/forward-livekit-messages-to-dwh
  • feat/generate-stream-link-get
  • feat/get-private-conversations-room-token
  • feat/get-scene-adapter-should-fail-for-banned-users
  • feat/get-social-privacy-settings-for-metadata
  • feat/get-stream-info-endpoint
  • feat/http-server-for-http2
  • feat/identity
  • feat/identity-handling
  • feat/kick-banned-users
  • feat/land-validation
  • feat/linker-server
  • feat/list-and-revoke-stream-access
  • feat/listen-livekit-webhook
  • feat/livekit-receive-webhook
  • feat/livekit-webhook-handler
  • feat/livekit-webhook-handler-2
  • feat/logs
  • feat/moderator-token-auth
  • feat/move-user-joined-event-to-event-joining-process
  • feat/mute-metadata
  • feat/notifications
  • feat/notify-moderation-events
  • feat/patch-social-privacy-settings
  • feat/places-checker
  • feat/platform-bans-check
  • feat/prevent-request-from-being-blocked
  • feat/publish-all-room-join-and-left-events
  • feat/publish-community-streaming-ended-event
  • feat/publish-user-left-room-event
  • feat/re-discovery-changes
  • feat/reject-request-to-speak
  • feat/remove-bans-from-disabled-places
  • feat/remove-old-key
  • feat/reset-logs
  • feat/reset-streaming-key
  • feat/return-world-other-permissions-addresses
  • feat/revoke-endpoint
  • feat/save-speaker-in-metadata
  • feat/scene-admins-for-multiplayer
  • feat/send-notifications-when-ban-unban-from-scene
  • feat/send-the-disconnection-reason-to-analytics
  • feat/setup-scene-admin-addapters-and-controllers
  • feat/sns-component
  • feat/sqs-message
  • feat/store-is-speaker-in-metadata-by-default
  • feat/stream-acces-migretion-adapter
  • feat/stream-link-gen
  • feat/streaming-image
  • feat/streaming-key-ttl-checker
  • feat/streaming-ttl-checker
  • feat/support-getting-community-voice-chat-status-in-bulk
  • feat/support-http2
  • feat/support-listing-bans-from-a-scene
  • feat/support-unban-user-from-scene
  • feat/update-explorer-url
  • feat/update-livekit-metadata-with-bans-info
  • feat/update-metadata-with-bans-after-room-creation
  • feat/use-admin-smart-item-world-scene-wise
  • feat/use-token-middleware
  • feat/user-moderation
  • feat/validate-world-stream-permissions
  • feature/ip-banning
  • fix/active-community-calls-endpoint
  • fix/add-debugging-voice-chat-logs
  • fix/add-metadata-validator-to-bans
  • fix/add-missing-update-operators
  • fix/add-more-voice-logging
  • fix/allow-owners-to-access-their-worlds
  • fix/avoid-fetching-places-using-undefined-parcels
  • fix/banned-users-cannot-be-admins
  • fix/bans
  • fix/cache-effectiveness-across-adapters
  • fix/cache-instance-per-call
  • fix/cast-and-streaming-access-generations-for-multi-scene-worlds
  • fix/cast-expiration-time
  • fix/cast-room-id
  • fix/cast-stream-access-missing-ingress
  • fix/change-auth-token
  • fix/check-world-owner
  • fix/community-voice-chats-expiring-job
  • fix/correctly-check-for-body-user-metadata
  • fix/denylist
  • fix/ends-time
  • fix/env-var-auth-server
  • fix/expired-query
  • fix/failing-tests
  • fix/github-actions
  • fix/ingress-id-unique-error
  • fix/ingress-not-being-deleted
  • fix/ingress-options
  • fix/kick
  • fix/land-lease-multiple-authorizations-bug
  • fix/livekit-handler
  • fix/livekit-host
  • fix/livekit-host-procol
  • fix/lowercase-address
  • fix/metadata
  • fix/metadata-profile
  • fix/only-fire-end-event-on-closing-call
  • fix/parcels-endpoint-throwing
  • fix/participant-id
  • fix/place-search-response
  • fix/place-world-migration
  • fix/places-id-migration
  • fix/preview-room-name-uses-scene-id
  • fix/print-status-code-on-fetch-error
  • fix/privacy-settings-fetching
  • fix/remove-streaming-key
  • fix/remove-unused-handler
  • fix/resolve-world-scene-id-before-checking-ban
  • fix/respond-with-404-when-name-owner-not-found
  • fix/respond-with-livekit-connection-url
  • fix/restful-moderation
  • fix/return-created_at-as-number
  • fix/scene-admin-500-when-no-profiles-resolve
  • fix/streaming-key
  • fix/test
  • fix/test-voice-chat-room-hook
  • fix/tests
  • fix/update-readme
  • fix/use-correct-metadata-validator
  • fix/use-improved-lamb2-land-api
  • fix/use-webhook-event-room-when-room-started
  • fix/voice-chat-room-deletion
  • fix/world-streaming
  • fix/wss-adapter
  • gonpombo8-patch-1
  • main
  • pentreathm-patch-1
  • pentreathm-patch-2
  • refactor/add-scene-ban-input-camel-cased
  • refactor/change-terminlogy-blacklister-to-denylister
  • refactor/localpreview-fallback-cleanup
  • refactor/native-fetch-migration
  • refs/tags/1.0.0
  • refs/tags/1.0.1
  • revert-logging
  • test/duplicate-instance-for-testing-purposes
  • test/livekit
  • update/list-admins

01 May 2026 07:11PM UTC coverage: 85.261% (-0.04%) from 85.297%
25228902518

Pull #261

github

LautaroPetaccio
fix: release cooldown on webhook-refresh failure; align admin auth status

addresses two reviewer comments:

- updateRoomMetadataForRoom now removes the cooldown cache key from the
  catch block. previously a transient place-lookup blip would consume
  the full 60s slot and block the next webhook from reconciling. on
  success the cooldown still stays — that's what protects against the
  thundering herd. on persistent failure the cost is a retry per
  webhook, which is the correct signal that something upstream is down.
  refreshRoomMetadata catches its own errors so reaching the outer
  catch block here is a real lookup failure.
- addSceneAdminHandler now throws UnauthorizedError (→ 401) instead of
  InvalidRequestError (→ 400) when verification.auth is missing.
  matches the http convention and removeSceneAdminHandler.

new test: place-lookup fails once then succeeds → expects two place
lookups and one metadata write, asserting the cooldown was released
between the two webhook calls.
Pull Request #261: refactor: extract room metadata sync and add scene admins to metadata

1061 of 1369 branches covered (77.5%)

Branch coverage included in aggregate %.

170 of 177 new or added lines in 15 files covered. (96.05%)

2994 of 3387 relevant lines covered (88.4%)

75.1 hits per line

Relevant lines Covered
Build:
Build:
3387 RELEVANT LINES 2994 COVERED LINES
75.1 HITS PER LINE
Source Files on refactor/room-metadata-sync
  • Tree
  • List 148
  • Changed 96
  • Source Changed 12
  • Coverage Changed 96
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
25228902518 refactor/room-metadata-sync fix: release cooldown on webhook-refresh failure; align admin auth status addresses two reviewer comments: - updateRoomMetadataForRoom now removes the cooldown cache key from the catch block. previously a transient place-lookup blip would cons... Pull #261 01 May 2026 07:14PM UTC LautaroPetaccio github
85.26
25228208712 refactor/room-metadata-sync test: add lands mock helper and rewrite the lands spec to convention introduces test/mocks/lands-mock.ts (createLandsMockedComponent) so consumers don't need to inline the full ILandComponent shape. room-metadata-sync.spec.ts now uses it instead ... Pull #261 01 May 2026 06:56PM UTC LautaroPetaccio github
85.26
25227928729 refactor/room-metadata-sync test: fuse the lands and land-lease specs into one file both files were testing the lands component now that land-lease was folded in last commit, and both used the same createLandsComponent factory with overlapping mock setup. merging them remov... Pull #261 01 May 2026 06:48PM UTC LautaroPetaccio github
85.26
25227524513 refactor/room-metadata-sync refactor: fold land-lease into the lands wkc component land-lease was a tiny adapter that only the lands-related logic ever consumed: scene-manager (hasLandLease), the list-scene-admins handler (getAuthorizations), and roomMetadataSync (lease-hol... Pull #261 01 May 2026 06:38PM UTC LautaroPetaccio github
85.26
25226958604 refactor/room-metadata-sync test: cover undefined-authorizations defensive guard in getLeaseHoldersForParcels Pull #261 01 May 2026 06:24PM UTC LautaroPetaccio github
85.42
25226858307 refactor/room-metadata-sync refactor: lands adapter as a wkc component, owns lease-holders lookup splits src/adapters/lands.ts into the standard wkc layout under src/adapters/lands/ (component.ts, types.ts, errors.ts, index.ts) and moves LandPermissionsNotFoundError + the L... Pull #261 01 May 2026 06:21PM UTC LautaroPetaccio github
85.38
25225789460 refactor/room-metadata-sync refactor: tighten sceneId typing and guard scene-room parsing addresses two type-safety review comments: - GetRoomNameParams.sceneId is now `sceneId?: string`, matching the runtime: getRoomName already handles a missing sceneId (legacy world ... Pull #261 01 May 2026 05:53PM UTC LautaroPetaccio github
85.44
25224471412 refactor/room-metadata-sync 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 s... Pull #261 01 May 2026 05:18PM UTC LautaroPetaccio github
85.42
25223686457 refactor/room-metadata-sync refactor: extract room metadata sync and add scene admins to metadata room metadata exposed only banned addresses; clients also need the set of effective admins to render admin badges and pre-validate admin actions before hitting the gatekeeper. ... Pull #261 01 May 2026 04:57PM UTC LautaroPetaccio github
85.42
See All Builds (786)

Badge your Repo: comms-gatekeeper

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

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

Refresh
  • Settings
  • Repo on GitHub
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