* 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.
* fix(transcriptions): Uses dial command to invite transcriber.
* fix(transcriptions,recording): Allows non moderators with features to dial, record or transcribe.
* sqaush: Make sure filtering works when only is a moderator.
It works now and without a token and no features, but being moderator.
* squash: Rename constant.
* squash: Checks features first before defaulting to moderator when filtering metadata service.
* squash: Checks features first before defaulting to moderator in UI.
* squash: Fixes lint and one other check.
* squash: Moves more logic to is_feature_allowed.
* squash: Drops unnecessary check.
* squash: Uses constant coming from ljm.
* squash: Toggles back captions button on error.
* squash: Fix comment.
* squash: Reverting back isLiveStreamingButtonVisible.
* squash: Fix imports.
* 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.
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.
* 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.
* 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.
* 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.
* 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...
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.
* 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
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.
* 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.