Sometimes jicofo may leave before the disconnect iq reaches the visitor prosody, that will cause a reload for all visitors instead of a dialog for conference ended.
* 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: 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.
* fix: Adds check for jitsi_meet_room not being string.
Oct 20 12:22:50 mod_bosh error Traceback[bosh]: /usr/share/jitsi-meet/prosody-plugins/token/util.lib.lua:336: bad argument #1 to 'lower' (string expected, got userdata)
stack traceback:
[C]: in function 'lower'
/usr/share/jitsi-meet/prosody-plugins/token/util.lib.lua:336: in function 'verify_room'
...re/jitsi-meet/prosody-plugins/mod_token_verification.lua:78: in function 'verify_user'
* fix: Adds check for missing speaker stats for occupant.
error Traceback[c2s]: ...itsi-meet/prosody-plugins/mod_speakerstats_component.lua:124: attempt to index field '?' (a nil value)
stack traceback:
...itsi-meet/prosody-plugins/mod_speakerstats_component.lua:124: in function '?'
* fix: Nil check for breakout_rooms.
c2saaaad95a16c0 error Traceback[c2s]: ...re/jitsi-meet/prosody-plugins/mod_muc_breakout_rooms.lua:345: attempt to index local 'main_room' (a nil value)
stack traceback:
...re/jitsi-meet/prosody-plugins/mod_muc_breakout_rooms.lua:345: in function '?'
/usr/share/lua/5.2/prosody/util/events.lua:81: in function </usr/share/lua/5.2/prosody/util/events.lua:77>
(...tail calls...)
/usr/lib/prosody/modules/muc/muc.lib.lua:496: in function </usr/lib/prosody/modules/muc/muc.lib.lua:492>
* fix: Adds nil check in allowners.
c2saaaae3024810 error Traceback[c2s]: /usr/share/jitsi-meet/prosody-plugins/mod_muc_allowners.lua:171: attempt to index local 'room' (a nil value)
stack traceback:
/usr/share/jitsi-meet/prosody-plugins/mod_muc_allowners.lua:171: in function '?'
/usr/share/lua/5.2/prosody/util/events.lua:81: in function </usr/share/lua/5.2/prosody/util/events.lua:77>
* fix: Adds nil check in lobby.
mod_bosh error Traceback[bosh]: ...share/jitsi-meet/prosody-plugins/mod_muc_lobby_rooms.lua:168: attempt to index local 'lobby_room' (a nil value)
stack traceback:
...share/jitsi-meet/prosody-plugins/mod_muc_lobby_rooms.lua:168: in function '?'
/usr/share/lua/5.2/prosody/util/filters.lua:25: in function 'filter'
/usr/lib/prosody/modules/mod_bosh.lua:361: in function 'send'
/usr/lib/prosody/modules/muc/mod_muc.lua:495: in function '?'
* fix: Fixes nil error in fmuc.
s2sinaaaaf2817260 error Traceback[s2s]: /usr/share/jitsi-meet/prosody-plugins/mod_fmuc.lua:295: attempt to index local 'occupant' (a nil value)
stack traceback:
/usr/share/jitsi-meet/prosody-plugins/mod_fmuc.lua:295: in function '?'
/usr/share/lua/5.2/prosody/util/events.lua:81: in function </usr/share/lua/5.2/prosody/util/events.lua:77>
(...tail calls...)
/usr/lib/prosody/modules/muc/muc.lib.lua:1201: in function </usr/lib/prosody/modules/muc/muc.lib.lua:1194>
* fix: Fixes nil occupant.
c2s55f4d5411dd0 error Traceback[c2s]: /usr/share/jitsi-meet/prosody-plugins/mod_muc_flip.lua:120: attempt to index local 'kicked_occupant' (a nil value)
stack traceback:
/usr/share/jitsi-meet/prosody-plugins/mod_muc_flip.lua:120: in function '?'
/usr/share/lua/5.2/prosody/util/events.lua:81: in function </usr/share/lua/5.2/prosody/util/events.lua:77>
(...tail calls...)
/usr/lib/prosody/modules/muc/muc.lib.lua:791: in function </usr/lib/prosody/modules/muc/muc.lib.lua:616>
* fix: Fixes caching main room.
Objects should not be set in room._data as this field is being serialized and we see errors like.
error Traceback[c2s]: /usr/share/lua/5.2/prosody/util/serialization.lua:34: Can't serialize userdata
stack traceback:
[C]: in function 'error'
/usr/share/lua/5.2/prosody/util/serialization.lua:34: in function </usr/share/lua/5.2/prosody/util/serialization.lua:33>
(...tail calls...)
/usr/share/lua/5.2/prosody/util/serialization.lua:199: in function 'serialize_table'
/usr/share/lua/5.2/prosody/util/serialization.lua:197: in function 'serialize_table'
/usr/share/lua/5.2/prosody/util/serialization.lua:197: in function 'serialize_table'
/usr/share/lua/5.2/prosody/util/serialization.lua:219: in function </usr/share/lua/5.2/prosody/util/serialization.lua:217>
(...tail calls...)
/usr/lib/prosody/modules/mod_storage_memory.lua:42: in function </usr/lib/prosody/modules/mod_storage_memory.lua:40>
(...tail calls...)
...re/jitsi-meet/prosody-plugins/mod_muc_breakout_rooms.lua:207: in function 'create_breakout_room'
* fix: Fixes calling save_occupant after changing its role.
* squash: Fixed passed value to type.
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.
Drops destroy room for no main participants from vnode. In case of breakout rooms we can end up with nobody in the main room for some time, till they are back from the breakout rooms.
* feat(visitors): Handles locked rooms for visitors.
* squash: Handle locked room password on promotion.
* squash: quotes.
* squash: Renames main_domain to local_domain.
* squash: Renames fmuc_main_domain to main_domain.
Adds required config to point to the main virtual host of the main prosody. There are cases when the first visitor tries to join and there are not main participants as they are in the queue waiting for the vnode connect message and we cannot get dynamically the main domain.
* squash: Fix check for main_domain config.
Will destroy room immediately when there are no main participant, cause anyway the main room will be destroyed and jicofo will leave this room.
Visitors will reload when seeing jicofo leaving.
When there are no visitors we give 15 seconds for them to connect and after that we destroy the room.
* fix: Fixes mac occupants check logic.
Now works and with missing muc_access_whitelist option.
* feat: Adds visitor stats.
* squash: Drops check for healthcheck room.
* 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.
* 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: 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.