Commit Graph

57 Commits

Author SHA1 Message Date
damencho
f4c61e4760 fix(prosody): Order room-destroyed event.
Make sure we execute before prosody cleans it up from the list of room. If we try to look it up after that we will not find it. If we also add at 0 we cannot guarantee the order of hook execution.
2025-11-14 14:01:12 -06:00
Дамян Минков
3fd9ce5f11 * fix(lobby): Updates metadata on destroy lobby room and let in participants on empty main.
* fix(lobby): Updates metadata on destroy lobby room.

* fix(visitors): Let people join lobby when main room is empty but with lobby.
2025-10-30 16:07:46 -05:00
Дамян Минков
99cb5e6c40 feat(metadata): Adds lobbyEnabled and visitorsEnabled to metadata. (#16583) 2025-10-28 09:20:37 -05:00
damencho
2bf0b1922f feat(visitors): Adds support for visitors voting in polls. 2025-09-26 07:04:02 -05:00
damencho
8a3129f7bf fix(visitors): Fixes checking for group.
moderator_id can have a user id or a group id, that will make all users from that group be moderators.
2025-09-09 12:17:34 -05:00
damencho
adbe990867 fix(visitors): A join case with live rooms. 2025-07-08 19:10:28 +03:00
Boris Grozev
c233629e51 fix: Do not merge participants and moderators into room metadata. 2025-07-08 06:00:35 +03:00
ltorje-8x8
be04236834 feat(visitors): Fixes nil error about 'get_visitors_room_metadata'
* Attempt to call a nil value (global 'get_visitors_room_metadata')

* make the linter happy

* more trailing whitespace + cleanup

* apply review

* use default false
2025-07-07 05:31:13 -05:00
damencho
d1328d68f2 fix(visitors): Deny access when room is not live and there is a list of participants. 2025-07-02 14:20:22 -05:00
damencho
43d5c1e3ba feat(visitors): Adds allow promotion setting per room. 2025-07-02 14:20:22 -05:00
damencho
22ed00724d fix(visitors): Checks mainMeetingParticipants array to allow joins.
squash: Change checks in find table.
2025-07-02 14:20:22 -05:00
damencho
bbbc9d1f46 fix(visitors): Updates promotion path for non jaas meetings. 2025-04-07 12:22:07 -05:00
damencho
a3d89ea66f fix(visitors): Fixes using table for moderators.
Using other types breaks memory serialization of the room.
2025-04-01 13:35:28 -05:00
damencho
bed94e6698 feat(visitors): Respects moderatorId and option to auto promote all moderators. 2025-03-31 11:49:26 -05:00
damencho
939fdf6c8e feat(visitors): Drops propagating moderator_id to visitor nodes.
It is not needed to propagate it as based on userId and the request of forcePromote we can make decision in main prosody.
2025-03-31 11:49:26 -05:00
damencho
5fd050b77f feat(prosody): Moves is_admin to util. 2025-03-17 08:43:37 -05:00
damencho
7262465777 feat(prosody): Introduces events for json messages and transcripts.
Optimizes json parsing of incoming messages. Now we do it in centralized place and firing an event.
2025-02-07 22:10:26 -06:00
damencho
ef992eaef3 fix(visitors): Fixes go live check.
We need to check whether the live field is defined ignoring its boolean value. When it is false we were ignoring it and still marking the room as live.
2024-12-02 08:29:56 -07:00
Дамян Минков
1f37e0ba8d feat(visitors): Uses metadata to save participants that were promoted. (#15215)
* feat(visitors): Uses metadata to save participants that were promoted.

* squash: fix comments.

* squash: fix comments.
2024-10-22 12:41:24 -05:00
damencho
09d57972af feat(visitors): Allow occupants switching from breakout to main room. 2024-09-20 15:31:35 -05:00
damencho
8f1c63579c feat(prosody): If room is destroyed already reply to disconnect. 2024-09-20 15:31:35 -05:00
damencho
62856b0f58 feat(prosody): Moves respond_iq_result to util. 2024-09-20 15:31:35 -05:00
Дамян Минков
ede26956e8 feat(visitors): Transcriptions for visitors. (#15119)
* feat(visitors): Transcriptions for visitors.

* squash: Fixes filter iq.

* feat: Rewrites room name requests in rayo iq for visitors.

* squash: Handles visitors count that request transcriptions and the languages requested.

* fix(subtitles): Make sure we show captions button when no features but is transcribing.
2024-09-13 18:35:34 -05:00
damencho
ad6e675b18 fix(visitors): When metadata or flag live is missing, consider live. 2024-08-30 08:09:44 -05:00
Дамян Минков
4ee613ed1f fix(visitors): Fixes going live when the meeting is created. (#14905)
* fix(visitors): Fixes going live when first moderator joins.

* squash(jwt): Drop unused field.

* squash(jwt): Fixes loading token_util for visitors component.

* squash(jwt): Validate nbf if it exists as it is optional.

* squash(visitors): Keep prefer visitor state for not live meetings.

* squash(visitors): Automatically go live only when there is a moderator in the meeting.

* squash(visitors): Automatically go live only when there is an occupant in the meeting.

* squash(visitors): Drops a debug log.

* squash(visitors): Makes sure we first disconnect before attempting a reconnect.

If the reconnect happens too quickly, before being disconnected and the conference is still not live we will detect that we are still connected and will skip connecting to visitors service, and in the next moment we will disconnect.

* squash(visitors): Slow down successful reconnects.

If a meeting was just live but was destroyed jicofo will return it is not live, but service will return that it just got live. Slows down reconnects and at some point the service will return that the meeting is not live. The drawback is that it will take some time to connect when the meeting is created and back live.

* squash(visitors): Randomize the delay up to the available value.
2024-07-11 08:42:49 -05:00
damencho
2d61c68615 fix(visitors): Adds a nil check for metadata.
The metadata initialization is skipped for healthcheck rooms.
2024-07-05 15:19:16 +03:00
Дамян Минков
f0fc63f573 feat(visitors): Handles live conference and queue service. (#14869)
* feat(visitors): Handling of live conference and queue service.

* squash: Small refactor mobile code.

* squash: Drop debug log.

* chore(deps) lib-jitsi-meet@latest

https://github.com/jitsi/lib-jitsi-meet/compare/v1836.0.0+d05325f3...v1839.0.0+ea523fc6

* squash: Adds a count function.

* squash: Drop debug print.

* squash: Skip if queueService is not enabled.

* squash: Avoids double subscribing for visitorsWaiting.

* squash: Fixes lint error.

* squash: Fixes showing dialog.
2024-06-28 07:29:41 -05:00
damencho
8ddab7464c feat(visitors): Force promote works for all moderators. 2024-06-27 16:04:32 +03:00
damencho
353c3cdd34 fix(visitors): Stops processing pre-join on error reply. 2024-05-13 12:31:15 -05:00
damencho
383b534753 feat: Introduce utility for checking sip jigasi stanzas. 2024-05-08 15:47:54 -05:00
damencho
aa9bd8c814 fix: Fixes visitors component.
In f279e63 there is some commented code that sneaked in by mistake.
2024-05-03 17:38:06 -05:00
Дамян Минков
f279e634e4 * feat(visitors): Shows notification when not-allowed error is detected.
* feat(visitors): Adds extensions to errors to distinguish them.

* feat: Shows notification when not-allowed error is detected.

* chore(deps) lib-jitsi-meet@latest

https://github.com/jitsi/lib-jitsi-meet/compare/v1822.0.0+58a91446...v1823.0.0+ec98b020

* squash: Update texts.
2024-05-03 16:30:43 -05:00
damencho
980153e299 fix: Disallow visitor joining directly to main room.
When a vpaas visitor tries to join a room that has not been created and there are no main participants, we deny access.
2024-04-26 12:09:58 -05:00
damencho
da01ca23db fix(visitors): Fixes promote all. 2024-04-16 06:20:06 -05:00
damencho
a76f9d548b feat: Move to use cjson everywhere.
We were using prosody,util.json and cjson at the same time, but the latter is more performant.
Adds some error handling which were missing with the prosody util json one.
2024-04-05 11:26:51 -05:00
Дамян Минков
643fc7e2a2 feat(visitors): Updates docs for promotion. (#14538)
* feat(visitors): Updates docs for promotion.

* squash: Update config.js comment
2024-03-26 07:18:34 -05:00
Дамян Минков
86d869a107 fix(visitors): Fixes replacing visitor domain. (#14457)
* fix(visitors): Fixes replacing visitor domain.

Constructing the visitor room jid instead of doing a risky replacement.

The problem is having a room like:
[meet-jit-si-shard]someroomname@conference.meet.jit.si and replacing with 'meet.jit.si', the dots match the -.
2024-03-08 13:08:01 -06:00
damencho
c8cd80a8df feat(visitors): Checks for visitors support per room. 2024-03-04 13:18:04 -06:00
damencho
f1d4332668 feat(visitors): Adds an option to demote participants to visitors. 2024-03-04 13:18:04 -06:00
damencho
aa8bb55f3e feat(visitors): Drops not-used messages. 2024-03-04 13:18:04 -06:00
damencho
58b73e21de fix(visitors): Fixes missing import. 2024-03-04 13:18:04 -06:00
damencho
b1c955890a feat(visitors): Admit all function. 2024-03-04 13:18:04 -06:00
damencho
78cf510c0b feat: Moves common process_host_module to util. 2024-02-06 10:16:30 -06:00
damencho
b23f3b9e17 feat(visitors): Whitelist trusted domains when promoting. 2024-02-02 12:01:59 -06:00
damencho
0a0b0a760e fix: Fixes promoting the only moderator in a non vpass meeting. 2024-01-31 17:53:16 -06:00
damencho
29b2a519b3 fix(visitors): Handles promotion rejection msg.
If not handled an error is returned that the stanza is not handled (service-unavailable error) and displayed in UI.
2024-01-31 07:37:43 -06:00
Дамян Минков
5871e50a20 * feat: Stores vpaas check in room object.
* feat: Clear queues on destroy for muc rate limit join/leave.

* feat: Stores vpaas check in room object.

* squash: Replace one regexp with starts_with.
2024-01-22 11:48:35 -06:00
damencho
8247f478f4 feat: Adds a nil check for occupants joining as moderators. 2023-12-19 16:07:45 -06:00
Дамян Минков
9ebab2c7d0 feat: Visitors promotion (#14119)
* fix: Fixes wrong warning message.

* fix: Detect enables/disables visitors for a room.

* fix: We need customusername in all cases of auto-allow setting.

* feat: Sends promotion-request to all moderators.

* feat(visitors): Implements request promotion.

* feat(visitors): Implements single moderator and vpass cases for moderators.

* fix: Fixes clearing request instances from UI.

* feat: Implements visitors approval for mobile.

* squash: Drops unused and wrong report for auto allow promotion.

* squash: Returns early based on count.

* squash: Moves translation to common key.

* squash: Adds dependencies for useCallback.

* squash: comments.

* squash: Refactor 1 to unify with native.

* squash: Rename some styles.

* squash: Fixes error dew to fewer hooks error.

* squash: Renames VISITOR_PROMOTION_REQUEST_DENIED.

* squash: Fix renaming component.

* squash: Suggestions.
2023-12-14 08:31:58 -06:00
damencho
13323e423e feat: Ignores list of domains when checking for visitors and promotion. 2023-07-07 14:44:59 -05:00