When any of the backend is used 'anonymous', 'jitsi-anonymous', 'internal_hashed', 'internal_plain', 'cyrus' and a participant becomes a moderator, because of external module or because set from jicofo we send to client with the self-presence about becoming moderator a default set of permissions which can be controlled via prosody config.
If using 'token' authentication the above applies only if there is a token and the token does not contain context.features.
* 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.
* feat(invite) add email value in peopleSearchQueryTypes and peopleSearchToken config
* feat(invite) pass custom auth token in search directory (e. g. for email directory)
* feat(invite) autocomplete and invitations working with custom auth token (e. g. email invite type), invite icons updated
* feat(invite) remove newly documented config from undocumented settings list
* feat(invite) jwt are now passed in the invite requests headers
* feat(invite) linter-related formatting
* feat(invite) fix default user icon regression
* feat(invite) last lint issues
* feat(invite) pass alternate token in header, not in params
* Fixes lint error
---------
Co-authored-by: Raphaël Badawi <raphael.badawi@ceo-vision.com>
Co-authored-by: Дамян Минков <damencho@jitsi.org>