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.
We cannot use filters with s2s as not sending a stanza will result skipping existing connection and creating a new one.
This also clears some of the "No hosts[from_host] (please report)" errors, but there is still one (easy to repro is we disable the jicofo locking) on join we see a presence trying to be routed using the wrong from (virtual tenant jid).
When the first visitor joins and the jicofo-lock was activated some presences had wrong from (the tenant form that needs to be only between clients and server) and was processed and sent over s2s causing some errors on the other side.
* feat(visitors): Visitors chat.
Only live chat is supported, no room history is loaded on visitor nodes.
* feat(visitors): Append display name to promotion requests.
* feat: Indicate visitor's chat messages.
* fix: Fixes preconfigure vnodes script.
* fix: Fixes few cases around routing messages.
Disables private messaging on visitor node and add anonymous name to those visitors without a pre-set name.
* fix: Fixes grouping visitor's messages and some error translations.
* squash: Fixes main.json.
* feat: Modules for implementing visitor nodes.
Still WIP, uses visitor nodes prosodies where we create the main participants and forward the visitors to watch. Used for huge conferences.
* squash: Fix comments.