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

decentraland / comms-gatekeeper / 24415762924
85%

Build:
DEFAULT BRANCH: main
Ran 14 Apr 2026 06:23PM 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

14 Apr 2026 06:21PM UTC coverage: 83.579% (+1.3%) from 82.323%
24415762924

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)

1018 of 1337 branches covered (76.14%)

Branch coverage included in aggregate %.

214 of 242 new or added lines in 16 files covered. (88.43%)

2845 of 3285 relevant lines covered (86.61%)

41.77 hits per line

Uncovered Changes

Lines Coverage ∆ File
9
83.96
-4.44% src/adapters/livekit.ts
8
78.5
-2.45% src/controllers/handlers/comms-scene-handler.ts
7
89.67
-1.24% src/logic/cast/cast.ts
1
92.59
src/controllers/handlers/cast/demote-presenter-handler.ts
1
73.33
src/controllers/handlers/cast/get-presenters-handler.ts
1
92.59
src/controllers/handlers/cast/promote-presenter-handler.ts
1
89.29
-5.71% src/controllers/handlers/error-handler.ts
Jobs
ID Job ID Ran Files Coverage
1 24415762924.1 14 Apr 2026 06:23PM UTC 290
84.77
GitHub Action Run
Source Files on build 24415762924
  • Tree
  • List 145
  • Changed 95
  • Source Changed 11
  • Coverage Changed 95
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #24415762924
  • f5b99135 on github
  • Prev Build on 2.24.0 (#24189257599)
  • Next Build on main (#24459341826)
  • 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