Hi, I have done some modifications in lib-jitsi-meet Lobby.js file.
when a new participant joining in a lobby room, I want to add that knocking member to lobby member join screen. Moderator can see all knocking participants, I also want that for lobby users.
this.lobbyRoom.addEventListener(
XMPPEvents.MUC_MEMBER_JOINED,
// eslint-disable-next-line max-params
(from, nick, role, isHiddenDomain, statsID, status, identity, botType, jid) => {
// we need to ignore joins on lobby for participants that are already in the main room
console.log('In lobby MUC_MEMBER_JOINED event');
// we emit the new event on the main room so we can propagate
// events to the conference
this.lobbyRoom.eventEmitter.emit(
XMPPEvents.MUC_LOBBY_MEMBER_JOINED,
Strophe.getResourceFromJid(from),
nick,
identity ? identity.avatar : undefined
);
});
I have added this : this.lobbyRoom.eventEmitter.emit(XMPPEvents.MUC_LOBBY_MEMBER_JOINED) event .
Now, how can I capture this in Jitsi meet frontend and update the knocking participant list for Lobby room user.
And also, is this event emitter alright from lib-jitsi-meet to handle this action?
Thank you for any help.
yes, got this on jitsi meet, but this event triggers for only moderators, but not for lobby users, can you tell how to capture events for lobby room user also?
ok, now I have got it. I have to add
membersOnly.on(JitsiConferenceEvents.LOBBY_USER_JOINED, (id, name) => {});
event listener to catch the events
conference.on only catches the events in main room
Now, lobby member can see other waiting members in his waiting room.
Will this raise any security concern? I mean as lobby members now can get each other’s presence , so I am not sure is there any unwanted issue/ security fault may occur?
it depends on your security requirements - If some events are so confidential that the participant list is not to be known to the public, this could be an issue.
I have enabled other lobby participant presence from this file. I’ve removed the filter where only moderator can receive presence. so now other lobby member can also receive waiting member’s presence.
-- check is an owner, only owners can receive the presence
--local room = main_muc_service.get_room_from_jid(jid_bare(node .. '@' .. main_muc_component_config));
--if not room or room.get_affiliation(room, stanza.attr.to) == 'owner' then
--return stanza;
--end
--return nil;