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

decentraland / comms-gatekeeper / 24415762924 / 1
85%
main: 85%

Build:
DEFAULT BRANCH: main
Ran 14 Apr 2026 06:23PM UTC
Files 290
Run time 9s
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

14 Apr 2026 06:21PM UTC coverage: 84.766% (+1.2%) from 83.611%
24415762924.1

push

github

web-flow
feat: presentation bot token and presenter management endpoints (#249)

* feat: add presentation bot token endpoint and local preview support

* feat: add presenter management endpoints (promote/demote/list)

Add REST endpoints for scene admins to manage presenters in cast rooms:
- POST /cast/presenter to promote a participant to presenter role
- DELETE /cast/presenter to demote a presenter back to watcher
- GET /cast/presenter to list current presenters in a room

Authorization checks ensure only scene admins can manage presenters.
Also sets canUpdateOwnMetadata=false for watchers to prevent metadata
impersonation.

* docs: add presentation-bot-token and presenter endpoints to OpenAPI spec

Document the new /cast/presentation-bot-token and /cast/presenter
endpoints with their request/response schemas.

* test: add integration tests for presenter handler and comms-scene presenter metadata

Add integration tests for:
- presenter-handler: GET/POST/DELETE with auth and error cases
- comms-scene-handler: presenter metadata for admins, non-admins, and
  fail-open on admin check failure

Also only pass skipAdminCheck to generateStreamLink when in preview
mode, keeping the call signature clean for production requests.

* refactor: introduce cast domain errors and remove handler try/catch

Replace UnauthorizedError usage in cast component with domain-specific
errors (InvalidStreamingKeyError, ExpiredStreamingKeyError, etc.).
Error-handler middleware now catches these directly, removing manual
try/catch from cast handlers. Also switches validatePresenterAdmin to
use sceneManager.isSceneOwnerOrAdmin for broader permission checks,
sets canUpdateOwnMetadata: false on streamer and bot tokens, and adds
local preview bypass for presenter admin validation.

* refactor: move ALLOW_LOCAL_PREVIEW check into livekit.isLocalPreview

The config flag is now checked inside the LiveKit component, removing
duplicate config reads from handlers. Also splits generateStreamLink
in... (continued)

1093 of 1432 branches covered (76.33%)

Branch coverage included in aggregate %.

5690 of 6570 relevant lines covered (86.61%)

20.89 hits per line

Source Files on job 24415762924.1
  • Tree
  • List 290
  • Changed 95
  • Source Changed 11
  • Coverage Changed 95
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 24415762924
  • f5b99135 on github
  • Prev Job for on main (#24189257599.1)
  • Next Job for on main (#24459341826.1)
  • 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