Hello Team, I’m not entirely sure if this is the r...
# server-api
m
Hello Team, I’m not entirely sure if this is the right place to ask, but I’d appreciate some clarification on LiveKit room permissions. Context: I’m building a meeting service on top of LiveKit and rely heavily on room-level permissions. One of the requirements is to allow a user to join a meeting in a “waiting” state. During this state, the user should not be able to publish or receive any audio, video, or data until explicitly granted permission. Initially, I generated the user’s token with
canSubscribe
set to
false
. This correctly prevented them from receiving audio/video tracks. However, I noticed that the user can still receive messages sent to all participants through the data channel. I had assumed that
canSubscribe
would apply to all track types, including data. So my question is: Am I misunderstanding how
canSubscribe
is intended to work, or is there a specific reason data channel messages are treated differently?
r
I know folks have implemented a "lobby" using LiveKit that does essentially what you are describing. My first though is to mark them as
hidden
when they join the room so others will not see them in the room. I will ask internally to see if someone with more knowledge of that part of the system than I do has a better answer.
m
Yeah that was our first thought too and it worked great until we noticed waiting users can listen to data channel. We’ve implemented a lobby using our backend to manage the waiting users but using livekit apis would be more efficient and easier to maintain. Appreciate the help