Commit Graph

40 Commits

Author SHA1 Message Date
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
Дамян Минков
b6b77f55f1 feat: Drops some debug prints. (#14311)
* feat: Drops some debug prints.

* squash: Fix linter errors.
2024-02-02 11:11:50 -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
Дамян Минков
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
c4d553c605 feat: Filter iq rayo respects the actor of grant moderation. 2023-10-18 14:00:21 -05:00
damencho
1f8e3fe26f fix: Fixes wait for host to respect moderated tenants.
The correct place to check for tenant value is jitsi_meet_domain and not jitsi_meet_context_group.
2023-09-29 09:54:02 -05:00
rca
01a74856a3 Fix missing closing tag for identity node in presence stanza 2023-09-11 10:03:09 -05:00
damencho
e58cad0464 feat: Adds option for a url to list of pub keys for jwt to pre-fetch.
The URL is a link to a json file having a mapping kid -> public key.
The mapping can contain also certificates, which will be used to get the public key.
The list is being updated before the cache-control max-age header value is reached, if such a header is returned from the server.
2023-07-26 12:19:02 -05:00
Дамян Минков
e772831f7c feat(visitors): Fix creating breakout rooms for promoted visitor. (#13188)
* feat(visitors): Fix creating breakout rooms for promoted visitor.

* squash: Drop caching as we hardcode the nick.
2023-04-07 22:47:13 -05:00
Дамян Минков
1c04a41081 fix(visitors): Visitor updates - request to participate (#13106)
* fix(visitors): Updates docs and instructions.

* fix(visitors): Show counter only for main participants.

* fix(visitors): Skip showing the label even for 0 visitors.

It was showing 0 when visitor count down back to 0.

* feat(visitors): Small optimization for jid.split calls.

* fix: Fix skipping properties changed received before conference joined.

* fix(visitors): Propagates newly joined participants to visitor nodes.

* feat(visitors): When iAmVisitor is set, subtract visitor from participants count.

* feat(visitors): Visitors request to participate impl.

Adds option for auto promotion setting which is the only one available at the moment.

* squash: Fix comments.

* squash: Fix default case when vnode is missing.
2023-03-24 11:54:11 -05:00
emrah
46f1cb7b4b feat(ci) add luacheck 2023-01-24 14:58:43 +01:00
Дамян Минков
744960bb1a feat: Several module optimizations to avoid constant parsing of jids. (#12594)
* feat: Several module optimizations to avoid constant parsing of jids.

Caches the parsed values in a rotating table with limited size.
Skips constant creating of a stanza with never changing values - create it once and then just clone it.

* squash: Fixes extract_subdomain multiple values.

* squash: Fix table values when there is a nil element.

* squash: Fix skipping the roomless IQs.

* squash: Fix comments.
2022-11-28 14:18:59 -06:00
luzpaz
c7f96de787 fix(misc) fix typos
Found via `codespell -q 3 -S ./lang -L miliseconds`
2022-07-14 09:10:08 +02:00
Дамян Минков
4d51aedde0 feat: Adds room info http endpoint jwt protected. (#11738)
* feat: Adds room info http endpoint jwt protected.

Used from dialplan from jigasi for handling passwords in IVR.

* squash: Fixes comments.

* squash: nginx api/rom-info

* fix: Skips tenant checks when enableDomainVerification is false.

* squash: Drops duplicate code and supports multi-shards.

By adding room= parameter in query and tenant prefix for the api we add support for multi-shards setup.

* feat: Enable domain verification by default.

This is used when verifying room access with token_verification module.

* squash: Update docs.
2022-07-12 09:51:13 +03:00
alexbratu92
0c187f180f call module that checks the jwt against the access service 2021-10-04 14:11:54 -05:00
damencho
53cea31bb8 fix: Clear prosody utils and removes a debug statement. 2021-06-22 09:44:26 +03:00
damencho
a39f2aebd9 fix: Fixes handling tenant in util and lobby. 2021-05-13 13:52:45 -05:00
Дамян Минков
5c08b1ec5b feat: A/V moderation (prosody module) (#9106)
* feat(prosody-modules): Moves a function for getting room to util.

* feat: Audio/Video moderation.

* squash: Fix docs.

* squash: Changes a field name in the message for adding jid to whitelist.

* squash: Moves to boolean from boolean string.

* squash: Only moderators get whitelist on join.

* squash: Check whether in room and moderator.

* squash: Send to participants only message about approval.

Skips sending the whole list.

* feat: Separates enable/disable by media type.

Adds actor to the messages to inform who enabled it.

* squash: Fixes reporting disable of the feature.

* squash: Fixes init of av_moderation_actors.

* squash: Fixes av_moderation_actor jid to be room jid.

* squash: Fixes comments.

* squash: Fixes warning about shadowing definition.

* squash: Updates ljm.

* fix: Fixes auto-granting from jicofo.

* squash: Further simplify...
2021-05-12 16:36:02 -05:00
damencho
b559cb8ec6 feat: Move checks for moderator in pre-join and filter extra presences.
We will filter the initial presence where participant is announced as `participant` and shortly after that we send a second presence with the new `moderator` role.
2021-03-08 16:01:32 -06:00
Andrei Bora
898eca86d5 Make jwt accept boolean values for features 2020-11-23 11:34:34 -06:00
Andrei Bora
c4ef7d8601 Fix get subdomain function 2020-11-11 08:37:35 -06:00
damencho
895c92217a fix: Optimizes hot paths in prosody modules, string comparisons. 2020-11-06 13:33:14 -06:00
Andrei Bora
50997ae6ac Stringify boolean values from jwt user context 2020-11-06 06:15:45 -06:00
Дамян Минков
9f65ae52f1 fix: Prosody modules - drop unused and duplicate code and drop chatty debug statements (#8027)
* chore: Updates mod_smacks.lua version to latest.

https://hg.prosody.im/prosody-modules/file/db75772afb28/mod_smacks/mod_smacks.lua

* Drop unused modules.

* Update docs.

* Move utility functions away from domain mapper.

* Remove some chatty debug log messages.

* Drops not needed patch for mod_websocket.
2020-11-04 08:25:03 -06:00
Andrei Bora
af71d80150 Fix call after timeout 2020-08-19 17:38:40 +03:00
Andrei Bora
b765adca75 Solve review issues and add retries for http call 2020-08-19 17:11:18 +03:00
Aaron van Meerten
25ded0bdeb prosody modules: add util function for rewritesplit JID 2020-07-14 16:49:51 -04:00
Boris Grozev
76e1217439 ref: Make is_healthcheck_room more generic. 2020-05-12 18:22:14 -05:00
damencho
eea8fef044 Initial Lobby backend implementation. 2020-04-30 16:34:46 -05:00
Aaron van Meerten
710307725b fixes async_handler_wrapper (#5001)
* fixes async_handler_wrapper

adds missing runner variable from async to async_handler_wrapper
removes redundant have_async definition in wrap_async_run, defined at top of module

* only use async handler wrapper,
remove async_wrap_run
2020-01-23 19:31:05 +00:00
damencho
b4be1bcd05 Adds some checks about async.
There are modules that will not work with prosody 0.10 as they depend on util.async. Adds a safeguard and print error about it in the logs.
And others that just do not work because of the muc module API that they use.
2019-12-10 10:55:56 +01:00
jmacelroy
944cf4272d Creating a new async prosody http wrapper. 2018-07-16 21:58:48 +00:00
damencho
d12afc5c07 Fixes the room size api which returns string result back to client. 2018-07-09 13:44:24 -05:00
Дамян Минков
ac834326e7 Token based features (#3075)
* Adds an option to disable features based on token data.

Reverts changes from b84e910086, removes disableDesktopSharing option and an interface_config option.

* Disable recording button based on token features data.

Hide recording if local participant isGuest and roles based on token.
When enableUserRolesBasedOnToken is enabled we were not hiding the record button for guests.

* Adds filtering of jibri iqs and rayo based on features.

Moves feature checking in separate utility function.
Renames utility method.

* Adds a footer text when outbound-call is not feature enabled.

* Fixes comments.
2018-06-15 13:10:22 -05:00
Jacob MacElroy
fa9a4480e6 Fixing an issue with asnyc http request handlers.
The current poltergeist http api immediately returns
and does not wait for async work in the handler to finish. This
mostly occurs when a public asap key needs to be fetched due
to a cache miss. The fix implements the strategy described at
https://prosody.im/doc/developers/http.html
2018-05-30 11:41:44 -05:00
Дамян Минков
6cc8800016 Update poltergeist's presence with identity information. (#2650) 2018-03-23 13:58:05 -07:00
damencho
360283aa34 Adds multidomain support to rayo filter module. 2017-08-22 15:00:40 -05:00
Aaron van Meerten
22e9dc9893 Handles async context for all poltergeists
set up async context for all poltergeist calls
utils lib now has async wrapper for event handlers
2017-07-20 15:56:45 -05:00
damencho
2b1e8cdeff Creates util for modules and adds method get_room_from_jid in it. 2017-07-14 22:03:36 -05:00