* 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: 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.
* fix: Fix log message.
From `general error No muc_component specified` to `endconference.meet.damencho.net:end_conference error No muc_component specified`
* squash: more.
* feat(reservations) support enabling lobby and password based on reservations data
* Add warning about unhandled use case
* feat(lobby) Support automated activation of lobby
* feat: Adds LE choice when installing debian package.
* Update debian/jitsi-meet-web-config.templates
Co-authored-by: raluca8x8 <raluca.tocmag@8x8.com>
* squash: Print in the console the JaaS link everytime.
* squash: Note that JaaS does not support self-signed certs.
* squash: Fix message.
* squash: Moves acme.sh stuff into a script, so it is easy to re-run.
Co-authored-by: raluca8x8 <raluca.tocmag@8x8.com>
When using directly log( the log lines come from `general` not from the module itself.
`Aug 29 19:38:08 general info Starting speakerstats for conference...`
* 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.
* fix: Drops wrong x tag.
* fix: Generates correct join error for lobby.
We were adding lobbyroom element in a location that violates the rfc and xmpp errors.
We add now and the correct one and will drop the wrong node when all clients are updated.
https://datatracker.ietf.org/doc/html/draft-ietf-xmpp-3920bis#section-8.3.2
* squash: Add todo comment.
* squash: Updates namespace.
By the time the timer is fired the room maybe recreated (destroyed and created again) and we do not want to destroy it again. The timer was keeping a reference to the old room and is destroying it without notifying the future occupants(jicofo).
Drop save, as we do not need it before destroying, check lobby.
Same applies to tenant names as it applies to room names, as the
tenants/subdomains are prefixed to the room names in prosody.
Signed-off-by: Christoph Settgast <csett86@web.de>
rooms are created in prosody in their urlencoded form, eg täst
becomes t%c3%a4st@conference.jitsi.example.org
As local params = formdecode(query) contains an urldecode, we
need to reencode the room name so that the room can be found in
prosody.
Closes: #10525
Signed-off-by: Christoph Settgast <csett86@web.de>
Breakout rooms are just reserved UUIDs, they need not exist as actual MUCs,
until a participant joins. Thus, take this into account when checking if a
participant is in a room.